11 votes
Accepted

What is deferred lighting?

In deferred shading all the material properties are rendered into the G-buffer, e.g. albedo, normals, roughness, metalness, etc. that are needed for BRDF evaluation. After this step shading is ...
user avatar
  • 870
9 votes
Accepted

Why is it Important to have render targets with the same bit size?

I understand that having the same "size" each attachment can be aligned better, but practically speaking is it better to waste channels (or reserve them for future use) and having all the RTs of ...
user avatar
  • 12.5k
6 votes
Accepted

Unity ignoring the deferred shader

Update for Unity 5.5 See @TWickz's answer. TL;DR Add #define UNITY_BRDF_PBS BRDF2_Unity_PBS right before #pragma's and ...
user avatar
5 votes
Accepted

SSAO, depth buffer linearization (?)

Solution I used good algorithm for depth linearization but I didn't convert depth to NDC first: ...
user avatar
  • 690
5 votes
Accepted

FAST position reconstruction from depth

I found a solution that works well. I don't think it gets any faster than this. What I did first is, I did the matrix-vector multiply by manually and skipped all the matrix components which are zero. ...
user avatar
  • 501
4 votes
Accepted

SSAO issue - surfaces darken based on camera angle

To me it looks very much like your issue here is that you are mixing world and viewspace or something similiar. Now your GBuffer normals look like they might be in viewspace in that picture, but the ...
user avatar
4 votes

Unity ignoring the deferred shader

Note that some of the functions used here have been deprecated in Unity 5.5, but I have tested it to work. In Unity 5.5, many changes have been made. The most significant, being that the dot product ...
user avatar
  • 141
3 votes
Accepted

Fast(er(est)) fullscreen/scene collision detection technique ("selection buffer")

Well, it's not new and it's a proper method. I think a common term for this "color picking", at least that's what i call it. As long as you are fine with picking only one object at a time, and that ...
user avatar
2 votes
Accepted

MSAA deferred implementation issue

To be correct, lighting calculations should be carried out separately for each surface contained in a pixel, then the results should be averaged. For instance, think about the silhouette edge of an ...
user avatar
  • 33.2k
2 votes

Best Way to Render Multiple Lights with Deferred Rendering and GLSL

One thing you should avoid for sure is to query the uniform locations every frame with glGetUniformLocation. This might be hurting the performance a little bit. ...
user avatar
  • 3,027
2 votes

Deferred Rendering With Diffuse,Specular, and Normal maps

Each parameter necessary to the final color of a fragment must be saved in the so called "G-Buffer". So you would have one Render Target for each of those parameters: Diffuse, Specular, Normals, ...
user avatar
  • 3,027
2 votes
Accepted

Shadow mapping. I don't understand what to do after creating the depth texture

First, from the picture it seems that in fact your light is not a "directional" light but a spotlight because you are using perspective projection, not an orthographic one (If not, then it is just the ...
user avatar
2 votes
Accepted

Rendering order of shadowing point lights?

If I understand your question correctly, you are building and applying the shadow maps at the same time. You really do not want to do that. If you are smart about this, you can vary the frequency of ...
user avatar
2 votes

Deferred rendering and gaussian blur - artifacts

This is probably the issue: https://www.opengl.org/wiki/Framebuffer_Object#Feedback_Loops Using a texture that is currently bound to an FBO that is current bound as the rendering target is undefined. ...
user avatar
2 votes

What are the alternatives to OpenGL arrays for deferred rendering?

You can send all the data that you want in a texture.
user avatar
  • 965
2 votes

Deferred Rendering and skeletal animation

If you are working with DirectX 10 or higher, you can do stream-output. The Idea is, that you keep a vertex buffer of the unskinned mesh, run it through a stream-output shader which is a vertex shader ...
user avatar
2 votes
Accepted

Deferred shadow mapping

Normally the 0.5 bias should have been included in the matrix (so I don't think it should be after the division by w) so this shouldn't appear: ...
user avatar
  • 192
2 votes

Artifacts when trying to implement Cook-Torrance BRDF

When you see abrupt patches of black like these often the cause of this are NaNs (Not A Number) from divisions by zero. And then anything multiplied by an NaN will give an NaN or (almost) any other ...
user avatar
2 votes
Accepted

Stencil pass in deferred rendering - far plane

Depth clipping can be disabled in other graphics APIs as well, this is a normal feature, so this is one way to solve the problem. You can draw front faces of light geometries when you are outside of ...
user avatar
2 votes
Accepted

What's the use and difference between Forward, Deferred and Physically Based Rendering?

First, I wouldn't consider PBR to be separate from forward or deferred rendering. You can use PBR in either forward or deferred rendering, as I understand it. Physically-based rendering just means ...
user avatar
  • 2,592
2 votes
Accepted

Implementing a Deferred Renderer (Basic Understanding)

In short, there's nothing super special about a deferred renderer when it comes to drawing the initial scene. You just submit your triangles via VBs/IBs, state, and the ...
user avatar
2 votes
Accepted

OpenGL Deferred Shading Pixelation

I used to get pixelated light when precision of gBuffer textures was low. Use GL_RGB16F or GL_RGB32F as internal format for position. Position can be reconstructed from depth texture like this, so no ...
user avatar
  • 108
1 vote

Tiled deferred shading without compute shader

You can sort of fake it with a pixel shader, but it requires an extra pass. I don't claim this is a great approach, BUT it will work: Create two low-res render targets - say, 1/8th of your ...
user avatar
  • 3,111
1 vote
Accepted

World Space Normals Are Black

It seems to be working fine. I don't know where the x,y,z-axis is pointing, so I can't really tell. But if you apply no rotation before viewing the geometry it should be easier to determine if it's ...
user avatar
  • 1,015
1 vote

unable to render to multiple textures

I figured out the cause of the problem. I had to clear the depth buffer before rendering the screen filling quad, even though I switch the frame buffer. Apparently the quad culls the objects behind it,...
user avatar
1 vote
Accepted

Overlapping surfaces in deferred shader blend through one another

I don't know why this is happening, but somehow despite the fact that I clearly disable blending at the end of my lighting function, and don't use it anywhere else in my rendering loop, this effect ...
user avatar
  • 993
1 vote

Deferred rendering: camera inside point light's sphere of effect

This method uses geometric shapes to represent volumes of light. The outline of a sphere, viewed from any angle, is a circle. "Selecting" the pixels within that circle is the primary reason for using ...
user avatar
  • 3,624
1 vote

Rendering objects with either normal maps, either specular maps, or with both, or with neither?

Big engines using 'premutation' that make many shaders for every specifited set of material features. But thats not solution for 'deffered' rendering, for deffered rendering you should implement ...
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible