SDL_CreateTexture creates a texture which is associated to a specific renderer, as I understand (and can also only used with this renderer, I guess). For a given texture, can I somehow query which renderer that is?
On the size, I remember that some OpenGL backends require the size to be a multiple of 2. But I don’t see any such requirements in the doc. So it automatically handles that internally, i.e. it uses the next bigger size which is a multiple of 2?
I understand that there is a maximum texture size. So if I need something bigger, I need to handle that manually, i.e. create multiple textures?
Is there some guaranteed minimum texture size which is always supported?
Maybe the docs should be updated to answer these questions.
Historically each dimension of a texture should be a power of 2
(2,4,8,…,128…,512) but you probably do not need to worry about that
on current platforms: according to Wikipedia non-power-of-two textures
are allowed as of OpenGL 2.0 (released in 2004), or OpenGL ES 2.0
(released in 2007).
OpenGL implementations are guaranteed to support at least 64x64 pixel
textures. Yours probably supports larger textures.
I didn’t see a way to query texture -> renderer associations either.On Wed, Sep 10, 2014 at 11:38 AM, albert wrote:
Hi,
SDL_CreateTexture creates a texture which is associated to a specific
renderer, as I understand (and can also only used with this renderer, I
guess). For a given texture, can I somehow query which renderer that is?
On the size, I remember that some OpenGL backends require the size to be a
multiple of 2. But I don’t see any such requirements in the doc. So it
automatically handles that internally, i.e. it uses the next bigger size
which is a multiple of 2?
I understand that there is a maximum texture size. So if I need something
bigger, I need to handle that manually, i.e. create multiple textures?
Is there some guaranteed minimum texture size which is always supported?
Maybe the docs should be updated to answer these questions.
The SDL_GetRendererInfo function will fill in a struct which contains ?max_texture_width? and ?max_texture_height? members, if you want to know the values at runtime.On Sep 10, 2014, at 1:48 PM, Daniel Holth wrote:
OpenGL implementations are guaranteed to support at least 64x64 pixel
textures. Yours probably supports larger textures.
I didn’t see a way to query texture -> renderer associations either.