Originally posted by "Mecoita"
bene visto che siamo in tema di rivelazioni, faccio un piccolo regalo a tutti gli appassionati di schede video . Pubblico il contenuto di un ppt 3dfx in mio possesso da tempo che riguarda alcuni aspetti delle capacità del Rampage, buona lettura.
Rampage Texturing and Shading
Emmett Kilgariff, VP of Architecture
[email protected]
3/9/00
( private & confidential )
Rampage
Next Generation Rendering Engine (VTA)
Next Generation Video Engine
16M tri/sec, 800MP/sec, Single textured.
Programmable Shading
Higher quality filtering
T-buffer based AA
AA With 2 textures and Anisotropic with no performance hit.
AA With 4 textures with no performance hit
Scalable Architecture
Integrated Bridge functionality
Full AGP Support in SLI
Rampage Features
Massive Multitexturing: 8 textures each with different filtering: point, bilinear, trilinear, anisotropic (up to 128-tap).
Massive Iterators: 8 ARGBSTW iterators: one per texture.
Texture Recursion (Address ops) : recursion in parallel or series on up to 4 textures
Any combination of 4 recursions on the 8 available textures)
Recursion allows one texture to perturb the values of another texture
Two recursion modes
Before and after W divide
Applicable for bump mapping and procedural textures
Risc-like address op instruction model
Cubic Environment Mapping
Texture Compression
DirectX/DXT (all formats) ,FXT1 compressed textures
YUV Texture formats
Rampage Features (Continued)
Texture Computer (Pixel Shader)
Massive flexible math capability
texture combine unit: (a+b)*c+d feeding...
...color combine unit: (A+B)*C+D where each abcd and ABCD can be:
from any of iterator, texture, previous, registered and constant values.
manipulated independently with: x, -x, 1-x and x-0.5.
Compare based multiplexing:
texture and color: combine unit: (a-b)? c:d and
texture combine unit output summing
R+G+B may feed
color combine unit: .(a+b)*c+d, alpha and/or color channels
Useful for intensity ops, dot products.
Register based combiners
Allows for Sum of products, products of sums, etc.
Rampage Features (Continued)
Larger color component precision
13 bits per component
Precision maintained through alpha blenders.
Alpha Blender Logic Ops
Quad pixel pipeline
4 pixels-per-clock single textured (per chip)
4/N pixels per clock for N textures (per chip)
Scalable rendering: Up to four chips ganged together. No bridge chip required.
Optimized Geometry Pipeline.
Viewport Transforms and efficient host/graphics IO yield optimum performance
Works with (or without) Sage geometry co-processor
Why do we need massive multi-texturing if we have T&L?
Per pixel lighting
Shadows
Multiple light and surface maps
Modeling physical properties.
Programming Flexibility
Each texture has totally independent programming state.
STG: Recursion Data
Before Perspective correct divide or after
Recursive data can be scaled by a power of 2
Address = Iterator + (offset << n)
Recursion can be turned off.
Filter Control
Mipmapping control
Point sampled, bilinear, trilinear, anisotropic.
One map of many can be anisotropic without slowing the other textures.
4 through 128 tap filtering selectable per-texture.
Programming Flexibility (continued)
Per-texel operations (texture chroma)
Chroma on value or range
Flexible RGB controls.
RGB compares can be replaced with Alpha (3 compares).
“Traditional chroma (replace with black) Chroma Replace, Percentage passed modes.
Useful for smooth chroma-key effects, shadows, etc.
Anisotropic Filtering
Rampage enables usable anisotropic filtering for the first time in a cost effective personal computer environment
Far superior to trilinear filtering
Uses: Higher bit precision.
13 bit signed colors (overbright colors)
Reduces darkening associated with multi-texturing
Allows for “wash out” effect prevalent in cinema and video
Surface attenuations goes from 0 to 1.0, but light intensity can go from 0 to infinity.
Useful in scenes with sunlight or nighttime scenes.
Higher precision for environment bump mapping matrix multiply.
Lighting engine could easily be changed to clamp from 0 - 16 instead of 0-1 giving overbright iterated lighting automatically
Uses: Massive Multi-texturing.
Multiple light maps:
(Diffuse surface * diffuse light) + (specular surface * specular light)
Specular surface * iterated specular + (diffuse light * diffuse surface)
Multiple specular maps and properties (water on pavement at night 6 textures).
Multiple projected textures
Each possibly with its own shadow map.
Noise functions, other methods of combining textures to simulate physical motion
water, fire, clouds, etc.
Uses: Advanced Recursion
Diffuse bump , specular bump, reflective bump maps combined
Each bump map disturbs coordinates of a different texture.
Use scaling of recursive data to make for subtle bump maps
Uneven tile floor, slightly distorted glass, etc.
Combine bump maps together then recurse.
Ripples on water.
Bump maps affecting other bump maps
2, 3 or 4 sets of recursions; fluids, turbulence, etc.
Non-photo realistic rendering
Uses: Multiple Shadows.
Shadow lights, Sum lights together, then modulate surface
Modified stencil buffer trick.
Use Pe’s Xor function, and ARGB channels to model up to four shadow sources.
Texture chroma compare w/percentage passed used to identify when pixel is lit by light.
Object ID based shadowing
Shadow map projected from light source
contains object ID of lit object in RGB channel.
Use percentage passed to select in/out
Advanced Object ID shadowing.
Projected texture: RGB contain light, Alpha Object ID of surface lit
Alpha channel used to compare against Object ID, along with “never shadowing objects”
Traditional chroma used to let light through or set to zero on a per-texel basis.
Uses: Miscellaneous.
The Iris effect.
Do all lighting /texturing in 13 bit space, then use a constant color register to scale the range based on the average intensity of the image.
Dot Product
Three term (R0*R1 + G0*G1 + B0*B1)
Four term (A0*A1 + R0*R1 + G0*G1 + B0*B1)
Min/Max affects
Used in Halo Demo
Summary
Flexible combinations of up to eight textures
Flexible selection of filtering modes
per-texel operations
flexible texture computer with higher bit precision
Simple address ops based on texture computer output
Of course, this adds “flexibility”
Thanks for the images & Demos
Denis Amselem
Hubert Nguyen
Houman Meshkin
Jeff White
Gary Tarolli
E' SPAVENTOSO!!!!! :eek: :eek: