0 Favourites

Textures

This forum is currently in read-only mode.
  • From what I understand, each image loaded is converted to the next power of two texture (128, 256, 512). But If I have an object with very different proportions between height widt, it is a waste of memory. Would be nice to have an option to share textures or sprites between different object but assigning differents pieces-areas, mapping. So, this way we can optimice memory, for eve animation, where a character deals different sizes of area-pixels. I think it is a need for a texture palette or linker too.

  • They don't have to be square, just power of 2

    eg:

    256x256

    64x128

    8x8

    16x512

    etc. etc.

    Or are you wanting to slice them up? Or are you wanting none power of 2 textures (really bad idea). I don't really understand what you're asking. :\

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • They don't have to be square

    I'm pretty sure they do. If you don't want to waste space, that is.

    Would be nice to have an option to share textures or sprites between different object but assigning differents pieces-areas, mapping.

    As far as I know graphics cards just don't work that way. Sure, some can handle non-power-of-two textures just fine, but some just plain don't. It's not a Construct issue at all.

  • > They don't have to be square

    >

    I'm pretty sure they do. If you don't want to waste space, that is.

    Nope, it's fine, but both the width and height do have to be pow2. If square textures were forced, then a long thin strip image would waste tons of space in a square but far far less when non-square. OpenGL and Direct3D have no problem with non-square textures.

    Just did a quick test in construct

    128x512 tiled background = 0.25mb VRAM

    512x512 tiled background = 1.00mb VRAM

    So works fine in construct too. So if that was what he was looking for, he should be ok with that.

  • I think a lot of modern graphics cards support power-of-two on either axis, like 128x32. Some old or cheap ones might not though, in which case you'd waste memory with a square surface. But it's an extremely complicated optimisation to make at this stage - if we did it, it'd wait until Construct 2.

  • I think that all year 03+ GPU support it or probably most older ones as cheap ones are usually made from high end by just removing few shaders etc. etc. and I think that most intergrated solutions support it too and if you can run D9 and some games with it I'm 99% sure that 128x32 work perfect

  • 128x512 tiled background = 0.25mb VRAM

    512x512 tiled background = 1.00mb VRAM

    It's nice to know this for sure

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)