Jump to content
  • Advertisement
d000hg

3D Rough idea on maximum 3D texture size

Recommended Posts

Now I know this is dependent on the PC to a big extent but I've been out of the loop with modern hardware for a few years. I have a project where a large 3D texture might solve things, we're talking maybe 512^3 but probably 8-bit, single channel. Memory wise this is not a big deal (it's not a game project and there are not lots of models or textures in use) but I really don't know if it would be supported on a typical PC (not a games rig). Or if it would slow things to a crawl... or once it's in the GPU memory it would not be unduly performance-limiting?

 

Share this post


Link to post
Share on other sites
Advertisement

the maximum size of a 3D texture in D3D11 hardware must  is 2048 (on all axis, so total maximum resolution can be 2048*2048*2048). so yes, it is supported on virtually every hardware out there. Performance wise there shouldn't be a difference that a 2D texture

Edited by Yourself

Share this post


Link to post
Share on other sites

Under OpenGL, this limit is defined by querying GL_MAX_3D_TEXTURE_SIZE. Also, as stated here, try to stick with POT texture sizes as much as possible.

To my opinion, the API will never give a size that, when used, will make the texture unpracticable (ie, too slow to be rendered or to be probed in a shader).

Edited by _Silence_

Share this post


Link to post
Share on other sites

512^3 is 128MB with 8-bit texels, so it reasonably fits into GPU memory on modern hardware.

2048^3 is 8GB which does not fit into on-board memory of common gaming GPUs. It does fit into professional (as in Quadro) cards, but even in professional applications it is rare that such large individual buffers would be used.

Note that the memory access is relatively much slower than shader arithmetic, if compared to 5-10 years ago. This is because memory bus width cannot be easily scaled up, but the number of shader cores has increased quite a bit. Whereas in the old days something would run better from a 3d lookup table, the same logic could now run much faster by just running the math on the shader. Depends on the program, of course.

Edited by Nik02

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!