Merge: roberto -> main

This commit is contained in:
PedroEdiaz
2024-10-22 19:26:10 -06:00
parent b50fbf9d2d
commit 7787daa2da
6 changed files with 122 additions and 49 deletions

View File

@@ -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);
}