opengl - Object disappears after updating buffer -


i tried implement triangle subdivision algorithm , encountered if i'm updating buffers bigger arrays geometry disappears. can see i'm using glbufferdata() update buffers. works if i'm updating buffers same size (or smaller) arrays. should work it's not.

glgetstring(gl_version) -> 3.1.0 - build 9.17.10.3517 glgetstring(gl_vendor) -> intel glenableclientstate(gl_vertex_array) -> done glenableclientstate(gl_index_array) -> done glenable(gl_normalize) -> done glenable(gl_depth_test) -> done gldisable(gl_cull_face) -> done glcullface(off) -> done gldepthfunc(lessorequal) -> done glbindbuffer(vertexarray, -1) -> done glbindbuffer(elementarray, -1) -> done glbindtexture(texture2d, -1) -> done glactivetexture(0) -> done glclientactivetexture(0) -> done glviewport(0, 0, 800, 600) -> done  // initializing glgenbuffers() -> 1 glbindbuffer(vertexarray, 1) -> done glbufferdata(vertexarray, java.nio.directfloatbufferu[pos=0 lim=9 cap=9], static) -> done glgenbuffers() -> 2 glbindbuffer(vertexarray, 2) -> done glbufferdata(vertexarray, java.nio.directfloatbufferu[pos=0 lim=6 cap=6], static) -> done glgenbuffers() -> 3 glbindbuffer(vertexarray, 3) -> done glbufferdata(vertexarray, java.nio.directfloatbufferu[pos=0 lim=9 cap=9], static) -> done glgenbuffers() -> 4 glbindbuffer(elementarray, 4) -> done glbufferdata(elementarray, java.nio.directintbufferu[pos=0 lim=3 cap=3], static) -> done  glclear(coloranddepth) -> done glloadidentity() -> done glmatrixmode(projection) -> done glloadidentity() -> done gluperspective(60.0, 1.3333334, 0.001, 999999.0) -> done glmatrixmode(modelview) -> done glbindbuffer(vertexarray, -1) -> done glbindbuffer(elementarray, -1) -> done  glpushmatrix() -> done     gltranslatef(0.0, 0.0, 0.0) -> done     glscalef(1.0, 1.0, 1.0) -> done     glmultmatrix(java.nio.directfloatbufferu[pos=0 lim=16 cap=16]) -> done      glpolygonmode(frontandback, line) -> done     glcolor3f(1.0, 0.0, 0.0) -> done     glbindbuffer(vertexarray, 1) -> done     glvertexpointer(3, float, 0, 0) -> done     glbindbuffer(vertexarray, 3) -> done     glnormalpointer(float, 0, 0) -> done     glbindbuffer(elementarray, 4) -> done     gldrawelements(triangles, 3, unsignedint, 0) -> done glpopmatrix() -> done // cycle end  // updating glbindbuffer(vertexarray, 1) -> done glbufferdata(vertexarray, java.nio.directfloatbufferu[pos=0 lim=18 cap=18], static) -> done glbindbuffer(vertexarray, 2) -> done glbufferdata(vertexarray, java.nio.directfloatbufferu[pos=0 lim=12 cap=12], static) -> done glbindbuffer(vertexarray, 3) -> done glbufferdata(vertexarray, java.nio.directfloatbufferu[pos=0 lim=18 cap=18], static) -> done glbufferdata(elementarray, java.nio.directintbufferu[pos=0 lim=6 cap=6], static) -> done  glclear(coloranddepth) -> done glloadidentity() -> done glmatrixmode(projection) -> done glloadidentity() -> done gluperspective(60.0, 1.3333334, 0.001, 999999.0) -> done glmatrixmode(modelview) -> done glpolygonmode(frontandback, fill) -> done glbindbuffer(vertexarray, -1) -> done glbindbuffer(elementarray, -1) -> done  glpushmatrix() -> done     gltranslatef(0.0, 0.0, 0.0) -> done     glscalef(1.0, 1.0, 1.0) -> done     glmultmatrix(java.nio.directfloatbufferu[pos=0 lim=16 cap=16]) -> done      glpolygonmode(frontandback, line) -> done     glcolor3f(1.0, 0.0, 0.0) -> done     glbindbuffer(vertexarray, 1) -> done     glvertexpointer(3, float, 0, 0) -> done     glbindbuffer(vertexarray, 3) -> done     glnormalpointer(float, 0, 0) -> done     glbindbuffer(elementarray, 4) -> done     gldrawelements(triangles, 6, unsignedint, 0) -> done glpopmatrix() -> done 

0 - result want. works when setted new buffers.
1 - source triangle.

iamge

okay! found source of problem. after subdividing proccess indices turned 0. thanks! , don't forget check actual data sending!


Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -