GRAPHICS

 engineer

 =

bars
 "Richard Palacio" 
semicolon

Source code is in the source folder of the un-zipped files or on GitHub

DirectX 11 Gerstner waves video

C++ language DirectX 11 HLSL Gerstner Waves. A 4x4 grid plane with 32 triangles is tessellated in the geometry shader using triangle subdivision. A triangle strip is created by iterating left to right, and bottom up. The output grid has 1,152 triangles, each vertice is then passed onto the water simulation function in the geometry shader. The water simulation is my implementation of GPUGems: Effective Water Simulation from Physical Models. I choose to simulate deep water waves in this demo. The TBN matrix generated from the simulation is passed on to the pixel shader where it is used for lighting.

DirectX 11 Water caustics video

DirectX 11 HLSL water caustics. My implementation of GPUGems: Rendering Water Caustics. Multiple cos waves with different octaves are combined. Differentiating the summed wave gives partial derivates that form the gradient of the wave surface. Using the gradient and the distance from the ocean floor to the wave surface I sample caustic texture A, then phase shift the waves and repeat the process with caustic texture B, then modulate the results.

3D world project demo video

.zip file

C++ language DirectX/HLSL windows executable. Windows 3D world personal project with procedurally generated terrain, crates, and entities. Adjustable camera coordinate system that attaches to currently active entity. Entities contain axis-aligned spherical bounding box alpha-blended for visualization.
Run the .exe file inside the un-zipped folder. Press w,a,s,d or up,down,left,right, arrow keys to move the character, pageup/pagedown to tilt up and down, move the mouse wheel to zoom in and out, tab switches characters (camera attachment), right click switches between fullscreen and windowed mode

OpenGL DXBall demo video

.zip file

C++ language OpenGL/GLEW/. DXBall 3D game. first-person camera and/or orbital camera rotation about board origin. Player controls a paddle at the bottom and deflects a single ball, hitting different colored blocks on the top of the screen without having the ball fall below the screen. Clearing all the blocks results in completing the game. Run the .exe file inside the un-zipped folder

OpenGL particle effects demo video

.zip file

C language OpenGL/GLEW/GLSL particle effects. keyboard keys 'M' switch between Fire and Confetti particle effects, 'A' show/hides the cartesian basis vectors. Up, left, right, down keys move camera around the cartesian basis vectors. Confetti cannon uses only vertex shader to compute position as function of time: x1=x0+vt+at^2. Fire particles blend texture with color in fragment shader, vertex shader contracts x,z components as y increases as a function of time and sets color to (r,r-yInverse,z) Run the .exe file inside the un-zipped folder

WebGL Borderlands model demo video

Gouraud shading, WebGL borderlands model rendered with textures and a revolving point light source whose local space is in a cylindrical coordinate system that rotates around the cartisian y-axis through an incrementing theta. Click and drag with the mouse on the canvas to rotate the model. Use the mouse wheel to zoom in and out.

"World Engine" video

.zip file

Graphics Engine I wrote without OpenGL or DirectX API's. "World Engine" transforms models from model space to world space to view space. Then in projection space it does clipping, using window width/height, and culling, using triangle winding order, it then does the homogenous divide then to viewport space with the viewport being the screen and finally transforms it into screen space. Displaying the engine with a BuzzLightYear model, exported to a .obj file format, parsed by the engine.

Home

Copyright 2014 - 2024 by Richard Palacio. Designed by Kyoko Palacio -- V1