No subject


Mon Jan 31 09:48:23 CST 2011


++++++++++++++++++++++++++++++++++++
DETAILS =E2=80=93 BENCHMARK MODE / SPLINTER CELL DESIGN

The Splinter Cell benchmark mode was a tool created to validate our perform=
ance
optimization in the engine. This tool can be especially useful to determine=
 the
performance of a specific PC configuration (GPU and CPU). 3 demos are inclu=
ded
in this release (1_1_1TbilisiDemo.bin, 1_1_2TbilisiDemo.bin,
2_2_1_Kalinatek.bin)

Some basic understanding of the Splinter Cell renderer and settings are nee=
ded
to accurately use it as a performance analysis tool. UbiSoft does not suppo=
rt
this feature at the consumer level but will answer questions asked by hardw=
are
reviewer magazines or OEMs.

Splinter Cell has 3 different rendering pipes:

Class 2 Graphic Adaptors:
NV2x/NV3x chips
Dynamic Lighting system =3D Shadow Buffer
Vertex position modifiers =3D Yes
Light beams stopped by depth texturing =3D Yes
Pixel Shader effects/filters/water =3D Yes
Reflection/Details texturing/Specular =3D Yes

Class 1 Graphic Adaptors:
R2xx/R3xx/Parhelia/Xabre 200/Xabre 400/Xabre 600/chips/Creative P9
Dynamic Lighting system =3D Shadow Projector
Vertex position modifiers =3D No
Light beams stopped by depth texturing =3D No
Pixel Shader effects/filters/water =3D Yes
Reflection/Details texturing/Specular =3D Yes

Class 0 Graphic Adaptors:
R1xx/NV1x chips
Dynamic Lighting system =3D Shadow Projector
Vertex position modifiers =3D No
Light beams stopped by depth texturing =3D No
Pixel Shader effects/filters/water =3D No
Reflection/Details texturing/Specular =3D No

Class 2 adaptors can run as Class 2, Class 1 or Class 0 adaptors while Clas=
s 1
adaptors can run as Class 1 or Class 0 adaptors. Class 0 adaptors are only =
able
to run Splinter Cell as Class 0 adaptors.
You can force a class 1 or class 2 adaptor to run as a different class by
editing the splintercell.ini file in the \system directory. Uncomment
=E2=80=9CForceShadowMode =3D 0=E2=80=9D to force the card to run as class 1=
 adaptor (if able to)
or change =E2=80=9CEmulateGF2Mode=3D0=E2=80=9D to =E2=80=9CEmulateGF2Mode=
=3D1=E2=80=9D to run as a class 0 adaptor.

Why does Splinter Cell have a special mode for NV2x/NV3x graphic chips?

Splinter Cell was originally developed on XBOXTM. Features only available on
NV2x chips were used and it was decided to port them to the PC version even=
 if
these chips would be the only one able to support them. Considering the
lighting system of XBOXTM was well validated, it was easy to keep that syst=
em
intact.

Splinter Cell Dynamic lighting system

Splinter Cell shadow system is a major part of the game. On NV2x/NV3x hardw=
are,
it runs using a technique called Shadow Buffers. This technique is rendering
the scene from every shadow casting light and store a depth buffer that
represent each pixel viewed by this light source. Each pixel has an X, Y, Z
coordinate in the light system and these coordinates can be transformed, per
pixel, in the viewer coordinate system. It=E2=80=99s then easy to compare w=
ith the
actual depth stored in the Z buffer to figure out if the pixel viewed by the
camera is the same or is occluded by the pixel viewed by the light. If they=
 are
the same, it means the pixel is lighted, if the light pixel is in front of =
the
viewer pixel, it means the pixel is in the shadow. On all other current
hardware, the game is using another technique called projected shadows (sha=
dow
projectors). The technique is somewhat similar, we render the scene from the
light point of view but instead of storing the depth, we are storing the co=
lor
intensity in a texture. That texture is then mapped per vertex on each obje=
ct
that is going to receive the shadow. To be able to have objects casting sha=
dows
on other objects that are themselves casting shadows, Splinter Cell is usin=
g a
3-depth levels shadow casting algorithm. In general, the first level is use=
d to
compute the shadow to be used on the dynamic actors like Sam. The second le=
vel
is used to compute the shadow used by the static meshes like a table or box=
es.
The final level is used for the projection on the BSP. This system is allow=
ing
Sam to receive the shadow of a gate on him, then Sam and the gate can cast =
on a
box and finally all three objects can cast on the BSP (ground). This system
also has a distance check algorithm to determine if Sam=E2=80=99s shadow sh=
ould be
projected on a static mesh (like a box) or if it shouldn=E2=80=99t base on =
their
relative position. Both systems have their own strength/weaknesses. The main
advantage of the Shadow Buffer algorithm is how easy it is to work with. Sh=
adow
Projectors are tricky and difficult to use.

--=20
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=3Demail
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.=



More information about the wine-bugs mailing list