Doom III rendering technology...
Hello,
As title says I am looking for info about doom III rendering technology, as far as I know doom III use Per-pixel lighting (diffuse, specular, and light-filter cubemaps) plus Stencil shadows volumes for ALL lights; some time ago I saw here in forums some threads that talk about the rendering pipeline like rendering 1 pass per light and stuff like that, but unfortunatly I cant find it anymore
So I appreciate if someone could point me to some docs or resources which talk about doom rendering technology.
Thanks in advance,
Oscar
Great interview in which Carmack himself explains a lot of the rendering process:
http://www.beyond3d.com/interviews/carmackdoom3/
http://www.beyond3d.com/interviews/carmackdoom3/
The questions seem to focus on the R 8500 and the GF4 Ti...both of which are significantly strained to run Doom 3. Did the hardware requirements become higher end as development went on? What is the date on this interview?
Quote:Original post by Promit
The questions seem to focus on the R 8500 and the GF4 Ti...both of which are significantly strained to run Doom 3. Did the hardware requirements become higher end as development went on? What is the date on this interview?
6 June 2002
so, new cards came out as development went along... and doom3 was made to run better on them [wouldn't you be disappointed if your brand new radeon x850 xt ran doom3 just as well as the radeon 8500?]
Basically in Doom3 the number of passes per light is the difference between using pixel shader 1.2, 1.4, and 2.0
So Geforce 2 and below do a pass per specular, diffuse, and light attenuation/projection (the nv10 path), so 3 passes per light (and on already slow cards, ouch). Geforce 3/4 can do difuse and specular in a single pass and light attenuation/projection as the second pass (nv20 path), so two passes per light. Geforce FX's and above do a single pass per light (dif, spec, and light atten/proj in a single pass, the arb2 path).
This is all pretty standard stuff you'd find more information about in a book like ShaderX 1 (translating from D3D to OpenGL of course), or just browsing the glprogs directory in the D3 base directory ;-)
So Geforce 2 and below do a pass per specular, diffuse, and light attenuation/projection (the nv10 path), so 3 passes per light (and on already slow cards, ouch). Geforce 3/4 can do difuse and specular in a single pass and light attenuation/projection as the second pass (nv20 path), so two passes per light. Geforce FX's and above do a single pass per light (dif, spec, and light atten/proj in a single pass, the arb2 path).
This is all pretty standard stuff you'd find more information about in a book like ShaderX 1 (translating from D3D to OpenGL of course), or just browsing the glprogs directory in the D3 base directory ;-)
Hi,
Thank you all people for your help, I would take a look at shaderX book and surely at the glprogs directory in the D3 : ).
About the passes that you comment, could you develop a little about the
and light attenuation/projection, I mean the attenatuion pass is rendering only with ambient light and modulating with scene?, and about projection pass, is to
do effects like the flashlight?
Regards,
Oscar
Thank you all people for your help, I would take a look at shaderX book and surely at the glprogs directory in the D3 : ).
About the passes that you comment, could you develop a little about the
and light attenuation/projection, I mean the attenatuion pass is rendering only with ambient light and modulating with scene?, and about projection pass, is to
do effects like the flashlight?
Regards,
Oscar
Yes, the projection pass would be to handle things like flash lights or directonal lights primarily. (You know those grates that cast shadows? That's a texture projected as a light.) Attenuation is handled the same way, actually, with a couple of projected textures handling the light's fade. Because they're so similar in function they are combined into a single pass, which is why we refer to it as the attenuation/projection pass.
About ambient light: Doom 3 doesn't have any. At least not natively. (There are some shader tricks you can do or whatnot, but it's not part of the main rendering pipeline.) That's part of why Doom 3 comes across as being so dark: If an object isn't being lit by a dynamic light, it's completly black. Attenuation doesn't have anything to do with ambient light, it only modulates the lights' effect based on distance.
About ambient light: Doom 3 doesn't have any. At least not natively. (There are some shader tricks you can do or whatnot, but it's not part of the main rendering pipeline.) That's part of why Doom 3 comes across as being so dark: If an object isn't being lit by a dynamic light, it's completly black. Attenuation doesn't have anything to do with ambient light, it only modulates the lights' effect based on distance.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement