Merge: roberto -> main

This commit is contained in:
PedroEdiaz
2024-10-17 22:30:55 -06:00
parent 252aab3dd2
commit 7c1f691b46
9 changed files with 133 additions and 59 deletions

View File

@@ -4,28 +4,34 @@
struct obj
{
unsigned int vertex, vao, vbo;
unsigned int vertex, vao, n_vbo, d_vbo;
};
mesh_t create_mesh( narray_float_t mesh )
mesh_t create_mesh( float * d, float * n )
{
struct obj * p;
p=malloc(sizeof(struct obj));
p->vertex=(*mesh)/3;
p->vertex=(*d)/3;
glGenVertexArrays( 1, &p->vao );
glGenBuffers( 1, &p->vbo );
glGenBuffers( 1, &p->d_vbo );
glBindVertexArray( p->vao );
glBindBuffer( GL_ARRAY_BUFFER, p->vbo );
glBufferData( GL_ARRAY_BUFFER, (p->vertex*3)*sizeof(int), mesh+1,
glBindBuffer( GL_ARRAY_BUFFER, p->d_vbo );
glBufferData( GL_ARRAY_BUFFER, p->vertex*3*sizeof(float), d+1,
GL_STATIC_DRAW );
glVertexAttribPointer( 0,3,GL_FLOAT, 0, 3*sizeof(int), NULL );
glVertexAttribPointer( 0,3,GL_FLOAT, 0, 3*sizeof(float), NULL );
glEnableVertexAttribArray(0);
glGenBuffers( 1, &p->n_vbo );
glBindBuffer( GL_ARRAY_BUFFER, p->n_vbo );
glBufferData( GL_ARRAY_BUFFER, p->vertex*3*sizeof(float), n+1,
GL_STATIC_DRAW );
glVertexAttribPointer( 1,3,GL_FLOAT, 0, 3*sizeof(float), NULL );
glEnableVertexAttribArray(1);
return p;
}
@@ -34,7 +40,8 @@ void destroy_mesh( mesh_t p )
struct obj * obj ;
obj = p;
glDeleteVertexArrays( 1, &obj->vao );
glDeleteBuffers( 1, &obj->vbo );
glDeleteBuffers( 1, &obj->d_vbo );
glDeleteBuffers( 1, &obj->n_vbo );
free( p );
}