Sign in to follow this  
ogracian

Doom III rendering technology...

Recommended Posts

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

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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?]

Share this post


Link to post
Share on other sites
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 ;-)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this