Bonjour à tous,
Je suis débutant avec OpenGL / OpenGL ES. (Et je suis en train d’apprendre le français aussi)
J’écris une application qui va prendre des donnés (x, y, z=0) d’une ville réelle (les valeurs peuvent être grandes) et puis tracer sur l’écran. Le système que j’utilise : Symbian S60 (9.1), OpenGL ES, Symbian C++.
Je ne sais pas pourquoi ça ne marche pas. Je pense que la cause est que les valeurs x, y sont trop grosses. Voyez mon code ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 void Viewer::drawScene(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glViewport( 0, 0, iScreenWidth, iScreenHeight ); glMatrixMode( GL_PROJECTION ); glLoadMatrixf(MatrixPerspective); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); glColor4f(0,1,0,1); glEnableClientState ( GL_VERTEX_ARRAY ); int nbVertices = Loader->data->GetNBOfVertices(); GLfloat *vertices = Loader->data->GetVertices(); glVertexPointer( 3, GL_FLOAT, 0, vertices ); glDrawArrays( GL_LINE_STRIP, 0, nbVertices); glDisableClientState(GL_VERTEX_ARRAY); }
est ce que vous auriez une idée ?
Quelques données, avec 25 vertices
{x=1114.9, y=-781.}
{x=965., y=-775.}
{x=721., y=-765.}
{x=712., y=-764.}
{x=708., y=-761.}
{x=656., y=-663.}
{x=657., y=-606.}
{x=657., y=-606.}
{x=658., y=-597.}
{x=664., y=-537.}
{x=667., y=-530.}
{x=708., y=-486.81}
{x=742., y=-465.75}
{x=762., y=-458.66}
{x=778., y=-452.88}
{x=781., y=-452.5}
{x=794., y=-451.13}
{x=811., y=-449.41}
{x=835., y=-446.97}
{x=891., y=-441.47}
{x=1027.5, y=-448.5}
{x=1123.9, y=-453.78}
{x=1154.5, y=-530.}
{x=1148.4, y=-661.}
{x=1144.8, y=-690.}
Partager