X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fcmesh.h;h=a73cd208802872f8510553e61033a544cf19791e;hb=1b62e1cf0e1cf019b42ee232ba838d06c55b8cda;hp=ba3c97d0eb6cbb23b74018482bcd980f753056dd;hpb=7af9cfb135026931d52f48fb9f0667afa13f0bba;p=vrtris diff --git a/src/cmesh.h b/src/cmesh.h index ba3c97d..a73cd20 100644 --- a/src/cmesh.h +++ b/src/cmesh.h @@ -46,8 +46,10 @@ int cmesh_indexed(struct cmesh *cm); */ float *cmesh_set_attrib(struct cmesh *cm, int attr, int nelem, unsigned int num, const float *vdata); -float *cmesh_attrib(struct cmesh *cm, int attr); /* invalidates VBO */ +float *cmesh_attrib(struct cmesh *cm, int attr); /* invalidates VBO */ const float *cmesh_attrib_ro(struct cmesh *cm, int attr); /* doesn't invalidate */ +float *cmesh_attrib_at(struct cmesh *cm, int attr, int idx); +const float *cmesh_attrib_at_ro(struct cmesh *cm, int attr, int idx); int cmesh_attrib_count(struct cmesh *cm, int attr); /* indices can be 0, in which case only memory is allocated @@ -58,7 +60,7 @@ unsigned int *cmesh_index(struct cmesh *cm); /* invalidates IBO */ const unsigned int *cmesh_index_ro(struct cmesh *cm); /* doesn't invalidate */ int cmesh_index_count(struct cmesh *cm); -int get_poly_count(struct cmesh *cm); +int cmesh_poly_count(struct cmesh *cm); /* attr can be -1 to invalidate all attributes */ void cmesh_invalidate_vbo(struct cmesh *cm, int attr); @@ -81,7 +83,7 @@ void cmesh_flip(struct cmesh *cm); /* flip faces (winding) and normals */ void cmesh_flip_faces(struct cmesh *cm); void cmesh_flip_normals(struct cmesh *cm); -void cmesh_explode(struct cmesh *cm); /* undo all vertex sharing */ +int cmesh_explode(struct cmesh *cm); /* undo all vertex sharing */ /* this is only guaranteed to work on an exploded mesh */ void cmesh_calc_face_normals(struct cmesh *cm);