1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
GLuint textures[1]; // Texturen
GLuint vBuffer, tBuffer; // VBO Buffer
void createOutput(){
// Textur
glGenTextures(1, textures);
loadTexture("textures/textur.tga");
// Vertex
float vertex[] = {0, 0, 0, 2, 0, 0, 2, 0, 2,
0, 0, 0, 2, 0, 2, 0, 0, 2};
glGenBuffers(1, &vBuffer);
glBindBuffer(GL_ARRAY_BUFFER, vBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertex), &vertex, GL_STATIC_DRAW);
// Texturkoordinaten
float texCoords[] = {0, 0, 1, 0, 1, 1, 0, 1,
0, 0, 1, 1, 1, 1, 0, 0};
glGenBuffers(1, &tBuffer);
glBindBuffer(GL_ARRAY_BUFFER, tBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(texCoords), &texCoords, GL_STATIC_DRAW);
}
void draw(){
glBindTexture(GL_TEXTURE_2D, textures[0]); // Textur
glBindBuffer(GL_ARRAY_BUFFER, vBuffer); // Vertex
glVertexPointer(3, GL_FLOAT, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, tBuffer); // Texturkoordinaten
glTexCoordPointer(2, GL_FLOAT, 0, 0);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawArrays(GL_TRIANGLES, 0, 6); // Ausgabe
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
|