PDA

View Full Version : HW Projective Textures



Nervus
08-12-2003, 04:00 AM
Hi,
Can someone tell me if there is a way to check if HW Projective Texturing is supported in OpenGL?

Obli
08-12-2003, 04:22 AM
There's no such functionality - at best, this should be (ARB?)depth_texture and (EXT?)shadow_funcs (better with render to depth texture) but those alone simply does not build a projective texturing system.
To do projective texturing you have to check for multiple functionalities.

Tom Nuydens
08-12-2003, 04:38 AM
http://www.opengl.org/discussion_boards/ubb/confused.gif

Obli, could you explain to me what "projective texturing" means to you? To me, it means projecting a texture onto some geometry (http://www.sgi.com/software/opengl/advanced98/notes/node49.html) . To do so, all you need to do is apply the projection to your texture matrix. I don't know of any cards that can't do this, and you certainly don't need any extensions to do it.

-- Tom

Nervus
08-12-2003, 04:45 AM
Tom, I'm not talking about the algorithm of projective texturing... i was talking about the lowest level... in the raster..

Hardware Projective texturing means that the raster will do the perspective corrected projective step for you... this means it will do the per-pixel divide and the per-pixel perspective correct... u will be u/w, v will be v/w z will be z/w and after that it will do the perspective correct step...

Nvidia TNT doesnt do this... so that's why i want to know if there is a way to find out if hardware projective texturing is available (in opengl, cause in Direct3D i only have to check the TEXTURE_PROJECTED caps in texture caps...)

Thanks

cass
08-12-2003, 05:31 AM
Hi Nervus,

NVIDIA TNT does indeed do projective texturing. On older hardware projective texturing came for free if the hardware supported perspective correction because for perspective correction you would do:

s' = (s/w) / (1/w)
t' = (t/w) / (1/w)

and for projective texturing you could combine projective texturing + perspective correction with the same divider by

s'/q' = (s/w) / (q/w)
t'/q' = (t/w) / (q/w)

Now, in the earliest multi-texture hardware there were some caveats about how projective texturing on one unit interacts with perspective correction (or projective texturing) on others.

Maybe you could describe the problem you're having in more detail?

Thanks -
Cass

Obli
08-12-2003, 08:34 AM
Originally posted by Tom Nuydens:
Obli, could you explain to me what "projective texturing" means to you?

Whoops, sorry, I messed up with projective shadows. ^_^!

Ostsol
08-12-2003, 09:29 AM
Originally posted by Obli:
Whoops, sorry, I messed up with projective shadows. ^_^!
Well, that's supported as well in OpenGL via the ARB_depth_texture and ARB_shadow extensions. http://www.opengl.org/discussion_boards/ubb/smile.gif

Nervus
08-13-2003, 12:12 AM
Originally posted by cass:

Hi Nervus,

Maybe you could describe the problem you're having in more detail?

Thanks -
Cass

I dont really have a problem, the thing is that I dont know how to check if a video board supports projective texture in hardware... i know the odds are very slight to find out one of these cards these days http://www.opengl.org/discussion_boards/ubb/wink.gif but for my own curiosity.

Thank you.