Home

Awesome

Vulkan-Forest-Rendering-Engine


Overview

Final Rendering
<img src="./results/final02.JPG" width="1200" height="450">

Features

WindZone

Multiple LOD Strategy

LOD & Frustum Culling using Compute Shader

Morphing

Density Multiplication

Density Multiplication
<img src="./results/density.gif" width="1200" height="500">
CloseDistant
<img src="./results/density01.JPG" width="500" height="300"><img src="./results/density02.JPG" width="500" height="300">

Day & Night Cycle

Day & Night (10s)
<img src="./results/day_night_cycle.gif" width="1000" height="600">

Performance Analysis

Compute Shader Culling vs No Culling

To improve the rendering efficiency, we implement the compute shader culling to filter out the trees that we don't need to render for the current frame and render them as billboard or directly ignore them. We implement 2 kinds of culling, frustrum culling and distance culling. Here is the performance analysis.

Distance LOD culling

Distance culling can improve the overall efficiency when the camera is far away from the forest(God view). It will filter out the trees that are far away from the camera.

Distance Culling can bring benefits on both memory and rendering speed. For memory benefits, only the trees that is very near to the camera will be rendered as actual tree models( 4000+ vertices each) and the trees that is far away will be rendered as billboard(4 vertices each). We make a simple table to show the benefits

<img src="./results/Mermory Analysis.PNG" width="750" height="350">

And here is the overall rendering efficiency plot

<img src="./results/Distance LODvsNo culling.PNG" width="750" height="450">

Density Multiplication vs No DM

Density multiplication is used to provide better view effect of the forest. Different from LOD, the density multiplication works on the density of trees instead of the detail of the tree model. The technique produce multiple fake trees around each actual tree model when the camera is far away, and delete those fake tree and only shows actual tree models when the camera is near to the forest. When camera is far away from the forest, you can see a great forest coverage.When you actually walk into the forest, the number of actual tree models is not that many but it is not easy to identify. Here are the effects of Density Multiplication. The memory cost is somehow similar with the memory discussion in Distance LOD culling part and here we will only compare the fps.

DMNo DM
<img src="./results/DensityMultiplicationFar.PNG" width="500" height="250"><img src="./results/NoDensityMultiplicationFar.PNG" width="500" height="250">
------
<img src="./results/DensityMultiplicationNear.PNG" width="500" height="250"><img src="./results/NoDensityMultiplicationNear.PNG" width="500" height="250">
<img src="./results/DensityMultiplication2.PNG" width="750" height="450">

As the plot and picture shows, when the camera is far away from the forest, there is no great visual and efficiency difference between using and not using DM, but when the camera get closer to forest, DM will show its benefits, because less trees need to be rendered.

Credits