On Sun, 14 Nov 2004, Pat Suwalski wrote:
> I downloaded pre6 and tried on my Radeon 9800. Currently, the OpenGL2
> render path is broken, as expected, but so is the Vertex shader path:
That's not a new problem, nor one specific to ATI hardware. The
interaction of shadows and ambient light has never been right in the
vertex shader path, and that's a major reason that I added the OpenGL 2.0
> The OpenGL2 path has three errors I can detect.
> #1: It doesn't seem to do planet lighting.
> #2: Shadows are a little messed (also contains #1):
OK . . . That's strange. Could you send me the contents of shaders.log?
Also, what do you see when you visit a planet like Venus, which has no
shadows or additional texture maps?
> #3: Very strange flickering phenomenon on lightmap, possibly related to
> the overall shading of the planet:
That looks somewhat like a z-fighting problem, which doesn't make sense at
all since in the OpenGL 2.0 path, the planet should be rendered in a
> Chris, your trip is timely, since by the time you get back, there should
> be some Linux drivers from ATI that can deal with this, possibly
> providing more insight into the problem.
That'd be great . . . At the moment, it's very difficult for me to make
any progress on the ATI OpenGL 2.0 issues.
> Either way, I'll take a peek at the .vp files and play when I have time.
The OpenGL 2.0 path doesn't use the .vp files. Instead, it constructs
shaders at runtime from program fragments. Different shaders are created
for various combinations of surface properties (normal map, specular map,
night light texture) and lighting state (number of lights, number and
type of shadows.) Shaders are constructed by the ShaderManager class, and
the source of each shader is dumped to shaders.log.