Questions tagged [deferred-rendering]

The name for a class of rendering technique where geometry and material properties are explicitly separated from the lighting computations. This is done by rendering the material properties of various objects into several buffers, and then using passes over those "g-buffers" to do lighting computations, a screen-full at a time. This technique uses lots of bandwidth, but can be a strong optimization in situations with lots of lights.

Filter by
Sorted by
Tagged with
57
votes
3answers
26k views

What is deferred rendering?

I've heard about deferred rendering and how using it can allow for "lots" of lights in a scene without a huge performance hit, but what is it and (from a high level) how is it implemented?
18
votes
1answer
7k views

Game Engine Design – Ubershader - Shader management design [closed]

I want to implement a flexible Ubershader system, with deferred shading. My current idea is to create shaders out of modules, which deal with certain features, such as FlatTexture, BumpTexture, ...
16
votes
2answers
12k views

What are the common rendering optimization techniques for the geometry pass in a deferred shading renderer? [closed]

I have been developing a game engine using OpenGL 3 and C++ (and glfw for window management). I have advanced so far, got most of the things done except sound entities and optimizations. The engine ...
12
votes
2answers
12k views

Shadows in deferred rendering

I've read some material about deferred rendering, and I think I get the gist of it. But what I don't understand is how it accomplishes shadows. The G-buffer, as far as I'm aware, does not involve ...
12
votes
2answers
2k views

Is Deferred Rendering The Future?

Is deferred rendering the future of real-time 3d rendering on pc hardware (at least until raytracing becomes feasible)? I'm aware of the benefits (lots of lights, less state changes) and also trouble ...
12
votes
2answers
4k views

Deferred tiled shading, tile frusta calculation in OpenGL

I'm trying to do deferred tiled shading in OpenGL using the compute shader but I have hit a snag when trying to create the frustum for each tile. I'm using AMD's Forward+ demo (written in D3D) as a ...
12
votes
1answer
3k views

Not getting desired results with SSAO implementation

After having implemented deferred rendering, I tried my luck with a SSAO implementation using this Tutorial. Unfortunately, I'm not getting anything that looks like SSAO, you can see my result below. ...
11
votes
1answer
1k views

Deferred decals normal problem

I've been working on a deferred decal system. So far I have finished the projection part, meaning I can click something in the scene and it will properly project a decal onto the surface of the object....
10
votes
1answer
963 views

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

I am currently thinking of what type of GBuffer I'll need for deferred shading, hence I tried also to document myself online about the most common ones and their format. Most of the GBuffer that I'...
10
votes
2answers
1k views

Projective texture and deferred lighting

In my previous question, I asked whether it is possible to do projective texturing with deferred lighting. Now (more than half a year later) I have a problem with my implementation of the same thing. ...
10
votes
2answers
2k views

Dual paraboloid point light shadows in deferred lighting setup

I've been playing around with this tutorial/sample code that demonstrates a simple implementation of light-pre-pass, which is a type of deferred lighting setup. I'm in the process of implementing ...
9
votes
3answers
4k views

Deferred shading - how to combine multiple lights?

I'm starting out with GLSL and I've implemented simple deferred shading that outputs G-buffer with positions, normals and albedo. I've also written a simple point light shader. Now I draw a sphere ...
8
votes
2answers
1k views

How many rendering passes is “normal”?

I've been implementing John Chapman's method for SSAO (an excellent tutorial by the way), and I've completed it all minus the final part: blurring it. I believe this is what the entire process should ...
8
votes
1answer
1k views

Variance shadow maps don't want to render properly

I've implemented VSM (and also ESM) in my engine but results are for me not as I expected and saw in many examples published on network. I set filtering of shadow maps to GL_LINEAR but when I compare ...
8
votes
0answers
1k views

How do I reconstruct depth in deferred rendering using an orthographic projection?

I've been trying to get my world space position of my pixel but I'm missing something. I'm using a orthographic view for a 2.5d game. My depth is linear and this is my code. ...
7
votes
1answer
3k views

deferred rendering and point light radius

I use a common attenuation equation for point lights: attenuation = 1 / kc + kl * d + kq * d^2. I use deferred rendering so I need to know a light radius. An example light has following intensity: ...
7
votes
1answer
1k views

Optimize state changes within a render queue

I am refactoring some parts of the game engine I am working on. This engine is made in C# with XNA. The part I have trouble with is shader/material and the render queue. In the new version I will ...
6
votes
2answers
6k views

Unity ignoring the deferred shader

I've been following this tutorial to get a cel-shader working in Unity 5 along with the standard shaders (explained in the last third of the article). My issue is that when I got to replacing the ...
6
votes
2answers
670 views

Deferred lighting and projective texturing?

Is posible to use this technique with deferred lighting?
6
votes
0answers
2k views

OpenGL problem with FBO integer texture and color attachment [closed]

In my simple renderer, I have 2 FBOs one that contains diffuse, normals, instance ID and depth in that order and one that I use store the ssao result. The textures I use for the first FBO are RGB8, ...
5
votes
3answers
1k views

How to skip the sky in lighting shaders?

I recently implemented a sky in my deferred rendered game. It is a procedurally calculated sphere with a texture applied to it. Unfortunately all lighting shaders (light sources, ambient occlusion) ...
5
votes
2answers
1k views

How to deal with large depth buffer values due to extreme distances

Alright, this is semi-related to my last question here So I've got an really big coordinate system and need to handle rendering large astral bodies from extreme distances. My current approach ...
5
votes
1answer
4k views

Deferred Rendering With Diffuse,Specular, and Normal maps

I have been reading up on deferred rendering and I am trying to implement a renderer using the Sponza atrium model, which can be found here, as my sandbox.Note I am also using OpenGL 3.3 and GLSL. I ...
5
votes
3answers
2k views

Multiple render targets and gamma correctness in Direct3D9

Let's say in a deferred renderer when building your G-Buffer you're going to render texture color, normals, depth and whatever else to your multiple render targets at once. Now if you want to have a ...
4
votes
1answer
5k views

Why can't I write to my render targets?

Alright, been working on setting up my first deferred rendering attempt using a light prepass technique in Direct3D 11. Anywho, I've been having problems understanding and using render targets. Never ...
4
votes
2answers
235 views

When to apply AA as post?

I'm working with a deferred shading technique. I have diffuse, normal and depth buffers, which I combine for the final scene composition. Where and when exactly do I apply an anti-aliasing pass (such ...
4
votes
1answer
3k views

FAST position reconstruction from depth

I'm struggling a lot with reconstructing the world space position (or alternatively the view space position) from depth (by reading the depth buffer) in a performant way (in a full-screen post-process)...
4
votes
1answer
4k views

Deferred Rendering and Normal Mapping

I'm working on a deferred renderer and need a bit of help getting normal maps working. What I've been doing with them so far is just multiplying the normal texture with the object normals (...
4
votes
1answer
1k views

How are lights rendered as geometry in deferred shading?

So my problem is that: At the last stage of implementing this I had problem with this sentence, " the lights in the scene are rendered as geometry". What does this mean? Why do I store depth info for ...
4
votes
1answer
823 views

SSAO issue - surfaces darken based on camera angle

I have a strange issue in my engine where my SSAO effect will extremely darken or lighten based on my camera angle: In that example, I'm just outputting the ssao texture to the screen. The texture is ...
4
votes
1answer
835 views

Multiple render targets: Output target format performance questions

This is probably API independent (more dependent on hardware implementation), but just in case, I'm using OpenGL. The question is restricted to PC hardware. I have a couple of questions concerning ...
4
votes
2answers
216 views

What are the alternatives to OpenGL arrays for deferred rendering?

I'm trying to build a deferred rendering technique in an OpenGL engine, but I can't figure how I could get more than the limit of 32 lights. I use an array in my shader, feed light properties into ...
4
votes
1answer
795 views

MSAA deferred implementation issue

I recently implemented MSAA in my deferred renderer, it looks good but I just got a feeling I might have done it wrong. Here is what for example the directional light fragment shader looks like: <...
4
votes
2answers
561 views

Tiled deferred shading without compute shader

I'm building a deferred renderer and since I want to support a large amount of lights in the scene I've had a look at tiled deferred shading. The problem is that I have to target OpenGL 3.3 hardware ...
4
votes
1answer
1k views

Blank texture in Frame Buffer Object in Deferred Rendering

I'm running the tutorial 35 from olgdev.atspace.co.uk, and it's so strange that the result is a blank screen. This tutorial is performing the first step of Deferred Shading, which means decoupling of ...
4
votes
2answers
2k views

Deferred contexts and inheriting state from the immediate context

I took my first stab at using deferred contexts in DirectX 11 today. Basically, I created my deferred context using CreateDeferredContext() and then drew a simple ...
4
votes
1answer
1k views

Deferred rendering with VSM - Scaling light depth loses moments

I'm calculating my shadow term using a VSM method. This works correctly when using forward rendered lights but fails with deferred lights. ...
4
votes
1answer
4k views

Global fog does not work with deferred rendering in Unity

When I set deferred rendering the global fog from the Unity Standard Assets does not work, there is no fog at all. With forward rendering the global fog works. How do I add fog with deferred rendering?...
4
votes
0answers
746 views

Shadow mapping - Can't get the right texture coordinates

I'm trying to implement shadow maps for Spotlight's, but alas I can't get them to work. I have verified that my fragment shader is getting the shadow map texture. I can sample from it in the ...
4
votes
1answer
3k views

Unity3D How to write to the back buffer AFTER the final pass of deferred rendering?

I've been using this script and shader from the wiki, and they work wonders; my only problem is using them in deferred rendering. Now, the way this shader works is by writing to the depth buffer to ...
3
votes
1answer
841 views

What is deferred lighting?

There is plenty of information on what deferred rendering is but there is a lack when it comes to deferred lighting and the information that there is there is not clear. My question is simple, what ...
3
votes
1answer
2k views

how to organize rendering

I use a deferred rendering. During g-buffer stage my rendering loop for a sponza model (obj format) looks like this: ...
3
votes
1answer
2k views

Workaround for reading and writing same texture?

To apply post effects, it is often needed to read the preliminary image, perform computations on its pixels and store the result in the same texture again. For example, think of a tone mapping or ...
3
votes
1answer
2k views

Unity3D custom camera matrix breaking shadows/lights in deferred rendering

EDIT 1: So it seems this is a common issue with Unity, and it comes from a bug in which custom camera matrices break deferred lighting and shadows. This topic right here talks about it a bit, but the ...
3
votes
1answer
605 views

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

I'm taking an intro to computer graphics course, so this is something we haven't touched on. I am reading this tutorial http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-...
3
votes
1answer
1k views

Deferred rendering and gaussian blur - artifacts

I compute Gaussian blur in two passes (horizontally and vertically). Shaders look like this: Horizontal blur - fragment shader: ...
3
votes
1answer
1k views

unable to render to multiple textures

I'm trying to make an example of deferred rendering. I'm trying to render to three separate textures the position, the normal and the color. Here is the setup : ...
3
votes
2answers
4k views

Unity - Part of the sprite is covered in shadow

I have a sprite with Transparent/Cutout/Diffuse shader. Recieving shadows is turned on in SpriteRenderer. The light is a pointlight and I am using deffered rendering path. However when I am above or ...
3
votes
1answer
567 views

XNA Deferred Shading, Replace BasicEffect

I have implemented deferred shading in my XNA 4.0 project, meaning that I need all objects to start out with the same shader "RenderGBuffer.fx". How can I use a custom Content Processor to: Not load ...
3
votes
0answers
72 views

Light bounding geometry for deferred rendering

What is the best bounding geometry to use in a deferred renderer for each one of the following light types? Sphere area light (obviously a sphere) Disk area light (obviously a cone) Rectangular area ...