Reputation: 65
I've been trying, rather unsuccessfully, to make a Deferred Renderer using DirectX 11 for roughly a month.
Most of the white papers I've come across all describe the over-arching implementation, but not an actual implementation (which makes sense, but sucks for actually implementing -- to me anyway).
I've taken a look at several full-scale engine implementations, such as the source code from the "Practical Rendering & Computation Direct3D 11", https://hieroglyph3.codeplex.com/, but have found them extremely over-encumbering and/or incredibly complicated (involving compute shaders).
While I have looked over the http://rastertek.com/ tutorials, they haven't been updated in some time (to my knowledge the author is on permanent hiatus), and use themes from DirectX 9/10.
I've been trying to find a set of relatively basic implementation tutorials for the past couple weeks to hopefully get a leg up -- by relatively basic i mean diffuse & normals for the geometry pass, and point lights for the lighting pass.
So to pose a question, is there, to knowledge, a set of tutorials and/or sample project accomplishing the basic implementation I've described above?
I'm not all too interested in XNA or OpenGL, considering the former is c# and the latter isn't DirectX, or the RasterTek tutorials because, as I've said, they are outdated.
Many thanks, I appreciate it.
Upvotes: 0
Views: 2503
Reputation: 1260
Here are some resources, hope some of them work for you.
AMD Radeon SDK samples: http://developer.amd.com/tools-and-sdks/graphics-development/amd-radeon-sdk/#downloadsamples - the Tiled Lighting sample is deferred. Might be a bit complex though.
NVIDIA Gameworks samples: https://developer.nvidia.com/gameworks-directx-samples
The best resource I know is from OpenGL: http://ogldev.atspace.co.uk/www/tutorial35/tutorial35.html - I know you wanted DirectX 11, but this might be worth a look regardless if you want to understand the principles better.
Beyond these, I would suggest you just start implementing. You mentioned you already know how to render to textures. Starting from the code you already have, moving to deferred rendering shouldn't be too much of a stretch even without direct code samples. You shouldn't worry about lighting at first - just render the texture colors to your g-buffer and setup the full-screen quad for your deferred shading pass and output the colors to screen. Once you have that you are well on your way to a full deferred renderer.
Upvotes: 1
Reputation: 551
I'd strongly suggest you to buy this book: "Practical Rendering & Computation Direct3D 11". There is whole chapter dedicated to deferred rendering which explains in details how it works, cons & pros, and how to go about solving typical problems with deferred renders.
Upvotes: 1