Questions tagged [deferred-rendering]

a screen-space shading technique that defers shading until the second pass of rendering

In the field of 3D computer graphics, deferred shading is a screen-space shading technique. It is called deferred because no shading is actually performed in the first pass of the vertex and pixel shaders: instead shading is "deferred" until a second pass.

It is used in numerous popular games starting around 2010.

Advantages: easier resource and pipeline management

Disadvantages: hard to handle transparency, multiple materials, incompatible with anti-aliasing

Wikipedia: https://en.wikipedia.org/wiki/Deferred_shading

137 questions
9
votes
1 answer

Deferred Rendering with Tile-Based culling Concept Problems

EDIT: I'm still looking for some help about the use of OpenCL or compute shaders. I would prefer to keep using OGL 3.3 and not have to deal with the bad driver support for OGL 4.3 and OpenCL 1.2, but I can't think of anyway to do this type of…
8
votes
1 answer

World-space position from logarithmic depth buffer

After changing my current deferred renderer to use a logarithmic depth buffer I can not work out, for the life of me, how to reconstruct world-space depth from the depth buffer values. When I had the OpenGL default z/w depth written I could easily…
RamblingMad
  • 4,946
  • 1
  • 20
  • 41
8
votes
3 answers

Reconstructing world coordinates from depth buffer and arbitrary view-projection matrix

I'm trying to reconstruct 3D world coordinates from depth values in my deferred renderer, but I'm having a heck of a time. Most of the examples I find online assume a standard perspective transformation, but I don't want to make that assumption. In…
jbatez
  • 1,612
  • 14
  • 24
6
votes
3 answers

What is the difference between a ND-Buffer and a G-Buffer?

I'm noob at WebGL. I read in several posts of ND-Buffers and G-Buffers as if it were a strategic choice for WebGL development. How are ND-Buffers and G-Buffers related to rendering pipelines? Are ND-Buffers used only in forward-rendering and…
deblocker
  • 7,277
  • 2
  • 18
  • 49
5
votes
2 answers

deferred rendering - Renderbuffer vs Texture

So, I've been reading about this, and I still haven't found a conclusion. Some examples use textures as their render targets, some people use renderbuffers, and some use both! For example, using just textures: // Create the gbuffer…
Joao Pincho
  • 779
  • 1
  • 10
  • 22
4
votes
1 answer

Deferred rendering and moving point light

I know there are couple of threads on the net about the same problem but I haven't got help from these because my implementation is different. I'm rendering colors, normals and depth in view space into textures. In second I bind textures with…
Karmo Rosental
  • 643
  • 1
  • 8
  • 18
4
votes
1 answer

Deferred MSAA Artifacting

This is the process I go through to render the scene: Bind MSAA x4 GBuffer (4 Color Attachments, Position, Normal, Color and Unlit Color (skybox only. I also have a Depth component/Texture). Draw SkyBox Draw Geo Blit all Color and Depth Components…
Calum McManus
  • 220
  • 1
  • 6
4
votes
1 answer

Deferred renderer with light volumes produce strange banding

I have a deferred renderer that only calculates lighting equations when the current fragment is in range of a light source. I do this by calculating the size of a light volume in my application and send this with other light information to the…
ABHAY
  • 221
  • 2
  • 11
4
votes
0 answers

minimum/maximum depth of tile in opengl

I'm trying to implement tiled deferred rendering but I'm stuck on calculating min/max depth for each tile. I'm using compute shader for this. This is its complete code: #version 430 #define TILE_SIZE 32 layout (location = 0, rgba32f) uniform…
mezo
  • 383
  • 1
  • 3
  • 16
4
votes
3 answers

How exactly does deferred shading work in LWJGL?

I want to start a deferred shading project with GLSL , Java & openGl 1. How does a deferred rendering pipeline works, does it render the scene for each image? For example when I want to create a specular, blur and shadow texture, do I need to render…
bitQUAKE
  • 363
  • 1
  • 6
  • 18
4
votes
1 answer

reconstructed world position from depth is wrong

I'm trying to implement deferred shading/lighting. In order to reduce the number/size of the buffers I use I wanted to use the depth texture to reconstruct world position later on. I do this by multiplying the pixel's coordinates with the inverse…
Dr Bearhands
  • 183
  • 1
  • 11
4
votes
1 answer

Ogre3d / Deferred rendering / Point light

Im trying to set up deferred renderer using ogre compositor framework. I tried to implement a point-light shader (as a fullscreen quad effect, without attenuation or specular calculations) in the code below: Material that outputs deferred data to…
Vis Viva
  • 1,194
  • 4
  • 15
  • 40
3
votes
1 answer

Deferred Rendering - Rendering models with individual effects

I have read a few tutorials (Catalin Zima, TheCansin) regarding Deferred Rendering in XNA. They all seem to use a Deferred Rendering Pipeline for rendering the models. This is great, but they only deal with Normal and Specular maps. If I have my…
Neil Knight
  • 44,112
  • 23
  • 121
  • 184
3
votes
1 answer

Resolution of multi-sampled frame-buffer with multiple color attachments

Trying to implement Anti-aliasing on top of deferred shading, I'm attempting to use multi-sampled render buffers and then resolve the samples with a buffer-blit pass. As is traditional in deferred shading, I am rendering the scene with a dedicated…
3
votes
0 answers

Access to not loaded nodes of DataTable with DeferRender option

My problem is that I have a datatable containing thousands of datas and I faced performance problems on Internet Explorer 11 (I don't want <11 and I'm not facing any issues on Firefox and Chrome). To solve the performance problem I added…
dtlvd
  • 503
  • 1
  • 7
  • 21
1
2 3
9 10