[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.12.3.1 Texture dimensions

3D hardware (but also software) can render textures more efficiently if the dimensions are powers of two (abbreviated as "PO2") (e.g. 256x256, 512x128...), to the extent that hardware and graphics APIs (e.g. OpenGL) require textures to have PO2 dimensions. So does CrystalSpace for all textures, 2D and 3D. While you can feed non-PO2 textures into CS, they will be resized internally to a PO2 size (e.g. 640x480 will become 512x512). The resizing isn't very good, though: the texture will end up looking rather ugly when rendered.

Although most modern hardware supports non-PO2 textures, there is still hardware that doesn't, and non-PO2 textures have limitations (e.g. no mipmapping, no wrapping around on edges) on all but high-end (as of time of this writing - e.g. NVidia GeForce 6800) hardware.

Bottom line: Use power-of-two sized textures.

Another facet is what size actually to use; it all depends on the content, of course. Some points to consider:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated using texi2html 1.76.