The weather is getting warmer, so we felt it was time to have a brisk walk along the lake. But this lake is digital. We're happy to share the latest Cocos graphics rendering project, "Lake," with the community and hope you love the relaxing view!
"Lake" is based on Cocos Creator 3.4.1, using high-quality planar reflection, GodRay/LightShaft, SSAO, FSR super-resolution, and other technologies. You'll be able to feel the bright warm sun, the water lilies, and a panoramic view.
Developers can test out the demo on their PC or mobile phone by clicking on the link below. We provide hundreds of debugging options for developers to debug freely!
https://preview.cocos.com/lake/index.html
Let's take a look at what technologies are used in "Lake":
High-quality flat reflections
"Lake" implements high-quality planar reflections and can dynamically adjust the reflection resolution to achieve higher frame rates. Generally, SSR or SSPR are used for plane reflection in games, but this screen-based post-processing scheme can only produce reflection effects on objects in the rendered picture. For example, if you look down at the lake, The camera cannot reflect the sky. However, there is no such limitation based on the reflection camera technology, and an excellent rendering effect can be achieved.
However, its disadvantage is that the performance consumption is enormous, and the more intuitive cost is that the reflected objects have to be rendered again. After reducing the resolution of the screen reflection, combined with TAA to minimize aliasing and FSR to improve the rendering quality, the screen reflection can get good results with acceptable performance consumption.
GodRay/LightShaft simulation beam
GodRay/LightShaft in screen space is also a solution for simulating light and shadow details at a lower cost. First, a light and shade map is calculated in the preprocessing stage. In the Demo, the brightness on the skybox is selected as the brightness information, and the part obstructed by other objects is removed. Then, do a radial blur effect centered on the light source position and superimpose it on the lighting result.
SSAO shadow optimization
SSAO (Screen Space Ambient Occlusion) brings better shadow detail to the screen. SSAO can calculate the percentage of any point in the picture obstructed by surrounding geometry at a low cost. The picture will appear darker in places that are obstructed more, giving you a natural world feel. For example, in the corners of walls, where objects touch or where the surface is folded, these areas will receive less light than flat surfaces and will appear darker.
FSR Super Resolution Technology
FSR (AMD FidelityFX Super Resolution) is AMD's new, open-source, high-quality rendering solution for producing high-resolution rendering from low-resolution input. It uses a series of cutting-edge algorithms, emphasizing creating high-quality edges, with a significant performance boost compared to rendering directly at native resolution. "Lake" adopts FSR super-resolution technology, enabling the game to get a high-quality, high-resolution gaming experience even at a better frame rate.
Fully controllable rendering pipeline at runtime
"Lake" has implemented a rendering pipeline, which can dynamically control most rendering details and can observe the rendering results of most stages, which will be very helpful for debugging rendering results. We provide hundreds of debugging options in the runtime version, and developers can freely adjust all the options to understand the rendering capabilities of the engine better.
Render Level Presets
We have added multiple levels of rendering preset configurations to the project. By detecting the GPU model on the running device and its operating efficiency, it can automatically switch to the rendering preset suitable for the smooth running of the current device. Users can also choose the rendering preset by themselves. To see how incredible the engine is at rendering at the cost of FPS.
The demo is not available for download just yet, but we hope you enjoy this early release and test out what is currently available.