> On 10/09/2014 04:30 PM, toruwest [via jogamp] wrote:
>>
>> Next step, I tried to modify it to use ShaderState, GLUniformData, and
>> GLArrayDataServer.
>> (Please See
>>
https://github.com/toruwest/jogl-instanced-many-triangles/tree/master/jogl-instanced-many-triangles/src/demos/triangles/ManyTriangleVAOInstancedExperiment1.java )
>
> +++
>
> int NO_OF_INSTANCE = 30
>
> interleavedVBO = GLArrayDataServer.createGLSLInterleaved(3 + 4, GL.GL_FLOAT, false,
> 3 * NO_OF_INSTANCE, GL.GL_STATIC_DRAW);
> interleavedVBO.addGLSLSubArray("VertexPosition", 3, GL.GL_ARRAY_BUFFER);
> interleavedVBO.addGLSLSubArray("VertexColor", 4, GL.GL_ARRAY_BUFFER);
> FloatBuffer ib = (FloatBuffer)interleavedVBO.getBuffer();
> for(int i = 0; i < 3; i++) {
> ib.put(vertices, i*3, 3);
> ib.put(colors, i*4, 4);
> }
>
> ^^^
> compsPerElement = 3 + 4;
>
> your initialElementCount = 3 * 30,
> but you only push 3 * 2 elements.
>
> to have this working, you would need to push
> all 3 * 30 elements .. I guess.