Multimodale-Visualisierung

3D Texture Besonderheiten

Die Grafikhardware unterstützt nicht beliebig grosse 2D bzw. 3D Texturen. Die maximale Größe erfährt man mit:

GLint maxtexsize2D,maxtexsize3D;
glGetIntegerv(GL_MAX_TEXTURE_SIZE,&maxtexsize2D);
glGetIntegerv(GL_MAX_3D_TEXTURE_SIZE,&maxtexsize3D);
printf("max2D=%d\n",maxtexsize2D);
printf("max3D=%d\n",maxtexsize3D);

Die maximale Größe einer NVIDIA GeForce 9600M GT (MacBook Pro) ist z.B.:

maxtexsize2D=2048
maxtexsize3D=8192

3D Texturen werden unter Windows noch als OpenGL Extension angesehen, deren Funktionspointer man sich erst besorgen muss:

extern "C"
{
#include <GL/glext.h>
}

#include <windows.h>

PFNGLTEXIMAGE3DEXTPROC glTexImage3DEXT;

glTexImage3DEXT=
  (PFNGLTEXIMAGE3DEXTPROC)wglGetProcAddress("glTexImage3DEXT");

#define glTexImage3D glTexImage3DEXT

Dazu ist der glext.h Header notwendig, der auf den Seiten der OpenGL Registry zur Verfügung gestellt wird.

Options: