This project implements a grass simulator and renderer using Vulkan. Each grass blade is represented by a quadratic Bezier curve, and physics calculations are performed on these control points in a compute shader. Since rendering every grass blade is computationally expensive, grass blade that do not contribute to a frame are culled in the computer shader. Visible bezier representaions of grass blades are sent to a grass graphics pipeline where the Bezier control points are transformed, geometry is created in tesselations shaders, and the grass is shaded in the fragment shader.
Skills
Vulkan, C++, Compute Shader, Physically Based Simulation
Tools:
RenderDoc
What I learned:
∙ Created car model, using Addon to do car rigging.
∙ Achieved knowledge on how to texturing objects.
∙ How to do animation and lighting in Unreal 5.
Responsible for:
Responsible for texturing, lighting, animation, rigging, and modeling.
Vulkan, C++, Compute Shader, Physically Based Simulation
Tools:
RenderDoc
What I learned:
∙ Created car model, using Addon to do car rigging.
∙ Achieved knowledge on how to texturing objects.
∙ How to do animation and lighting in Unreal 5.
Responsible for:
Responsible for texturing, lighting, animation, rigging, and modeling.
Utilized Blender and Maya for object and character modeling, and performed animation and lighting tasks using Unreal Engine 5.
Force
Wind :
Recovery :
Collision :
Gravity :
Responsible for texturing, lighting, animation, rigging, and modeling. Utilized Blender and Maya for object and character modeling, and performed animation and lighting tasks using Unreal Engine 5
Orientation Culling
View-Frustum Culling
Distance Culling
Performance Analysis