Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.74 KB | None | 0 0
  1. int insert_texture()
  2.         {
  3.            
  4.             int width, height;
  5.             BYTE* data;
  6.             FILE* file;
  7.  
  8.             // Datei öffnen
  9.             file = fopen("texture.raw", "rb");
  10.  
  11.             // Speicherplatz zuweisen
  12.             width = 256;
  13.             height = 256;
  14.             data = malloc(width * height * 3);
  15.  
  16.             // Textur einlesen und Datei wieder schließen
  17.             fread(data, width * height * 3, 1, file);
  18.             fclose(file);
  19.  
  20.  
  21.             // Texturname zuweisen
  22.             Gl.glGenTextures(1, texturspeicher);
  23.             // Umgebungszustand für die Textur festlegen
  24.             // MODULATE multipliziert die Farb- und Alpha-Werte der Textur mit denen vom Lichtsystem
  25.             Gl.glTexEnvf(Gl.GL_TEXTURE_ENV, Gl.GL_TEXTURE_ENV_MODE, Gl.GL_MODULATE);
  26.             // Bei kleiner Texturfläche wird die nähste Textur bilinear gefiltert
  27.             Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_NEAREST);
  28.             // Bei großer Texturfläche wird das ganze Original bilinear gefiltert
  29.             Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
  30.             // Textur wird über die Kanten geschlagen (Wiederholt)
  31.             Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT);
  32.             Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT);
  33.  
  34.  
  35.             // Kopiert die Texturdaten nach OpenGl und womöglich auch in den Grafikkartenspeicher
  36.             Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, 3, width, height, Gl.GL_RGB, Gl.GL_UNSIGNED_BYTE, data);
  37.             // Gibt den Speicher danach wieder frei
  38.             free(data);
  39.  
  40.             return texturspeicher;
  41.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement