Jump to content

  • Log In with Google      Sign In   
  • Create Account


Maximum texture size?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
13 replies to this topic

#1 Evil Steve   Members   -  Reputation: 1959

Like
0Likes
Like

Posted 07 July 2006 - 10:36 AM

Does anyone know if DX9 (Or OpenGL for that matter) defines a maximum texture size? As far as I know, no hardware supports over 4096x4096, but is there any reason that 8192x8192 isn't supported, aside from the memory usage? 8192x8192x32 is "only" 64MB after all... I'm currently implementing a texture sheet manager (I'm not sure of the correct term, but it's a texture atlas with 256x256 quads of texture), and I'm wondering if I need to account for support for textures over 4096x4096... Cheers, Steve

Sponsor:

#2 darookie   Members   -  Reputation: 1437

Like
0Likes
Like

Posted 07 July 2006 - 10:49 AM

See Device caps for Direct3D to find out the max. texture size.
Similarly, for OpenGL see "21.130 What's the maximum size texture map my device will render hardware accelerated?".

Oh, IIRC some ATI FireGL and NVIDIA Quadro cards do support 8k2-sized textures, though those are not customer cards [wink].

HTH,
Pat.

#3 Evil Steve   Members   -  Reputation: 1959

Like
0Likes
Like

Posted 07 July 2006 - 11:00 AM

Sorry, I should have been more clear. What I mean is - is there any maximum size that D3D itself supports, rather than the driver / card? For instance, I haven't seen a card that supports textures larger than 4096x4096 - is this just because none of the IHVs have bothered to allow textures larger than that, or because D3D imposes a limit somewhere?

#4 Demirug   Members   -  Reputation: 884

Like
0Likes
Like

Posted 07 July 2006 - 11:06 AM

AFAIK there is no maximum limit. Like the SDK the WDK says nothing about a limit.

You should at least plan for 8192*8192 as this will be the minimum for D3D10 hardware.


#5 jollyjeffers   Crossbones+   -  Reputation: 1542

Like
0Likes
Like

Posted 07 July 2006 - 11:49 AM

Shader Model 3 has a minimum requirement of 4096x4096 iirc.

It wouldn't surprise me if IHV's didn't jump any higher than they had to:

1. If developers wont use it, why waste effort?
2. If it makes the minimum spec, why go higher?
3. VRAM requirements - "only 64mb"... but going to 8k means 256mb - its still fairly rare to find 512mb video cards...

hth
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

#6 Evil Steve   Members   -  Reputation: 1959

Like
0Likes
Like

Posted 07 July 2006 - 12:12 PM

Quote:
Original post by jollyjeffers
Shader Model 3 has a minimum requirement of 4096x4096 iirc.

It wouldn't surprise me if IHV's didn't jump any higher than they had to:

1. If developers wont use it, why waste effort?
2. If it makes the minimum spec, why go higher?
3. VRAM requirements - "only 64mb"... but going to 8k means 256mb - its still fairly rare to find 512mb video cards...

hth
Jack

1. Forward thinking [smile]
2. See 1
3. My brain is fudge. I typed 8192x8192 into calculator, not 8192x8192x4...

If one texture is going to take up 256MB of VRAM, then I'm not surprised it's not (widely) supported [smile]

Thanks for the replies. I reckon it's fairly safe to assume that there wonh't be any textures larger than 65536x65536 anyway. That gives me 16 bits to play with. If there are any more, I can always clamp it...

#7 jollyjeffers   Crossbones+   -  Reputation: 1542

Like
0Likes
Like

Posted 07 July 2006 - 12:33 PM

Quote:
Original post by Evil Steve
I reckon it's fairly safe to assume that there wonh't be any textures larger than 65536x65536 anyway.
well that'd only require 16 gigabytes of VRAM to store a 64k*64k texture [lol]

Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

#8 Cypher19   Members   -  Reputation: 768

Like
0Likes
Like

Posted 07 July 2006 - 12:49 PM

And that's before mipmapping. You'd need about 21GB of ram to store a fully mipmapped 65k^2 texture. (and 340MB for an 8k^2 texture)

#9 Evil Steve   Members   -  Reputation: 1959

Like
0Likes
Like

Posted 07 July 2006 - 01:32 PM

Is that all? How long till video cards have their own virtual memory? [smile]

#10 sirob   Members   -  Reputation: 1180

Like
0Likes
Like

Posted 07 July 2006 - 03:09 PM

But, hardware has been supporting non-square textures for quite a while now, so using a 8k size for width, for example, doesnt mean you need to use it for height.

What if I need a sqrt lookup table with 8000 entries? a 8192x1x4 texture is only 32k. That's not much at all, so I am surprised that's not an option.

#11 jollyjeffers   Crossbones+   -  Reputation: 1542

Like
0Likes
Like

Posted 08 July 2006 - 12:51 AM

Quote:
Original post by Evil Steve
Is that all? How long till video cards have their own virtual memory? [smile]
Early next year - one of Vista/DXGI/D3D10's new features is virtualised memory [wink]

But I wouldn't like to see the performance when I'm shifting bits of my texture between VRAM, Sys-RAM and my HDD [lol]


Quote:
But, hardware has been supporting non-square textures for quite a while now, so using a 8k size for width, for example, doesnt mean you need to use it for height.

What if I need a sqrt lookup table with 8000 entries? a 8192x1x4 texture is only 32k. That's not much at all, so I am surprised that's not an option.
There's always one person who has to be sensible...

Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

#12 Demirug   Members   -  Reputation: 884

Like
0Likes
Like

Posted 08 July 2006 - 01:13 AM

Quote:
Original post by jollyjeffers
Early next year - one of Vista/DXGI/D3D10's new features is virtualised memory [wink]

But I wouldn't like to see the performance when I'm shifting bits of my texture between VRAM, Sys-RAM and my HDD [lol]

Jack


I don’t like to play devil’s advocate but the WDDM 1.0 virtual memory system will give us only a small improvement from what we have today. We get the option to swap out render targets but have to pay for it with every single byte that have to be travel from VRAM back to System RAM as there is no more backup copys like Direct3D 9 managed texture use.

Using more VRAM as you have will stiil be expensive. But as D3D10 have the requirement to create 128 MB resources I expect that most cards will have at least 256 MB.

WDDM 2.1 should be the great step.

#13 Evil Steve   Members   -  Reputation: 1959

Like
0Likes
Like

Posted 09 July 2006 - 03:42 AM

Ugh, semi-drunk posting is bad. I realised I was thinking of a 1D lookup texture too - I'm sure a 64k lookup texture could be useful in some cases.

Anyway, thanks for the replies.

#14 sirob   Members   -  Reputation: 1180

Like
0Likes
Like

Posted 09 July 2006 - 03:50 AM

While we're on the subject, this just came up on the DIRECTXDEV list. A very cool suggestion there was using a 4k^2 cubemap. Couple be extra useful if you're in a tight spot with max texture size :).




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS