|Original Author: John Smith of
First Shown: Computer Games Developers' Conference (CGDC) at Long Beach, California (May
HTML Implementation: PowerVR Global,
May 6th, 1998
- Focus on discussing 3D core technology
and features of PowerVR Series2 hardware.
- 3D core used in a number of parts
including PC, console and arcade
- PC 2D/3D product available Summer 98 with
development systems available E3
- First development units delivered in Feb
Topics to be covered
- The Architecture
Differences between first and second
generation platform described. As well as a discussion about where the architecture is
Where focus was placed
- Image Quality
What enhancements were made
Same fundamentals as first generation
- Tile based: Screen broken down into 32x16 tiles
- (PCX2 internally rendered at 32x1)
- Deferred Texturing: Only display visible pixels.
- On chip HSR: Faster method of Z -buffering
- Low Memory Bandwidth: Due to features above.
- Low cost: Single chip (~$30), Inexpensive memory
- Asynchoronous Rendering: Host CPU free during render
- Full 32bit floating point geometry and texture setup
- Hardware tiling engine
- 2 On chip accumulation buffers
- Unified memory architecture (2D & 3D part)
- PCI or AGP 2x with side band
- 1600 x 1200 Resolution (Super sampling up to 2048x2048)
- Increased Z compare modes (ignore, <, =, <=, >,
!=, >=, always)
Performance 102 - The Numbers
- Sustained 1.2 million front facing, lit, textured,
shaded, Z sorted polygons per second on a Intel P2-333.
- Actual screen fill rate of 100mpps(1clk/pixel).
- Using conventional fill rate methodology this translates
to PowerVR SG having a much higher fill rate. At 1.5x overdraw this translates to a
conventional fill rate of 150mpps.
- Or another way to put it:
- 1024x768 @ 60 fps with 'n' overdraw & 25%
translucency=~59mpps (room to spare!)
Performance 102 - Silicon
- Hardware Tiling Engine - Tiles no longer clipped within software.
- Increased Processing Elements - Tiles are now rendered at 32x16 pixels instead of 32x1 as on
- Per-pixel hardware translucency
sorting - No longer expects translucent polygons
to be pre-sorted in software.
- Increased clock rate and shrunk die
size - Now 100 MHz at 0.25 microns.
Performance 102 - Maximizing
- Strips/Fans - Both reduce amount of vertex data. Strips directly supported in
hardware. Fans done by using Strips internally. A Strip is a polygon that shares two of
it's vetices with another polygon. A Fan is a polygon that shares one of it's vertices
with another polygon.
- Compressed Textures - Large textures should be compressed to reduce the amount
of bus and memory transfer time.
- Overlap - Asynchronous rendering, freeing up host CPU to continue with your game
- Enable Super Sampling & Higher
filtering modes - Affects performance but can
improve image quality significantly!
Image Quality - Features
- Additional Fog Support - per pixel, Vertex Fog, and/or Fixed/Loadable Table
- Perspective correct RGBA Gouraud
Shading as well as intensity
- Specular Highlights with Offset Color
- Advanced Image Filtering Modes (per
polygon) - Point Sample Bilinear (1 cycle),
Trilinear (2 cycles), Anisotropic (4 cycles).
- 32-bit Floating Point Z-buffer
Accuracy - Reduce shimmering, tears and
- Full Multi-Texture and Multi-Pass
- Texture sizes up to 1024x1024
Image Quality - Texture formats &
- 8-bit Palletized (including 8888 palettes)
- 555 RGB, 565 RGB
- 5551 RGBA, 4444 RGBA
- 422 YUV
- VQ Compression (up to an 8:1 compression ratio)
- Bump maps
OpenGL and D3D blending
modes are supported
All blending done internally at 32 bits
of color to reduce artifacts
Image Quality - Bump Mapping
- Full hardware bump mapping
- Bump maps are supplied using
a Height Map
- Bump map is internally
converted to an intermediate light map
- Since you have the light map
you then may specify how it should be blended with the original texture
- Accessible in SGL Direct (native api) as
well as DirectX 6
Image Quality - Vector Quatization
- Texture Compression delivering up to an 8:1 lossy image
- Front end compression required (typically 3 sec/texture)
- Code book is a variable size up to 256x4 entries (RGBA @
- Decompression quick and basically for free
- Able to use with a mix of compressed and non compressed
Image Quality - Full Scene Super
- Image is rendered to a specified resolution and then is
scaled to the users view port using a bi-cubic filter (similar to Photo Shop).
- You may specify any X and/or Y screen size up to
2048x2048 - the maximum screen output resolution for PowerVR is 1600x1200.
- Benefit is very easy to use - no need to track edges and
specify which are aliased. Simply turn it on and specify the resolution.
- Only penalty for performance is fill rate - however it is
not equivalent to the full proportional to the extra pixels.
Image Quality - Generalized Modifier
- Extension to what was known on PowerVR first generation
as light and shadow volumes
- Sample images from a demo available in our SDK which
shows how one may use modifier volumes
- A second set of parameter data is supplied per modifiable
ploygon/model. When the object is in/out of the specified volume, the second set of
parameters may then be used.
- Examples of usage - X-Ray guns, ships whose cloaks start
to fail as they pass through the tail of a comet
- Full support for DirectX 5/6 (some features only
accessible under 6 - such as multi-texturing, bump mapping), OpenGL certified ICD, and SGL
Direct (native API)
- Very thin API - much of the previous work done in the
drivers with the PCX2 has now been brought down into the silicon
- World wide developer support with local staff in Silicon
Valley, Austin, London, Australia and Japan
- Development kits available to all qualified developers
this summer. Either contact me or go to our web site at http://www.powervr.com
Development - WWW site
- This web site is currently only available to qualified
developers under NDA
- Look forward to announcements soon regarding publicly
available developers materials
- Documentation & Reference Manuals
- Programming Guides, Optimization Docs
- Technology Information & News
- Lastest Drivers, Debug & Timing Utilities
- General Tools & Utilities
- FAQ Section
- Tips & Tricks Section
- Example Programs
- Special Events, e.g. Competitions