Real-time GI Technology in Unreal Engine 4

Source: Internet
Author: User


Video:

Http://v.youku.com/v_show/id_XNDEwMDEwNTg4.html

The realtime GI in ue4 is based on the Researcher:

Http://blog.icare3d.org/

Main paper:

Http://perso.telecom-paristech.fr /~ Eisann/publications/crassin2011voxelglobalpg/VoxelGI_EG-pg2011-sub.pdf

Http://maverick.inria.fr/Publications/2011/CNSGE11a/GIVoxels_Siggraph_Talk.pdf

The algorithm name is voxel cone tracing, which briefly summarizes two core points of the algorithm: voxel & cone tracing.


Voxel


When talking about algorithms, first we talk about data structures. Voxel's 3D mesh is like pixel's image in 2D: the representation of Rule discretization. pixel splits 2D images into small squares, voxel Splits a 3D space into cubes.

I first heard that this was a forward-looking IDEA released by Carmack and Jon olick in. At that time, it seemed that mega texture was extended to 3D space, jon olick also released some videos on YouTube.

With the expectation and confidence in the transformative realtime rendering, The ue4 demo was ushered in this year and the technology was pushed to the public.


Voxel is an efficient way of organizing sparse voxel octree (Svo for short.

In hierarchy mode of the octotree, it indicates something in the space:


Svo is the key to this algorithm:

  • After Svo is represented discretely at a certain granularity, the GI illumination computing workload remains stable, instead of proportional to the number and complexity of vertex in the scenario.
    • In this regard, we can regard this as a 3D gbuffer, which stores scenario information at a certain granularity.
  • The hierarchical structure of REE allows us to naturally introduce the level of detail in computing, and use the level of detail in a distant place (a high-level node in REE), reducing the computing index.
  • It is easier to traverse. Mesh REE is much faster than mesh traversal composed of triangles. This shows an absolute advantage in cone tracing and filter.
Voxel cone tracing algorithm Svo features and practices:
  • Separate voxel of the static mesh and voxel of the dynamic mesh, and update the voxelmz of the dynamic mesh at each frame.
  • Use the Rasterizer pipeline of GPU to build Voxel-very efficient
    • Disable depth test and render a mesh in three directions. The rendering accuracy is determined by the voxel precision.
    • So when we get to pixel shader, the information of every triangle is discrete into pixel, and without depth test, it is true that every pixel produced by every triangle raster has, then, update voxel information to Svo in pixel shader.
    • The updated information includes normal, color, and material property: the same as that of gbuffer.

Voxel cone Tracing AlgorithmThe figure is as follows:
  • Fill in the illumination information in Svo from the lightview Rendering scenario

  • Filter illumination information in Svo,
    • The lighting information that starts to be stored is actually the lowest level. Therefore, you need to filter the information into the parent node. In the case of cone tracing, you can directly read the parent node (if possible & necessary) to obtain sufficient illumination information.
    • This process is like building a mipmap.
    • The stored information is the distribution of illumination directions.

  • Cone tracing: In every pixel we see, we use a group of cone in the hemisphere that can overwrite this point to traverse Svo, and then obtain the illumination information on this point.
    • A large cone is used to obtain indirect diffuse lighting.
    • Small cone, get indirect specular Lighting

In actual computing, it is also important to use many optimization methods based on DX and underlying hardware.
AOYou can do GI, so when there is enough voxel information, doing AO is simply a matter of course, and this really 3D high quality AO is not a limited ssao.


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.