Вот так:
| Код | private void Coord(int number, double x, double y, double z) { string File; int size=16; File = "Texture"+number.ToString()+".bmp"; byte[, ,] Bits = new byte[size, size, 3]; Gl.glEnable(Gl.GL_TEXTURE_2D); Bitmap bitmap = new Bitmap(File); for (int i = 0; i <= size-1; i++) for (int j = 0; j <= size-1; j++) { Bits[i, j, 0] = bitmap.GetPixel(i, j).R; Bits[i, j, 1] = bitmap.GetPixel(i, j).G; Bits[i, j, 2] = bitmap.GetPixel(i, j).B; }
Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGB, size, size, 0, Gl.GL_RGB, Gl.GL_UNSIGNED_BYTE, @Bits); Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR); Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
Gl.glPushMatrix(); Gl.glRotated(-90, 0, 0, 1); Gl.glTranslated(-1.0+y/450, -1.0+x/450, z/450); Gl.glScaled(0.04, 0.04, 0.04); Gl.glBegin(Gl.GL_QUADS);
Gl.glTexCoord2d(0.0, 1.0); Gl.glVertex2d(0, 1);
Gl.glTexCoord2d(0.0f, 0.0f); Gl.glVertex2d(0, 0);
Gl.glTexCoord2d(1.0, 0.0f); Gl.glVertex2d(1, 0);
Gl.glTexCoord2d(1.0f, 1.0f); Gl.glVertex2d(1, 1); Gl.glEnd(); Gl.glPopMatrix(); Gl.glFlush(); }
|
|