, , , , , , , . , , .
(2D, 3D ..). , , . , :
glBindTexture(GL_TEXTURE_2D, texId1);
glBindTexture(GL_TEXTURE_3D, texId2);
texId1 texId2 , , .
, . . .
glGenTextures(), glBindTexture() .. :
- .
- , , , ,
glTexParameteri().
/ , .
OpenGL , . , , -. .
glActiveTexture() . , , . :
glActiveTexture(GL_TEXTURE3);
glBindTexture(GL_TEXTURE_2D, texId);
texId 3. , ( 0) texId.
, OpenGL 3.3 . , . , , .
, , , , , ? , , , . , .
, . , LINEAR NEAREST . , ( ). Sampler .
, OpenGL 4.3. , , .
( ) , . . , , .
, , , . .
, , . . , "MyFirstTexture" - , , 3:
GLint loc = glGetUniformLocation(prog, "MyFirstTexture");
glUniform1i(loc, 3);
:
glActiveTexture(GL_TEXTURE3);
glBindTexture(GL_TEXTURE_2D, texId);
. , (3), glActiveTexture() (GL_TEXTURE3). , API, .
, , , ( "-" ):
, 0 1:
glUseProgram(prog);
GLint loc = glGetUniformLocation(prog, "MyFirstTexture");
glUniform1i(loc, 0);
loc = glGetUniformLocation(prog, "MySecondTexture");
glUniform1i(loc, 1);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texId0);
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texId1);
, . . ( ), "" ( glActiveTexture()/ glBindTexture ( ) `.
, : . , ( ). ( ). , .