• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

The latest Far Cry 1.2 Benchmarks: (SM 2.0b ATI support)

Pimpbaa

Member
Izzy said:
Dynamic Branching is also a new feature that Shader Model 3.0 has that Shader Model 2.0 does not. Dynamic Branching gives the ability for programmers to control the actual flow of the program, starting and stopping code where they see fit instead of a straight execution from the beginning line of the shader program to the end. What this would allow is faster shader performance.

Dynamic branching can be done on 2.0. As show by the demo here:
http://esprit.campus.luth.se/~humus/3D/index.php
 

Izzy

Banned
Taken from B3D's Tim Sweeney(Unreal Engine 3 dev) interview:


Q:NVIDIA's latest GeForce 6 series of video cards has support for Shader Model 3.0 which is exposed, but not useable, in the publicly available version of DirectX9.0b. With an anticipated release of a revision of DX9 that allows the use of SM 3.0, could you tell us what are the more interesting and useable advantages SM3.0 offers over the current SM 2.0 model? Referencing the two public demos of UE3, what kind of pixel and vertex shader 3.0 were used?

Tim Sweeney: PS 3.0 utilizes a wide range of optimizations, from 64-bit frame-buffer blending to looping and dynamic conditionals for rendering multiple light interactions in a single pass without requiring a combinatorical explosion of precompiled shaders.

Our pixel shaders in the Unreal Engine 3 demos are typically 50-200 instructions in length, and are composed from a wide range of artist-controlled components and procedural algorithms.


Q:More on shader models. With the GeForce 6 (and presumably other future SM 3.0 parts from other Independent Hardware Vendors) being made available, do you prefer Pixel Shader 3.0 and writing "fallbacks" Pixel Shader 2.0, or do you prefer 2.0 and write extra codes for 3.0 usage? What about Vertex Shader 3.0? Will it be used for effects that can't be done on Vertex Shader 2.0 hardware? What examples would those effects be?

Tim Sweeney: A major design goal of Unreal Engine 3 is that designers should never, ever have to think about "fallback" shaders, as Unreal Engine 2 and past mixed-generation DirectX6/7/8/9 engines relied on. We support everything everywhere, and use new hardware features like PS3.0 to implement optimizations: reducing the number of rendering passes to implement an effect, to reduce the number of SetRenderTarget operations needed by performing blending in-place, and so on. Artists create an effect, and it's up to the engine and runtime to figure out how to most efficiently render it faithfully on a given hardware architecture
 

Izzy

Banned
From the same interview, but off topic:

Q:Are there different and separate lighting systems for the indoors and outdoors world of UE3? Is there usage of a kind of global illumination system or is it just normal mapping ala Half Life 2?


Tim Sweeney: The lighting and shadowing pipeline is 100% uniform -- the same algorithms are supported indoor and outdoor. Various kinds of lights (omni, directional, spot) are provided for achieving different kinds of artistic effects.

All lighting is supported 100% dynamically. There is no static global illumination pass generating lightmaps, because those techniques don't scale well to per-pixel shadowed diffuse and specular lighting.

Unbelievable. This is going to require a monster CPU/GPU combo.
 

marsomega

Member
http://forums.gaming-age.com/showthread.php?t=7477
bleh2.gif



Nvidia have been more than enthusiastic about the benefits of Instancing support in their NV40, we can see they were absolutely correct to feel this way. Implemented correctly its a great feature and not only does the Radeon X800 support it and the performance benefit is equally large, other DX9 class ATI cards also support this feature.


Driverheaven
 

Izzy

Banned
I've specifically given examples of SM 3.0 capabilities which R420 doesn't support. Both R420 and R300 support instancing. Hopefully R500 is going to be fully SM 3.0 capable.
 

Izzy

Banned
Doom 3 does just fine with older cards. On the other hand, UE3's lightning model is just beyond anything any current GF card is capable of, at anything approaching reasonable speed.
 

Pimpbaa

Member
SKluck said:
Huh, I though Doom 3's "unified lighting" actually meant that.

So it still uses both kinds then?

Doom 3 is all indoors. If there are any outdoor areas, it's probably extremely confined.
 

Izzy

Banned
SKluck said:
Huh, I though Doom 3's "unified lighting" actually meant that.

So it still uses both kinds then?


Doom 3's 'unified lighting' still uses lightmaps on some of the objects. UE3's is pure dynamic lighting.
 

shpankey

not an idiot
Vandiger said:
Well this just confirms that the 6800 GT is the best valued card of this current generation. You'd be a fool to get the ultra considering GT can overclock to ultra speed plus uses only one molex, I think the only reason to wait is maybe for the PCI Express version and being able to SLI ala 3dfx style. The only regret of buying the card is that I didn't jump sooner to take advantage of the BB or Buy.com preorder :p

agreed
 

Izzy

Banned
p_embry3.jpg

p_embry2.jpg

p_soldier.jpg

p_bezerker.jpg



Typical Content Specifications

Here are the guidelines we're using in building content for our next Unreal Engine 3 based game. Different genres of games will have widely varying expectations of player counts, scene size, and performance, so these specifications should be regarded as one data point for one project rather than hard requirements for all.
Characters

For every major character and static mesh asset, we build two versions of the geometry: a renderable mesh with unique UV coordinates, and a detail mesh containing only geometry. We run the two meshes through the Unreal Engine 3 preprocessing tool and generate a high-res normal map for the renderable mesh, based on analyzing all of the geometry in the detail mesh.

Renderable Mesh: We build renderable meshes with 3,000-12,000 triangles, based on the expectation of 5-20 visible characters in a game scene.
Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
Bones: Our characters typically have 100-200 bones, and include articulated faces, hands, and fingers.
Normal Maps & Texture maps

We are authoring most character and world normal maps and texture maps at 2048x2048 resolution. We feel this is a good target for games running on mid-range PC's in the 2006 timeframe. Next-generation consoles may require reducing texture resolution by 2X, and low-end PC's up to 4X, depending on texture count and scene complexity.
Environments

Typical environments contain 1000-5000 total renderable objects, including static meshes and skeletal meshes. For reasonable performance on current 3D cards, we aim to keep the number of visible objects in any given scene to 300-1000 visible objects. Our larger scenes typically peak at 200,000 to 1,200,000 visible triangles.
Lights

There are no hardcoded limits on light counts, but for performance we try to limit the number of large-radius lights affecting large scenes to 2-5, as each light/object interaction pair is costly due to the engine's high-precision per-pixel lighting and shadowing pipeline. Low-radius lights used for highlights and detail lighting on specific objects are significantly less costly than lights affecting the full scene.



Visual Features

64-bit color High Dynamic Range rendering pipeline. The gamma-correct, linear color space renderer provides for immaculate color precision while supporting a wide range of post processing effects such as light blooms, lenticular halos, and depth-of-field.
Support for all modern per-pixel lighting and rendering techniques including normal mapped, parameterized Phong lighting; virtual displacement mapping; light attenuation functions; pre-computed shadow masks; and pre-computed bump-granularity self-shadowing using spherical harmonic maps.
Advanced Dynamic Shadowing. Unreal Engine 3 provides full support for three shadow techniques:
Dynamic stencil buffered shadow volumes supporting fully dynamic, moving light sources casting accurate shadows on all objects in the scene.
Dynamic characters casting dynamic soft, fuzzy shadows on the scene using 16X-oversampled shadow buffers.
Ultra high quality and high performance pre-computed shadow masks allow offline processing of static light interactions, while retaining fully dynamic specular lighting and reflections.
All of the supported shadow techniques are visually compatible and may be mixed freely at the artist's discretion, and may be combined with colored attenuation functions enabling properly shadowed directional, spotlight, and projector lighting effects.
Powerful material system, enabling artists to create arbitrarily complex realtime shaders on-the-fly in a visual interface that is comparable in power to the non-realtime functionality provided by Maya.
The material framework is modular, so programmers can add not just new shader programs, but shader components which artists can connect with other components on-the-fly, resulting in dynamic composition and compilation of shader code.
Full support for seamlessly interconnected indoor and outdoor environments with dynamic per-pixel lighting and shadowing supported everywhere.
Artists can build terrain using a dynamically-deformable base height map extended by multiple layers of smoothly-blended materials including displacement maps, normal maps and arbitrarily complex materials, dynamic LOD-based tessellation, and vegetation layers with procedurally-placed meshes. Further, the terrain system supports artist-controlled layers of procedural weathering, for example, grass and vegetation on the flat areas of terrain, rock on high slopes, and snow at the peaks.
Volumetric environmental effects including height fog and physically accurate distance fog.
 
Top Bottom