po proszę o pomoc, coś robię źle z vbo, ponieważ gdy z palca wklepię koordy i vertexy to wyświetla mi się załadowana grafika w całości, natomiast w vbo wyświetla mi się tylko kolor dolnego pixela, czyli w tym wypadku kolor żółty i tak zwyczajny prostokąt zamiast być z obrazkiem rysuje mi się żółty co w metodzie wklepywania z palca się nie przytrafia
tak wygląda moje ładowanie vbo:
[code] glGenBuffers( 1, &vb[i] ); // Get A Valid Name
glBindBuffer( GL_ARRAY_BUFFER, vb[i] ); // Bind The Buffer
// Load The Data
glBufferData( GL_ARRAY_BUFFER, sizeof (GLfloat)*new_v.size()*3, &new_v[0].x, GL_STREAM_DRAW );
// Generate And Bind The Texture Coordinate Buffer
glGenBuffers( 1, &vb2[i] ); // Get A Valid Name
glBindBuffer( GL_ARRAY_BUFFER, vb2[i] ); // Bind The Buffer
// Load The Data
glBufferData( GL_ARRAY_BUFFER, sizeof (GLfloat)*new_uv.size()*2, &new_uv[0].u, GL_STREAM_DRAW );[/code]
a tak rysowanie:
[code]glEnableClientState( GL_VERTEX_ARRAY ); // Enable Vertex Arrays
glEnableClientState( GL_TEXTURE_COORD_ARRAY ); // Enable Texture Coord Arrays
// Set Pointers To Our Data
int i=0;
glBindBuffer( GL_ARRAY_BUFFER, vb[i] );
glVertexPointer( 3, GL_FLOAT, 0, BUFFER_OFFSET(0) ); // Set The Vertex Pointer To The Vertex Buffer
glBindBuffer( GL_ARRAY_BUFFER, vb2[i] );
glTexCoordPointer( 2, GL_FLOAT, 0, BUFFER_OFFSET(0) ); // Set The TexCoord Pointer To The TexCoord Buffer
// Render
glDrawArrays( GL_TRIANGLES, 0, tab[i]*3 ); // Draw All Of The Triangles At Once
// Disable Pointers
glDisableClientState( GL_VERTEX_ARRAY ); // Disable Vertex Arrays
glDisableClientState( GL_TEXTURE_COORD_ARRAY );[/code]
plik obj, który sobie zrobiłem:
[code]v 1.000000 -0.000000 -1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 1.000000
vt 0 0
vt 0 1
vt 1 1
s off
f 1 2 3[/code] trochę przekłamany bo jest tylko jedna ściana, ale wczytuje ją jako ścianę dla koodów i vertexów
metoda z palca na której wyświetla się tekstura:
[code]glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex3f(0, 0, 0);
glTexCoord2f(0, 1); glVertex3f(0, 2,0);
glTexCoord2f(1, 1); glVertex3f(2, 2,0);
glTexCoord2f(1, 0); glVertex3f(2, 0,0);
glEnd();[/code] więc wiadomo, że ładowanie tekstur jest wporządku
tablice też są ok, ponieważ wyświetlałem ich zawrtość w dobrej kolejności i wszystko się zgadzało