void obj_parse_camera(obj_growable_scene_data *scene, obj_camera *camera) { int indices[3]; obj_parse_vertex_index(indices, NULL, NULL); camera->camera_pos_index = obj_convert_to_list_index(scene->vertex_list.item_count, indices[0]); camera->camera_look_point_index = obj_convert_to_list_index(scene->vertex_list.item_count, indices[1]); camera->camera_up_norm_index = obj_convert_to_list_index(scene->vertex_normal_list.item_count, indices[2]); }
obj_light_disc *obj_parse_light_disc(obj_growable_scene_data *scene) { int temp_indices[MAX_VERTEX_COUNT]; obj_light_disc *obj = (obj_light_disc *) malloc(sizeof(obj_light_disc)); obj_parse_vertex_index(temp_indices, NULL, NULL); obj->pos_index = obj_convert_to_list_index(scene->vertex_list.item_count, temp_indices[0]); obj->normal_index = obj_convert_to_list_index(scene->vertex_normal_list.item_count, temp_indices[1]); return obj; }
obj_plane *obj_parse_plane(obj_growable_scene_data *scene) { int temp_indices[MAX_VERTEX_COUNT]; obj_plane *obj = (obj_plane *) malloc(sizeof(obj_plane)); obj_parse_vertex_index(temp_indices, obj->texture_index, NULL); obj_convert_to_list_index_v(scene->vertex_texture_list.item_count, obj->texture_index); obj->pos_index = obj_convert_to_list_index(scene->vertex_list.item_count, temp_indices[0]); obj->normal_index = obj_convert_to_list_index(scene->vertex_normal_list.item_count, temp_indices[1]); obj->rotation_normal_index = obj_convert_to_list_index(scene->vertex_normal_list.item_count, temp_indices[2]); return obj; }
void obj_convert_to_list_index_v(int current_max, int *indices) { for(int i=0; i<MAX_VERTEX_COUNT; i++) indices[i] = obj_convert_to_list_index(current_max, indices[i]); }
obj_light_point* obj_parse_light_point(obj_growable_scene_data *scene) { obj_light_point *o= (obj_light_point*)malloc(sizeof(obj_light_point)); o->pos_index = obj_convert_to_list_index(scene->vertex_list.item_count, atoi( strtok(NULL, WHITESPACE)) ); return o; }