PowerVR Texture problem


I am using the PowerVR “SDK ogles 1.0 Windows PCEmu” on an Intel 82845G/GL/GE/PE/GV 64MB RAM graphic card.

When using 4 coordinates per texture array element:
glTexCoordPointer(4, GL_FIXED, 0, …

in combination with 3 coordinates per vertex:
glVertexPointer(3, GL_FIXED, 0, …

the fourth element (1/z, w-coordinate) of the texture coordinates are ignored.

When using instead
glVertexPointer(2, GL_FIXED, 0, …
all four elements are correctly taken into account.

Now my questions:

  1. Is it only a problem with the PowerVR emu?
  2. Is it a problem with my graphic card driver?
  3. Will the real ProwerVR behave the same?
  4. Anybody succeeded (on other implementations) to use 4,3 coordinates combination?

-Best regards, ii7017-

I can verify this. And it’s a oh so common problem that various OpenGL/ES implementation mess up the 4th component of texcoords (don’t ask me why - it’s just a homogenous coordinate. That stuff is not difficult to understand).

The emulator at least has correct behaviour in some cases. The implementations on the real PowerVR chips I’ve seen (a workmate works with them) do it wrong all the time, but to o be fair, all other OpenGL/ES implementations I’ve seen so far do it wrong as well.

Btw, using the texure matrix to inject non-one w-coordinates into the texture coordinates doesn’t work either. I think the 3rd and 4th component is silently ignored.

Imho proper handling of homogenous texture coordinates should be part of the OpenGL/ES tests.


unfortunately I found a bug in my application. The PowerVR “SDK ogles 1.0 Windows PCEmu” seem so work fine for both combinations.

-Best regards, ii7017-

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.