sclubnsa.blogg.se

Opengl 4.4 scene rendering techniques
Opengl 4.4 scene rendering techniques












opengl 4.4 scene rendering techniques

The high-level rendering loop is in SceneRendering.cpp, in SceneRenderer::renderFrame(). GL_ARB_texture_border_clamp is used for the light-buffer fetches in the opaqueColor fragment shader, to get the pixels outside the light buffer to be fully lit.GL_EXT_framebuffer_blit is used to perform a bilinear upsampling of the half-resolution final scene colors to the screen resolution, as well as optionally to perform a point-filtered downsampling of the scene depths to the particle's resolution.Using FP16 precision for the particle blending reduces quantization artifacts which are especially noticeable when moving the camera. GL_OES_texture_half_float is used to optionally render the particles to FP16 color buffers (instead of 8-bit-per-channel by default), for both the light buffer pass and the eye-rendering pass.GL_OES_depth_texture (or GL_ARB_depth_texture) is used to access the raw values of the 16-bit hardware depth buffer, for rendering soft particles (performing a soft depth test in the particle's fragment shader), and for upsampling the particle with a depth-aware filter.This sample uses the following extensions, to enable functionalities that may not be available in base OpenGL or GLES: Depth-prepass rendering to reduce overdraw.Particle shadows using half-angle slicing.

opengl 4.4 scene rendering techniques

Soft particle rendering using hardware-depth fetches.Reduced-resolution particle rendering with cross-bilateral upsampling.Half-resolution off-screen scene rendering with full-resolution UI rendering.The sample makes use of the following techniques: The particles are rendered into a lower-resolution offscreen surface, and then up-sampled to the screen to lower the cost of the high depth complexity.

opengl 4.4 scene rendering techniques

The Particle Upsampling sample uses a combination of rendering techniques to simulate a cloud of particles casting shadows on a model and a floor object.














Opengl 4.4 scene rendering techniques