V
Hi!
Wie werden CubeMaps intern verwaltet? Für mich stellt sich die Frage, ob unbedingt 6 Texturobjekte notwendig sind, oder ob ich auch nur ein einziges Texturobjekt benötige. Für mich wäre es einfacher über glGenTextures ein Texturobjekt anzulegen, und dann über 6 glTextImage2D-Aufrufe die 6 Seiten der Cubemap zu setzen.
In etwa so:
glGenTextures 1, &CubeMap
glBindTexture GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT, CubeMap
glTexImage2D GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT, ...
glBindTexture GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT, CubeMap
glTexImage2D GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT, ...
glBindTexture GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT, CubeMap
glTexImage2D GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT, ...
glBindTexture GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT, CubeMap
glTexImage2D GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT, ...
glBindTexture GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT, CubeMap
glTexImage2D GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT, ...
glBindTexture GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT, CubeMap
glTexImage2D GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT, ...
Und dann beim Rendern:
glBindTexture GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT, CubeMap
glBindTexture GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT, CubeMap
glBindTexture GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT, CubeMap
glBindTexture GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT, CubeMap
glBindTexture GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT, CubeMap
glBindTexture GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT, CubeMap
Wäre dies so möglich?
mfg olli
Edit: Arg, kann ja keiner wissen, dass man unbedingt einen Filter setzen muss, damit das zu rendernde Mesh nicht einfach weiß bleibt. Jedenfalls geht das so wie ich es mir gedacht habe. Man braucht nur ein Texturobjekt. Verstehe nicht, warum die bei NVIDIA Developer usw. mehrere TexturObjekte verwenden.
Mal schauen, was das mit NormalMap noch auf sich hat.