PDA

View Full Version : Two sided texture



vikky
04-24-2001, 12:53 AM
Never heard of such extension to OpenGL (might be it exists already?), but I do need the following feature (and hope the lot of developers need it too). I mean the same thing as with two sided lighting, when I could (it works significantly slow, but still...) to set different material properties for front and back model surface for lighting...but I can't use different textures for front and back. WHY??? I know OpenGL (SGI version) inside -worked for it's optimization, and I'm sure Two sided texture extension (or even feature) is easy implementable and not commutatively expensive- it's even easier then Two sided lighting.
Suppose I create a virtual human and use a real skin texture for his head, but when he opens his mouth and turns his head, I need mouth cavity texture from inside his cheeks...and it's not the only case this extension could be handy.

Humus
04-24-2001, 11:34 AM
This effect can easily be implemented by first drawing it with texture one and cull back faces, then draw it with texture two and cull fron faces.

vikky
04-25-2001, 02:05 AM
Thanks for your reply, unfortunately I know the method you've suggested, but why we don't do it with 2 sided lighting (it's also possible) instead of removing it from OpenGL spec)?? Cause it's in-con-ve-ni-ent and slower then the way I suggest http://www.opengl.org/discussion_boards/ubb/frown.gif


[This message has been edited by vikky (edited 04-25-2001).]

Humus
04-25-2001, 02:22 AM
I'm not that sure that it actually is slower. With two sided textures it would be like two different textures and the driver would need to select which texture to bind depending on which side of the polygon you are. This would lead to loads of texture binds which could actually reduce performance quite a bit.

vikky
04-25-2001, 02:35 AM
Ok, I'm not THAT sure too, but it seems to me the same "two passes algorithm" could be implemented _inside_ OpenGL to avoid frequent texture rebinding and OpenGL developer troubles. I got your opinion, thanks for it again.