Код:
Procedure SkyBox(Pos: TVector);
begin
glDisable(GL_DEPTH_TEST);
glColor4f(1,1,1,1);
glPushMatrix;
with Pos do
glTranslatef(X, Y, Z);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D,sky_4);
glBegin(GL_QUADS);
glTexCoord2f(1, 1); glVertex3f( -1, 1, 1);
glTexCoord2f(1, 0); glVertex3f(-1, 1, -1);
glTexCoord2f(0, 0); glVertex3f( 1, 1, -1);
glTexCoord2f(0, 1); glVertex3f(1, 1, 1);
glEnd;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D,sky_3);
glBegin(GL_QUADS);
glTexCoord2f(1, 1); glVertex3f(-1, -1, 1);
glTexCoord2f(1, 0); glVertex3f(-1, -1, -1);
glTexCoord2f(0, 0); glVertex3f(-1, 1, -1);
glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
glEnd;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D,sky_5);
glBegin(GL_QUADS);
glTexCoord2f(1, 1); glVertex3f(-1, 1, 1);
glTexCoord2f(1, 0); glVertex3f( 1, 1, 1);
glTexCoord2f(0, 0); glVertex3f( 1, -1, 1);
glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
glEnd;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D,sky_1);
glBegin(GL_QUADS);
glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
glTexCoord2f(1, 0); glVertex3f( 1, 1, -1);
glTexCoord2f(0, 0); glVertex3f( 1, -1, -1);
glTexCoord2f(0, 1); glVertex3f( 1, -1, 1);
glEnd;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D,sky_2);
glBegin(GL_QUADS);
glTexCoord2f(1, 1); glVertex3f(1, -1, 1);
glTexCoord2f(1, 0); glVertex3f(1, -1, -1);
glTexCoord2f(0, 0); glVertex3f(- 1, -1, -1);
glTexCoord2f(0, 1); glVertex3f(- 1, -1, 1);
glEnd;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glPopMatrix;
glEnable(GL_DEPTH_TEST);
end;