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 ...

learn more… | top users | synonyms

30
votes
2answers
4k 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?
12
votes
2answers
858 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 ...
11
votes
2answers
1k 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 ...
11
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. ...
9
votes
2answers
1k 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
1answer
319 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 ...
8
votes
3answers
1k 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
1answer
2k views

Game Engine Design – Ubershader - Shader management design

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 (FlatTexture, BumpTexture, Displacement ...
7
votes
2answers
288 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 ...
7
votes
1answer
1k 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. ...
7
votes
2answers
408 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 ...
6
votes
1answer
139 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
1answer
499 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. float3 lightPos = ...
5
votes
3answers
963 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
2answers
626 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 ...
4
votes
3answers
240 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) ...
4
votes
2answers
120 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
532 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: ...
4
votes
2answers
557 views

Deferred lighting and projective texturing?

Is posible to use this technique with deferred lighting?
4
votes
1answer
138 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
403 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 triangle strip with it. Early on in ...
4
votes
0answers
819 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, ...
3
votes
1answer
336 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: int i = 0; int sum = 0; map<string, mtlItem *>::const_iterator itrEnd = ...
3
votes
1answer
1k 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 ...
3
votes
1answer
546 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 ...
3
votes
1answer
2k 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 ...
3
votes
1answer
310 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
1answer
872 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. // Shadow term (1 = no shadow) float shadow = 1; // [Light ...
3
votes
0answers
152 views

SSAO Distortion [closed]

I'm currently (attempting) to add SSAO to my engine, except it's...not really work, to say the least. I use a deferred renderer to render my scene. I have four render targets: Albedo, Light, Normal, ...
3
votes
0answers
294 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: #version 420 layout (location = 0) out vec4 outColor; in vec2 ...
2
votes
1answer
247 views

Skybox with deferred shading

I've looked at this technique, but it strongly sounds like he has to do some ugly hacks involving branching in his lighting shaders just to correctly draw a skybox. This seem awfully wasteful. How ...
2
votes
1answer
116 views

Can Entities Have Their Own Shader In Deferred Rendering?

Since you need to use the general g-buffer shader to fill g-buffer, how can entities have their own shaders, like giving a box normal mapping feature ? As I remember, you can't use two shaders at the ...
2
votes
1answer
281 views

mixing forward and deferred rendering

Simplified version of my deferred rendering looks like this: bind fbo1 clear color and depth buffers gbuffer stage (gbuffer contains only these pixels which pass a depth test) unbind fbo1 bind fbo2 ...
2
votes
1answer
217 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 ...
2
votes
1answer
183 views

gbuffer - how to store an integer data

In a gbuffer I store a diffuse color in following texture: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); I want to store an integer data which ...
2
votes
1answer
226 views

How to transform a shadow map to camera view?

I'm making a rendering engine as a hobby to learn more about 3D. I have a deferred renderer with the G-buffer (color, normal and depth). I also have a lighting controller that uses only spotlights at ...
2
votes
1answer
322 views

Shadow mapping with deffered shading for directional lights - shadow map projection problem

I'm trying to implement shadow mapping to my engine. I started with directional lights because they seemed to be the easiest one, but I was wrong :) I have implemented deferred shading and I retrieve ...
2
votes
0answers
127 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 ...
2
votes
1answer
760 views

Unity3D How too 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 ...
2
votes
0answers
678 views

How can I use the dualforward parameter in my unity shader to use lightmaps and normal maps together? [closed]

I'm using the free version of unity and I would like to combine lightmaps with specularity and normal maps. After doing a -bunch- of research, I've figured out that there doesn't seem to be any easy ...
2
votes
0answers
649 views

XNA 4 Deferred Rendering deforms the model [closed]

I have a problem when rendering a model of my World - when rendered using BasicEffect, it looks just peachy. Problem is when I render it using deferred rendering. See for yourselves: what it looks ...
1
vote
1answer
118 views

Separate shader programs or branch in shader? [duplicate]

I have a bunch of point lights and directional lights. Instead of checking the light type in the fragment shader and then branch for either point light calculation or directional light calculation, is ...
1
vote
2answers
239 views

Deferred rendering order?

There are some effects for which I must do multi-pass rendering. I've got the basics set up (FBO rendering etc.), but I'm trying to get my head around the most suitable setup. Here's what I'm ...
1
vote
2answers
217 views

OpenGL position from depth is wrong

My engine is currently implemented using a deferred rendering technique, and today I decided to change it up a bit. First I was storing 5 textures as so: DEPTH24_STENCIL8 - Depth and stencil ...
1
vote
1answer
258 views

Using two FBOs results in the second FBO having nothing drawn to [closed]

I'm writing a deferred renderer, and I use two FBOs: the first one for G-buffer (color, normal, depth) and the second one for lighting (light output), so the first one has three textures bound and the ...
1
vote
1answer
116 views

D3D11 Deferred Context CommandList Reset

a rather quick question, I am starting on implementing rendering with deferred context into my game engine, and came across a heavy memory leak when recording command lists on my deferred contexts. ...
1
vote
1answer
165 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 ...
1
vote
1answer
610 views

Speed up lighting in deferred shading

I implemented a simple deferred shading renderer. I use 3 G-Buffer for storing position (R32F), normal (G16R16F) and albedo (ARGB8). I use sphere map algorithm to store normals in world space. ...
1
vote
2answers
582 views

Trying to implement Render to Texture

I'm having trouble implementing render to texture with OpenGL 3. My issue is that after rendering to the frame buffer, it appears the rendered object becomes deformed, which may imply a bad ...
1
vote
1answer
62 views

Severe color banding while applying SSAO

I'm trying to implement SSAO together with deferred shading. The deferred shading works just fine, and so does calculating the AO as seen in the first image below. However, taking AO into ...