39 #ifndef AMINO_RX_WAVEFRONT_H
40 #define AMINO_RX_WAVEFRONT_H
55 #define AA_RX_WF_OBJ_FACE_NONE -1
80 AA_API const struct aa_rx_wf_mtl *
98 AA_API struct aa_rx_wf_obj *
106 const double **verticies,
size_t *n );
113 const double **normals,
size_t *n );
120 const int32_t **v,
size_t *n );
127 const int32_t **v,
size_t *n );
133 const int32_t **v,
size_t *n );
140 const int32_t **v,
size_t *n );
149 struct aa_rx_wf_material;
154 AA_API struct aa_rx_wf_mtl *
173 AA_API struct aa_rx_wf_material *
#define AA_API
calling and name mangling convention for functions
AA_API void aa_rx_wf_obj_get_vertices(const struct aa_rx_wf_obj *obj, const double **verticies, size_t *n)
Retrieve the verticies.
AA_API int aa_rx_wf_material_has_ambient(const struct aa_rx_wf_material *material)
Does the material have an ambient value?
AA_API size_t aa_rx_wf_obj_mtl_count(struct aa_rx_wf_obj *obj)
Return the number of MTL files.
AA_API const double * aa_rx_wf_material_get_emission(const struct aa_rx_wf_material *material)
Return the material's emission value.
AA_API const char * aa_rx_wf_obj_get_material_name(struct aa_rx_wf_obj *obj, size_t i)
Return the name of the ith material.
AA_API int aa_rx_wf_material_has_specular_weight(const struct aa_rx_wf_material *material)
Does the material have a specular weight?
AA_API const double * aa_rx_wf_material_get_ambient(const struct aa_rx_wf_material *material)
Return the material's ambient value.
AA_API void aa_rx_wf_obj_get_vertex_indices(const struct aa_rx_wf_obj *obj, const int32_t **v, size_t *n)
Retrieve the vertex indices.
AA_API const char * aa_rx_wf_obj_get_mtl_filename(struct aa_rx_wf_obj *obj, size_t i)
Return the ith MTL filename.
AA_API const struct aa_rx_wf_mtl * aa_rx_wf_obj_get_mtl(struct aa_rx_wf_obj *obj, size_t i)
Return the ith MTL struct.
AA_API void aa_rx_wf_obj_get_texture_indices(const struct aa_rx_wf_obj *obj, const int32_t **v, size_t *n)
Retrieve the texture indices.
AA_API struct aa_rx_wf_mtl * aa_rx_wf_mtl_parse(const char *mtl_name)
Parse a wavefront MTL file.
AA_API int aa_rx_wf_material_has_emission(const struct aa_rx_wf_material *material)
Does the material have an emission value?
AA_API size_t aa_rx_wf_mtl_material_count(const struct aa_rx_wf_mtl *mtl)
Return the number of materials.
AA_API void aa_rx_wf_mtl_destroy(struct aa_rx_wf_mtl *)
Destroy a wavefront MTL object.
AA_API struct aa_rx_wf_obj * aa_rx_wf_parse(const char *filename)
Parse a wavefront OBJ file.
AA_API const double * aa_rx_wf_material_get_specular(const struct aa_rx_wf_material *material)
Return the material's specular value.
AA_API void aa_rx_wf_obj_get_uv_indices(const struct aa_rx_wf_obj *obj, const int32_t **v, size_t *n)
Retrieve the uv indices.
AA_API const double * aa_rx_wf_material_get_diffuse(const struct aa_rx_wf_material *material)
Return the material's diffuse value.
AA_API void aa_rx_wf_obj_get_normals(const struct aa_rx_wf_obj *obj, const double **normals, size_t *n)
Retrieve the normals.
AA_API void aa_rx_wf_obj_destroy(struct aa_rx_wf_obj *)
Destroy the object for a wavefront obj file.
AA_API void aa_rx_wf_obj_get_normal_indices(const struct aa_rx_wf_obj *obj, const int32_t **v, size_t *n)
Retrieve the normal indices.
AA_API struct aa_rx_wf_material * aa_rx_wf_mtl_get_material(const struct aa_rx_wf_mtl *mtl, size_t i)
Return the i'th material.
AA_API int aa_rx_wf_material_has_specular(const struct aa_rx_wf_material *material)
Does the material have a specular value?
AA_API double aa_rx_wf_material_get_ior(const struct aa_rx_wf_material *material)
Return the material's index-of-refraction value.
AA_API double aa_rx_wf_material_get_alpha(const struct aa_rx_wf_material *material)
Return the material's alpha value.
AA_API int aa_rx_wf_material_has_diffuse(const struct aa_rx_wf_material *material)
Does the material have an diffuse value?
AA_API size_t aa_rx_wf_obj_material_count(struct aa_rx_wf_obj *obj)
Return the number of materials.
AA_API int aa_rx_wf_material_has_alpha(const struct aa_rx_wf_material *material)
Does the material have an alpha value?
AA_API const char * aa_rx_wf_material_get_name(const struct aa_rx_wf_material *material)
Return the material's name.
AA_API int aa_rx_wf_material_has_ior(const struct aa_rx_wf_material *material)
Does the material have an index-of-refraction value?