Skip to main content
gamedev.net
🔒 Locked

3Dc Nvidia

Started by n00body Mar 19, 2007 at 7:08 PM 5 replies 1.9k views
Original Post
n00body
n00body
Is there a way to utilize 3Dc normal maps on an Nvidia GPU (6800GT, fyi) under OpenGL? If so, does it have any limitations in comparison to doing it on an ATI GPU?

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970 [Websites:] Development Blog |
V-man
V-man
If GL_ATI_texture_compression_3dc is supported, yes.
Here's a demo http://www.ozone3d.net/tutorials/bump_map_compression_p5.php#o3tc
n00body
n00body
If I had that extension, I wouldn't be asking. I had heard that they worked out a way to decode 3Dc maps using the s3tc extension, so that their older cards could take advantage of the new technology. I thought that this could be applied to use on an Nvidia GPU as well. Any comments?

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970 [Websites:] Development Blog |
_the_phantom_
_the_phantom_
iirc you can just upload a 3Dc normal map as a two component texture and perform the decode in a fragment shader on hardware which doesn't support the extension directly.

On pre-shader hardware however I don't know how you'd do it.
n00body
n00body
But does doing it that way cause a severe performance hit, as compared to the GPUs that support it in hardware?

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970 [Websites:] Development Blog |
_the_phantom_
_the_phantom_
I believe it will cost you 2 or 3 instructions, which if you are bandwidth limited and not ALU limited shouldn't cause you a problem
n00body
n00body
So I have to finish decompressing it with a fragment program function. However, assuming that I already have the .dds parsed, how do I actually get the data into OpenGL? Do I just load it like I would any other DXT data?

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970 [Websites:] Development Blog |

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.