Merge: roberto -> main
This commit is contained in:
12
src/mesh.c
12
src/mesh.c
@@ -13,38 +13,38 @@ struct obj
|
||||
to display using the layout location in GLSL.
|
||||
This trick can be done with glVertexAttribPointer.
|
||||
*/
|
||||
mesh_t create_mesh( float * d, float * n, unsigned char * coordanate )
|
||||
mesh_t create_mesh( float * d, float * n, unsigned char * coordanate, unsigned char m )
|
||||
{
|
||||
unsigned char i;
|
||||
struct obj * p;
|
||||
|
||||
p=malloc(sizeof(struct obj));
|
||||
|
||||
p->vertex=(*d)/3;
|
||||
p->vertex=(*d)/m;
|
||||
|
||||
glGenVertexArrays( 1, &p->vao );
|
||||
|
||||
glGenBuffers( 1, &p->d_vbo );
|
||||
glBindVertexArray( p->vao );
|
||||
glBindBuffer( GL_ARRAY_BUFFER, p->d_vbo );
|
||||
glBufferData( GL_ARRAY_BUFFER, p->vertex*3*sizeof(float), d+1,
|
||||
glBufferData( GL_ARRAY_BUFFER, p->vertex*m*sizeof(float), d+1,
|
||||
GL_STATIC_DRAW );
|
||||
|
||||
for( i=0; i<4; ++i )
|
||||
{
|
||||
glVertexAttribPointer( i,1,GL_FLOAT, 0, 3*sizeof(float),
|
||||
glVertexAttribPointer( i,1,GL_FLOAT, 0, m*sizeof(float),
|
||||
(float*)(coordanate[i]*sizeof(float)) );
|
||||
glEnableVertexAttribArray(i);
|
||||
}
|
||||
|
||||
glGenBuffers( 1, &p->n_vbo );
|
||||
glBindBuffer( GL_ARRAY_BUFFER, p->n_vbo );
|
||||
glBufferData( GL_ARRAY_BUFFER, p->vertex*3*sizeof(float), n+1,
|
||||
glBufferData( GL_ARRAY_BUFFER, p->vertex*m*sizeof(float), n+1,
|
||||
GL_STATIC_DRAW );
|
||||
|
||||
for( i=0; i<4; ++i )
|
||||
{
|
||||
glVertexAttribPointer( i+4,1,GL_FLOAT, 0, 3*sizeof(float),
|
||||
glVertexAttribPointer( i+4,1,GL_FLOAT, 0, m*sizeof(float),
|
||||
(float*)(coordanate[i]*sizeof(float)) );
|
||||
glEnableVertexAttribArray(i+4);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user