iphone - Drawing circle in OpenGL ES 2.0 -


i got problem opengl es 2.0 iphone. i'm trying draw simple circle textured code:

double qualite = 40.0f; double rayon = 0.5; double twopi=2*m_pi; double step = twopi/qualite;  // centre du cercle // x y z nmr1 gcirclevertexdata[0]=0.0f; gcirclevertexdata[1]=0.0f; gcirclevertexdata[2]=0.0f;  // normales x y z gcirclevertexdata[3]=0.0f; gcirclevertexdata[4]=0.0f; gcirclevertexdata[5]=1.0f;  // textures gcirclevertexdata[6]=0.5f; gcirclevertexdata[7]=0.5f; int j=8; int k=0; for(glfloat = 0.0f; <= twopi; i+=step) {     // x y z nmr2     gcirclevertexdata[j]=rayon*sinf(i);     gcirclevertexdata[j+1]=rayon*cosf(i);     gcirclevertexdata[j+2]=0.0f;      // normales x y z     gcirclevertexdata[j+3]=0.0f;     gcirclevertexdata[j+4]=0.0f;     gcirclevertexdata[j+5]=1.0f;      // textures     gcirclevertexdata[j+6]=0.5+0.5*cosf(i);     gcirclevertexdata[j+7]=0.5+0.5*sinf(i);     j=j+8;     k++; } 

with quality of 30.0 works fine if go upper part of circle doesn't appear. how bind object:

 glgenvertexarraysoes(1, &_vertexarraycercle); glbindvertexarrayoes(_vertexarraycercle);  glgenbuffers(1, &_vertexbuffer4); glbindbuffer(gl_array_buffer, _vertexbuffer4); glbufferdata(gl_array_buffer, sizeof( gcirclevertexdata),  gcirclevertexdata, gl_static_draw);  // les sommets glvertexattribpointer(glkvertexattribposition, 3, gl_float, gl_false, 32, buffer_offset(0)); glenablevertexattribarray(glkvertexattribposition);  // les perpendiculaires pour la lumiere glvertexattribpointer(glkvertexattribnormal, 3, gl_float, gl_false, 32, buffer_offset(12)); glenablevertexattribarray(glkvertexattribnormal);  // la couleur de base // glenablevertexattribarray(glkvertexattribcolor);  // la texture glvertexattribpointer(glkvertexattribtexcoord0, 2, gl_float, gl_false, 32, buffer_offset(24)); glenablevertexattribarray(glkvertexattribtexcoord0);  glbindbuffer(gl_array_buffer,0); glbindvertexarrayoes(0); 

and how i'll draw it:

  //----------------------------------- le disque mobile -------------------------------// // activation de la texture glenable(gl_texture0); glenable(gl_texture_2d); glbindtexture(gl_texture_2d, _disquemobiletexture); gltexparameteri(gl_texture_2d, gl_texture_min_filter, gl_linear); gltexparameteri(gl_texture_2d, gl_texture_mag_filter, gl_linear);  // activation du shader gluseprogram(_program2);  // verrouillage du vao pour l'utiliser glbindvertexarrayoes(_vertexarraycercle);  //on calcul les matrices basemodelviewmatrix = glkmatrix4rotate(basemodelviewmatrix, 0, 1.0f, 1.0f, 1.0f); modelviewmatrix = glkmatrix4maketranslation(0.0f, 0.0f, -0.001f); modelviewmatrix = glkmatrix4rotate(modelviewmatrix,_rotation/8, 0, 0, 1.0f); modelviewmatrix = glkmatrix4multiply(basemodelviewmatrix, modelviewmatrix);  _normalmatrix = glkmatrix3invertandtranspose(glkmatrix4getmatrix3(modelviewmatrix), null); _modelviewprojectionmatrix = glkmatrix4multiply(projectionmatrix, modelviewmatrix); _rotation += self.timesincelastupdate * 0.5f;  // on envoi les matrice dans le shader gluniformmatrix4fv(uniforms[uniform_modelviewprojection_matrix], 1, 0, _modelviewprojectionmatrix.m); gluniformmatrix3fv(uniforms[uniform_normal_matrix], 1, 0, _normalmatrix.m); gluniform1i(uniforms[uniform_texture], 0);  // dessin du cube avec le shader gldrawarrays(gl_triangle_fan, 0, 36);  // désactivation du vao glbindvertexarrayoes(0);  // désactivation du shader gluseprogram(0); gldisable(gl_texture0); gldisable(gl_texture_2d); 

my circles ugly 30 quality! use simple shader.

i've found ! it's carelessly mistake... i've forgot increment value inside gldrawarrays match number of object i've want draw...

mistake between keyboard , chair!


Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -