39 #ifndef AMINO_RX_WAVEFRONT_H
40 #define AMINO_RX_WAVEFRONT_H
50 #define AA_RX_WF_OBJ_FACE_NONE -1
57 aa_rx_wf_obj_destroy(
struct aa_rx_wf_obj * );
64 aa_rx_wf_obj_mtl_count(
struct aa_rx_wf_obj *obj );
70 aa_rx_wf_obj_get_mtl_filename(
struct aa_rx_wf_obj *obj,
size_t i );
75 AA_API const struct aa_rx_wf_mtl *
76 aa_rx_wf_obj_get_mtl(
struct aa_rx_wf_obj *obj,
size_t i );
82 aa_rx_wf_obj_material_count(
struct aa_rx_wf_obj *obj );
88 aa_rx_wf_obj_get_material_name(
struct aa_rx_wf_obj *obj,
size_t i );
90 AA_API struct aa_rx_wf_obj *
91 aa_rx_wf_parse(
const char *filename);
97 aa_rx_wf_obj_get_vertices(
const struct aa_rx_wf_obj *obj,
98 const double **verticies,
size_t *n );
104 aa_rx_wf_obj_get_normals(
const struct aa_rx_wf_obj *obj,
105 const double **normals,
size_t *n );
111 aa_rx_wf_obj_get_vertex_indices(
const struct aa_rx_wf_obj *obj,
112 const int32_t **v,
size_t *n );
118 aa_rx_wf_obj_get_normal_indices(
const struct aa_rx_wf_obj *obj,
119 const int32_t **v,
size_t *n );
124 aa_rx_wf_obj_get_uv_indices(
const struct aa_rx_wf_obj *obj,
125 const int32_t **v,
size_t *n );
131 aa_rx_wf_obj_get_texture_indices(
const struct aa_rx_wf_obj *obj,
132 const int32_t **v,
size_t *n );
141 struct aa_rx_wf_material;
143 AA_API struct aa_rx_wf_mtl *
144 aa_rx_wf_mtl_parse(
const char *mtl_name );
148 aa_rx_wf_mtl_destroy(
struct aa_rx_wf_mtl * );
151 aa_rx_wf_mtl_material_count(
const struct aa_rx_wf_mtl * mtl);
153 AA_API struct aa_rx_wf_material *
154 aa_rx_wf_mtl_get_material(
const struct aa_rx_wf_mtl * mtl,
size_t i);
157 aa_rx_wf_material_has_specular_weight(
const struct aa_rx_wf_material * material );
160 aa_rx_wf_material_has_specular(
const struct aa_rx_wf_material * material );
163 aa_rx_wf_material_has_ambient(
const struct aa_rx_wf_material * material );
166 aa_rx_wf_material_has_emission(
const struct aa_rx_wf_material * material );
169 aa_rx_wf_material_has_diffuse(
const struct aa_rx_wf_material * material );
172 aa_rx_wf_material_has_alpha(
const struct aa_rx_wf_material * material );
175 aa_rx_wf_material_has_ior(
const struct aa_rx_wf_material * material );
178 aa_rx_wf_material_get_name(
const struct aa_rx_wf_material * material );
181 aa_rx_wf_material_get_specular(
const struct aa_rx_wf_material * material );
184 aa_rx_wf_material_get_ambient(
const struct aa_rx_wf_material * material );
187 aa_rx_wf_material_get_emission(
const struct aa_rx_wf_material * material );
190 aa_rx_wf_material_get_diffuse(
const struct aa_rx_wf_material * material );
193 aa_rx_wf_material_get_alpha(
const struct aa_rx_wf_material * material );
196 aa_rx_wf_material_get_ior(
const struct aa_rx_wf_material * material );
198 #endif //AMINO_RX_WAVEFRONT_H
#define AA_API
calling and name mangling convention for functions