Jim Helman (jimh++at++surreal)
Fri, 07 Jan 94 13:03:01 -0800
You can handle nearly-co-planar polygons with a Z-offset in the model,
but will probably run into z-buffer resolution problems at large ranges.
Performer supports pfLayer for defining a base polygon and a set of
decals to be rendered on top of it. 1.0/1.1 uses stencil for this
(render base polygons setting stencil, render decal polygon testing
for stencil). This does a perfect job, but stenciling significantly
reduces pixel-fill rates both for the base and decal polygons. So
1.2 adds layering based on displacepolygon. This is a lot faster,
but can cause artifacts. If you model using "subfaces" in Multigen,
the LoadFlt() should convert them to pfLayer's for rendering.
| 2. Yello road line gets blurred
| ==================================
| We are using road textures to produce a good looking road with a yellow
| middle line.
|
| the problem is that these textures gets blurred in perfromer. They look ok
| in Multigen but not in Preformer.
|
| It seems like some information regarding how the texture is supposed to be
| mapped onto the polygon is lost when moving from multigen to Performer.
You are seeing mipmapping in action. To avoid aliasing and texture
scintillation, the graphics hardware selects a subsampled version of
the texture based on the sizez relationship between screen pixels and
texels projected onto the screen. Mipmapping subsamples by a factor
of two in *both* u and v. When you view a square texture very
obliquely, as when looking down a road, the graphics hardware has to
choose whether to go to a fuzzy version of the image because the
texels are densely squished (minified) onto the screen along the road
or use a sharp version based on the spread out texels across the road.
Since the latter would cause scintallation along the road, the hardware
does the former and selects the fuzzier copy.
If the road is mainly viewed along it, as when driving. The solution
is to make the aspect ratio of the texture image match the *typical*
aspect ratio it has when projected onto the screen, e.g. make the
texture image 512 pixels wide (across the road) but only 64 pixels
long (along the road). This will look great along the road, but fuzzy
when the road is viewed perpendicularly. This is how the Performer
town/village demos handle the issue.
| 3. Intesity Alpha textures
| ==============================
| In multigen -- works ok (i.e. using the whole intensity range)
|
| In perfromer -- does not work correctly ( look ditherd )
You are not seeing dithering, but color quantization.
For full speed texturing, Performer uses 16bit texels.
RGB textures: (R,G,B) (5bits, 6bits, 5bits)
RGBA textures: (R,G,B,A) (4bits, 4bits, 4bits, 4bits)
If you call pfTexFormat(tex, PFTEX_INTERNAL_FORMAT, TX_RGBA8),
you'll get 32bit texels, but pixel-fill will run at half speed
for those textures.
| 4. Textures sometimes vanishes for short while:
| ================================================
| This is probably the strangest problem. If you drive a long a textured
| road. On certain spotsparts of the road dissappears.
|
| My customer has installed a MCO option aswell as a normal screen. If we
| run the application using MCO and three channels, the texure can
| dissappear in one of the cannels but not in the others.
Strange. Maybe someone else has an idea.
| 5. Releases
| ===========
|
| Maybe problems 1-4 are bugs in Performer ....
1-3 are not. Don't know about 4.
| What is the current release of Performer ?
1.1 for 5.X and 1.0 for 4.0.5.
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:08 PDT