Oblivion will probably be one of the first games with integrated HDR lighting at release time. Could you describe to us the specific solution used? Will it use fp blending or will there be an option to blend in the pixel shader? Does Oblivion make use of floating point textures?

Oblivion’s HDR solution does make use of floating point textures to give greater accuracy and precision for the effect and uses floating point buffer blending. Blending in the pixel shader would end up being prohibitively expensive given the complexity of our scenes.

Could you tell us what Shader Model range you're aiming for? In a recent interview you mentioned that you make use of SM 3.0; is this shader model used for a performance increase only or do you make use of SM 3.0-specific features like texture fetches in the vertex shader?

Shader model 2.0 to 3.0 is the targeted range. For shader model 3.0 effects, we do take advantage of some looping and branching, but mostly we use it for performance increases. In 3.0 we are able to do all lighting in a single pass, as well as full lighting on blended objects.

Related to the above, how would you describe your experience in having to write the same effect across different Shader Model versions?

For the most part, our shaders were initially written with the 2.0 spec in mind. So rewriting them for shader model 3.0 was more fun than a chore, since we were able to speed things up and combine passes. Going the opposite direction would have been more of a pain, but luckily we were able to avoid that in most cases.

With a world as detailed as the one shown in screenshots, determining visibility must be an important focus for you. Could you shed some light in this matter? Are you using any advanced portal culling technique?

We rely heavily on LOD models to scale down lighting, geometry, and shaders once objects drop below certain thresholds of distance or visibility. We also do a simple, fast occlusion culling technique for interiors. Again, we try to optimize our systems in ways that don’t impede artist freedoms.

In previous interviews you've mentioned using multi-threading to help speed up streaming new areas. How important are you finding the other, less visible, system parts like memory speeds, CPU L2 cache, AGP/PCIe speeds, etc. in this regard?

We’ve found it’s definitely a total picture situation as far as optimization goes. For instance, we’ve spent some time optimizing our code to prevent L2 cache misses and made some gains there. We try and take optimal advantage of every hardware component, so any extra speed we can get out of any part factors into the overall picture.

We're also curious about any figures you care to divulge about average triangle and vertex loads per scene. Approximately how many pixel shaders will the game have, and if you can answer how many instructions on average do your pixel and vertex shaders have?

Suffice to say that our triangle and vertex counts are on the high side, but in line with what Microsoft and the major video card companies recommend for next-gen development. For pixel shaders, if you take into account all the different configurations that result from compiling for different cards, there are hundreds. However, there are probably about 25 major shader effects that are utilized in general situations. The instruction count scales with shader model, so our lower-end 2.0 shaders are kept pretty compact while the 3.0 lighting shaders are quite long and will appreciate a fast video card.

Could you briefly touch upon what changes will there be for Oblivion modders compared to Morrowind?

The editor has received a host of changes ranging from small to large. Many are brand new tools such as the heightfield generation tool, and the region generation tool to populate a large area with objects quickly. The dialogue and quest system has been redone to improve the workflow and tools have been added to better allow Havok objects to be manipulated in the editor. Modders will also have access to the entire range of AI functionality that we have at our disposal.