2009-12-20 6 views
9

J'ai essayé de comprendre comment utiliser les textures flottantes dans GLES2. La référence de l'API (http://www.khronos.org/opengles/sdk/docs/man/glTexImage2D.xml) indique que seuls les octets et les shorts non signés peuvent être utilisés, mais j'ai vu des gens dire qu'il est pris en charge ailleurs.Textures de virgules flottantes dans OpenGL ES 2.0

Je pourrais utiliser GL_LUMINANCE comme format de texture mais cela ne me donne qu'une valeur flottante.

Si quelqu'un a un aperçu je l'apprécierais.

Répondre

9

Dans OpenGL ES 2.0, les textures à virgule flottante ne sont prises en charge que si l'implémentation exporte l'extension OES_texture_float. Notez que cette extension permet uniquement le filtrage le plus proche dans un niveau de texture, et aucun filtrage entre les niveaux de texture. Cette restriction est assouplie par la présence de OES_texture_float_linear. Une autre mise en garde potentielle est que la présence de OES_texture_float ne nécessite pas que l'implémentation prenne en charge le rendu des textures à virgule flottante avec des objets framebuffer.

Qu'essayez-vous de faire avec les textures flottantes?

+0

Je stocke des informations de position. Il y aurait donc un fragment shader qui fait des calculs (mouvement de particule) et rend à un framebuffer qui est introduit dans un autre shader (render). La chose est, j'ai besoin de précision flottante. – notlion

+0

Lors de ma mise en œuvre (codage pour iOS) les clés étaient "GL_OES_texture_float" et "GL_OES_texture_half_float_linear" –