realbasic-games
[Top] [All Lists]

Re: Texture size / GL_MAX_TEXTURE_SIZE ?

To: REALbasic Games <realbasic-games at lists dot realsoftware dot com>
Subject: Re: Texture size / GL_MAX_TEXTURE_SIZE ?
From: Michael Diehr <md03 at xochi dot com>
Date: Thu, 16 Nov 2006 09:11:07 -0800
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-games at lists dot realsoftware dot com
References: <C180F4E7 dot 8269%mauitom at maui dot net>
On Nov 15, 2006, at 6:46 PM, Thomas Cunningham wrote:

2. Is there a list of VRAM and GL_MAX_TEXTURE_SIZE values for the
most common graphics cards out there?  Or, are there any "rules of
thumb" which would suffice?   I'm not looking for great detail, just
something along the lines of "pretty much every graphics chip sold
after 200X had at least Z total VRAM and supported NxN texture
sizes". This will help me describe my "minimum systems requirements".

http://www.opengl.org/resources/faq/technical/texture.htm

See 21.130 What's the maximum size texture map my device will render
hardware accelerated?

HTH
Thomas C.

My first tests have been of mixed success -- goal: have two 1024x1024 textures animating with transparency, full-screen on a Powerbook G4/667. This machine has a 16MB Mobility Radeon according to http:// mywebpages.comcast.net/macdan/pb_video.html

My naive calculations suggested this should work, i.e.:
  1024x1024x24 bit texture       =  3MB
  1024x1024x24 bit texture       =  3MB
  1152x768x24  bit screen buffer =  2.5MB
                     Grand total =  8.5MB

....and yet it was failing! If I used two 512x512 textures it would work. Where did my math go wrong? I have some ideas:

What if all buffers are actually stored as RGBA 4 bytes instead of RGB 3 bytes:
  1024x1024x32 bit texture       =  4MB
  1024x1024x32 bit texture       =  4MB
  1152x768x32  bit screen buffer =  3.4MB
                     Grand total = 11.4MB

This is still well under 16MB, so perhaps something else was wrong? What if there are two screen buffers?
  1024x1024x32 bit texture       =  4MB
  1024x1024x32 bit texture       =  4MB
  1152x768x32  bit screen buffer =  3.4MB
  1152x768x32  bit screen buffer =  3.4MB
                     Grand total = 14.8MB

Suddenly, we are quite close to 16MB, so I can see why this may be failing, given overhead etc.

Further investigation of my code revealed some additional issues/ ideas, such as a depth buffer (which I don't need), and another additional buffer. I also realized that textures can be set to use the 16 (15) bit RGB 555 format (GL_RGB5), which cuts their size in half.

So after a bit of tweaking I was able to get two 1024x768x32 buffers working on this mac.
:-)


_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>