- procedure TForm1.paintMultiTexture;
- var
- px,py,pz : TGLFloat;
- begin
- px := -3;
- py := 3;
- pz := -5;
- glMaterialfv(GL_FRONT, GL_AMBIENT, @mat_fest[0]);
- glMaterialfv(GL_FRONT, GL_Diffuse, @mat_fest[0]);
- TSActive[0] := True;
- TSActive[1] := True;
- glActiveTexture(GL_TEXTURE1);
- // Lightmap (Texture stage 1)
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D,texture[5]);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- // Basetexture (texture stage 0)
- glActiveTexture(GL_TEXTURE0);
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D,texture[4]); //Raser
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- // Fläche
- glBegin(GL_QUADS);
- glMultiTexCoord2f(GL_TEXTURE0, 0, 0);
- glMultiTexCoord2f(GL_TEXTURE1, 0, 0);
- glMultiTexCoord2f(GL_TEXTURE2, 0, 0);
- glVertex3f(px, py, pz);
- glMultiTexCoord2f(GL_TEXTURE0, 0, 1);
- glMultiTexCoord2f(GL_TEXTURE1, 0, 1);
- glMultiTexCoord2f(GL_TEXTURE2, 0, 3);
- glVertex3f(px, py + 3, pz);
- glMultiTexCoord2f(GL_TEXTURE0, 1, 1);
- glMultiTexCoord2f(GL_TEXTURE1, 1, 1);
- glMultiTexCoord2f(GL_TEXTURE2, 3, 3);
- glVertex3f(px + 3, py + 3, pz);
- glMultiTexCoord2f(GL_TEXTURE0, 1, 0);
- glMultiTexCoord2f(GL_TEXTURE1, 1, 0);
- glMultiTexCoord2f(GL_TEXTURE2, 3, 0);
- glVertex3f(px + 3, py, pz);
- glEnd;
- TSActive[0] := False;
- TSActive[1] := False;
- end;