#include "collada_types.hpp" namespace curve_interpolation { using namespace collada; light const light_environmentambientlight = { .type = light_type::AMBIENT, .color = { 0.0f, 0.0f, 0.0f }, }; light const light_light_light = { .type = light_type::POINT, .color = { 1.0f, 1.0f, 1.0f }, }; float const array_node_cube_translation_x_input_array[] = { 0.0f, 1.666667f, 3.333333f, 5.0f, }; float const array_node_cube_translation_x_output_array[] = { 10.0f, -10.0f, 10.0f, -10.0f, }; float const array_node_cube_translation_x_intangent_array[] = { -0.3332306f, 10.0f, 1.111167f, -10.0f, 2.778333f, 10.0f, 4.4445f, -9.219337f, }; float const array_node_cube_translation_x_outtangent_array[] = { 0.5555f, 10.0f, 2.222167f, -10.0f, 3.888333f, 10.0f, 4.000208f, -8.594958f, }; enum interpolation const array_node_cube_translation_x_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_cube_translation_x_sampler = { // node_cube_translation_x_input .input = { .float_array = array_node_cube_translation_x_input_array, .count = 4, .stride = 1, }, // node_cube_translation_x_output .output = { .float_array = array_node_cube_translation_x_output_array, .count = 4, .stride = 1, }, // node_cube_translation_x_intangent .in_tangent = { .float_array = array_node_cube_translation_x_intangent_array, .count = 4, .stride = 2, }, // node_cube_translation_x_outtangent .out_tangent = { .float_array = array_node_cube_translation_x_outtangent_array, .count = 4, .stride = 2, }, // node_cube_translation_x_interpolation .interpolation = { .interpolation_array = array_node_cube_translation_x_interpolation_array, .count = 4, .stride = 1, }, }; float const array_node_cube_translation_y_input_array[] = { -0.8333334f, 0.8333334f, 2.5f, 4.166667f, }; float const array_node_cube_translation_y_output_array[] = { -10.05776f, 10.05852f, -9.941484f, 10.05852f, }; float const array_node_cube_translation_y_intangent_array[] = { -1.166264f, -10.05776f, 0.2778334f, 10.05852f, 1.9445f, -9.941484f, 3.611667f, 10.05852f, }; float const array_node_cube_translation_y_outtangent_array[] = { -0.2783333f, -10.05776f, 1.388833f, 10.05852f, 3.0555f, -9.941484f, 4.499598f, 10.05852f, }; enum interpolation const array_node_cube_translation_y_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_cube_translation_y_sampler = { // node_cube_translation_y_input .input = { .float_array = array_node_cube_translation_y_input_array, .count = 4, .stride = 1, }, // node_cube_translation_y_output .output = { .float_array = array_node_cube_translation_y_output_array, .count = 4, .stride = 1, }, // node_cube_translation_y_intangent .in_tangent = { .float_array = array_node_cube_translation_y_intangent_array, .count = 4, .stride = 2, }, // node_cube_translation_y_outtangent .out_tangent = { .float_array = array_node_cube_translation_y_outtangent_array, .count = 4, .stride = 2, }, // node_cube_translation_y_interpolation .interpolation = { .interpolation_array = array_node_cube_translation_y_interpolation_array, .count = 4, .stride = 1, }, }; float const array_node_torus_rotationx_angle_input_array[] = { 0.0f, 0.8333334f, 1.666667f, 2.5f, 3.333333f, }; float const array_node_torus_rotationx_angle_output_array[] = { 0.0f, -90.0f, -180.0f, -270.0f, -360.0f, }; float const array_node_torus_rotationx_angle_intangent_array[] = { 0.9997917f, 0.0f, 0.3270486f, -89.70257f, 0.9961964f, -179.1937f, 1.990403f, -269.8432f, 2.6534f, -360.0f, }; float const array_node_torus_rotationx_angle_outtangent_array[] = { 0.6602973f, 0.0f, 1.324714f, -90.28867f, 2.332406f, -180.8006f, 3.004865f, -270.1553f, 2.333542f, -360.0f, }; enum interpolation const array_node_torus_rotationx_angle_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_torus_rotationx_angle_sampler = { // node_torus_rotationx_angle_input .input = { .float_array = array_node_torus_rotationx_angle_input_array, .count = 5, .stride = 1, }, // node_torus_rotationx_angle_output .output = { .float_array = array_node_torus_rotationx_angle_output_array, .count = 5, .stride = 1, }, // node_torus_rotationx_angle_intangent .in_tangent = { .float_array = array_node_torus_rotationx_angle_intangent_array, .count = 5, .stride = 2, }, // node_torus_rotationx_angle_outtangent .out_tangent = { .float_array = array_node_torus_rotationx_angle_outtangent_array, .count = 5, .stride = 2, }, // node_torus_rotationx_angle_interpolation .interpolation = { .interpolation_array = array_node_torus_rotationx_angle_interpolation_array, .count = 5, .stride = 1, }, }; float const array_node_geosphere_scale_input_array[] = { 0.0f, 1.666667f, 3.333333f, }; float const array_node_geosphere_scale_output_array[] = { 1.0f, 1.0f, 1.0f, 1.996525f, 1.996525f, 1.996525f, 1.0f, 1.0f, 1.0f, }; float const array_node_geosphere_scale_intangent_array[] = { 0.9997917f, 1.0f, 0.9997917f, 1.0f, 0.9997917f, 1.0f, 1.111167f, 1.996525f, 1.111167f, 1.996525f, 1.111167f, 1.996525f, 2.777833f, 1.0f, 2.777833f, 1.0f, 2.777833f, 1.0f, }; float const array_node_geosphere_scale_outtangent_array[] = { 0.5555f, 1.0f, 0.5555f, 1.0f, 0.5555f, 1.0f, 2.222167f, 1.996525f, 2.222167f, 1.996525f, 2.222167f, 1.996525f, 2.333542f, 1.0f, 2.333542f, 1.0f, 2.333542f, 1.0f, }; enum interpolation const array_node_geosphere_scale_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_geosphere_scale_sampler = { // node_geosphere_scale_input .input = { .float_array = array_node_geosphere_scale_input_array, .count = 3, .stride = 1, }, // node_geosphere_scale_output .output = { .float_array = array_node_geosphere_scale_output_array, .count = 3, .stride = 3, }, // node_geosphere_scale_intangent .in_tangent = { .float_array = array_node_geosphere_scale_intangent_array, .count = 3, .stride = 6, }, // node_geosphere_scale_outtangent .out_tangent = { .float_array = array_node_geosphere_scale_outtangent_array, .count = 3, .stride = 6, }, // node_geosphere_scale_interpolation .interpolation = { .interpolation_array = array_node_geosphere_scale_interpolation_array, .count = 3, .stride = 1, }, }; float const array_node_geosphere_inversescaleaxisrotation_input_array[] = { 0.0f, 1.666667f, 3.333333f, }; float const array_node_geosphere_inversescaleaxisrotation_output_array[] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, }; enum interpolation const array_node_geosphere_inversescaleaxisrotation_interpolation_array[] = { interpolation::LINEAR, interpolation::LINEAR, interpolation::LINEAR, }; sampler const sampler_node_geosphere_inversescaleaxisrotation_sampler = { // node_geosphere_inversescaleaxisrotation_input .input = { .float_array = array_node_geosphere_inversescaleaxisrotation_input_array, .count = 3, .stride = 1, }, // node_geosphere_inversescaleaxisrotation_output .output = { .float_array = array_node_geosphere_inversescaleaxisrotation_output_array, .count = 3, .stride = 4, }, // node_geosphere_inversescaleaxisrotation_interpolation .interpolation = { .interpolation_array = array_node_geosphere_inversescaleaxisrotation_interpolation_array, .count = 3, .stride = 1, }, }; float const array_node_geosphere_scaleaxisrotation_input_array[] = { 0.0f, 1.666667f, 3.333333f, }; float const array_node_geosphere_scaleaxisrotation_output_array[] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, }; enum interpolation const array_node_geosphere_scaleaxisrotation_interpolation_array[] = { interpolation::LINEAR, interpolation::LINEAR, interpolation::LINEAR, }; sampler const sampler_node_geosphere_scaleaxisrotation_sampler = { // node_geosphere_scaleaxisrotation_input .input = { .float_array = array_node_geosphere_scaleaxisrotation_input_array, .count = 3, .stride = 1, }, // node_geosphere_scaleaxisrotation_output .output = { .float_array = array_node_geosphere_scaleaxisrotation_output_array, .count = 3, .stride = 4, }, // node_geosphere_scaleaxisrotation_interpolation .interpolation = { .interpolation_array = array_node_geosphere_scaleaxisrotation_interpolation_array, .count = 3, .stride = 1, }, }; float const array_node_light_translation_x_input_array[] = { 0.0f, 0.5f, 1.0f, 1.5f, 2.0f, 2.833333f, 3.333333f, }; float const array_node_light_translation_x_output_array[] = { 2.124535f, -5.611371f, -5.611371f, 0.04967833f, 0.04967833f, 2.124535f, 2.124535f, }; float const array_node_light_translation_x_intangent_array[] = { 0.9997917f, 2.124535f, 0.33335f, -5.611371f, 0.83335f, -5.611371f, 1.33335f, 0.04967833f, 1.83335f, 0.04967833f, 2.555583f, 2.124535f, 3.166683f, 2.124535f, }; float const array_node_light_translation_x_outtangent_array[] = { 0.16665f, 2.124535f, 0.66665f, -5.611371f, 1.16665f, -5.611371f, 1.66665f, 0.04967833f, 2.27775f, 0.04967833f, 2.999983f, 2.124535f, 3.666564f, 2.124535f, }; enum interpolation const array_node_light_translation_x_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_light_translation_x_sampler = { // node_light_translation_x_input .input = { .float_array = array_node_light_translation_x_input_array, .count = 7, .stride = 1, }, // node_light_translation_x_output .output = { .float_array = array_node_light_translation_x_output_array, .count = 7, .stride = 1, }, // node_light_translation_x_intangent .in_tangent = { .float_array = array_node_light_translation_x_intangent_array, .count = 7, .stride = 2, }, // node_light_translation_x_outtangent .out_tangent = { .float_array = array_node_light_translation_x_outtangent_array, .count = 7, .stride = 2, }, // node_light_translation_x_interpolation .interpolation = { .interpolation_array = array_node_light_translation_x_interpolation_array, .count = 7, .stride = 1, }, }; float const array_node_light_translation_y_input_array[] = { 0.0f, 0.5f, 1.0f, 1.5f, 2.0f, 2.833333f, 3.333333f, }; float const array_node_light_translation_y_output_array[] = { 8.291501f, 0.2940993f, 0.2940993f, -3.820096f, -3.820096f, 8.291501f, 8.291501f, }; float const array_node_light_translation_y_intangent_array[] = { 0.9997917f, 8.291501f, 0.33335f, 0.2940993f, 0.83335f, 0.2940993f, 1.33335f, -3.820096f, 1.83335f, -3.820096f, 2.555583f, 8.291501f, 3.166683f, 8.291501f, }; float const array_node_light_translation_y_outtangent_array[] = { 0.16665f, 8.291501f, 0.66665f, 0.2940993f, 1.16665f, 0.2940993f, 1.66665f, -3.820096f, 2.27775f, -3.820096f, 2.999983f, 8.291501f, 3.666564f, 8.291501f, }; enum interpolation const array_node_light_translation_y_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_light_translation_y_sampler = { // node_light_translation_y_input .input = { .float_array = array_node_light_translation_y_input_array, .count = 7, .stride = 1, }, // node_light_translation_y_output .output = { .float_array = array_node_light_translation_y_output_array, .count = 7, .stride = 1, }, // node_light_translation_y_intangent .in_tangent = { .float_array = array_node_light_translation_y_intangent_array, .count = 7, .stride = 2, }, // node_light_translation_y_outtangent .out_tangent = { .float_array = array_node_light_translation_y_outtangent_array, .count = 7, .stride = 2, }, // node_light_translation_y_interpolation .interpolation = { .interpolation_array = array_node_light_translation_y_interpolation_array, .count = 7, .stride = 1, }, }; float const array_node_light_translation_z_input_array[] = { 0.0f, 0.5f, 1.0f, 1.5f, 2.0f, 2.833333f, 3.333333f, }; float const array_node_light_translation_z_output_array[] = { 6.185831f, 6.185831f, 6.185831f, 6.185831f, 6.185831f, 6.185831f, 6.185831f, }; float const array_node_light_translation_z_intangent_array[] = { 0.9997917f, 6.185831f, 0.33335f, 6.185831f, 0.83335f, 6.185831f, 1.33335f, 6.185831f, 1.83335f, 6.185831f, 2.555583f, 6.185831f, 3.166683f, 6.185831f, }; float const array_node_light_translation_z_outtangent_array[] = { 0.16665f, 6.185831f, 0.66665f, 6.185831f, 1.16665f, 6.185831f, 1.66665f, 6.185831f, 2.27775f, 6.185831f, 2.999983f, 6.185831f, 3.666564f, 6.185831f, }; enum interpolation const array_node_light_translation_z_interpolation_array[] = { interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, interpolation::BEZIER, }; sampler const sampler_node_light_translation_z_sampler = { // node_light_translation_z_input .input = { .float_array = array_node_light_translation_z_input_array, .count = 7, .stride = 1, }, // node_light_translation_z_output .output = { .float_array = array_node_light_translation_z_output_array, .count = 7, .stride = 1, }, // node_light_translation_z_intangent .in_tangent = { .float_array = array_node_light_translation_z_intangent_array, .count = 7, .stride = 2, }, // node_light_translation_z_outtangent .out_tangent = { .float_array = array_node_light_translation_z_outtangent_array, .count = 7, .stride = 2, }, // node_light_translation_z_interpolation .interpolation = { .interpolation_array = array_node_light_translation_z_interpolation_array, .count = 7, .stride = 1, }, }; channel const node_channel_node_cube_translation_x = { .source_sampler = &sampler_node_cube_translation_x_sampler, .target_transform_index = 0, .target_attribute = target_attribute::X, }; channel const node_channel_node_cube_translation_y = { .source_sampler = &sampler_node_cube_translation_y_sampler, .target_transform_index = 0, .target_attribute = target_attribute::Y, }; channel const node_channel_node_torus_rotationx_angle = { .source_sampler = &sampler_node_torus_rotationx_angle_sampler, .target_transform_index = 3, .target_attribute = target_attribute::ANGLE, }; channel const node_channel_node_geosphere_scale = { .source_sampler = &sampler_node_geosphere_scale_sampler, .target_transform_index = 1, .target_attribute = target_attribute::ALL, }; channel const node_channel_node_geosphere_inversescaleaxisrotation = { .source_sampler = &sampler_node_geosphere_inversescaleaxisrotation_sampler, .target_transform_index = 0, .target_attribute = target_attribute::ALL, }; channel const node_channel_node_geosphere_scaleaxisrotation = { .source_sampler = &sampler_node_geosphere_scaleaxisrotation_sampler, .target_transform_index = 2, .target_attribute = target_attribute::ALL, }; channel const node_channel_node_light_translation_x = { .source_sampler = &sampler_node_light_translation_x_sampler, .target_transform_index = 0, .target_attribute = target_attribute::X, }; channel const node_channel_node_light_translation_y = { .source_sampler = &sampler_node_light_translation_y_sampler, .target_transform_index = 0, .target_attribute = target_attribute::Y, }; channel const node_channel_node_light_translation_z = { .source_sampler = &sampler_node_light_translation_z_sampler, .target_transform_index = 0, .target_attribute = target_attribute::Z, }; // american_cherry_png image const image_american_cherry_png = { .resource_name = L"_AMERICAN_CHERRY_PNG", }; // _02_png image const image__02_png = { .resource_name = L"_102_PNG", }; // Finishes_Flooring_Tile_Square_Medium_Blue_png image const image_finishes_flooring_tile_square_medium_blue_png = { .resource_name = L"_FINISHES_FLOORING_TILE_SQUARE_MEDIUM_BLUE_PNG", }; // SiteWork_Planting_Grass_Bermuda1_jpg image const image_sitework_planting_grass_bermuda1_jpg = { .resource_name = L"_SITEWORK_PLANTING_GRASS_BERMUDA1_JPG", }; image const * const images[] = { &image_american_cherry_png, &image__02_png, &image_finishes_flooring_tile_square_medium_blue_png, &image_sitework_planting_grass_bermuda1_jpg, }; effect const effect_material__15 = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.6705883f, 0.5843138f, 1.0f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.6705883f, 0.5843138f, 1.0f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_material__16 = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.5803922f, 1.0f, 0.9647059f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.5803922f, 1.0f, 0.9647059f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_material__17 = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.6509804f, 1.0f, 0.5803922f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.6509804f, 1.0f, 0.5803922f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_material__18 = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.9333334f, 1.0f, 0.5647059f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.9333334f, 1.0f, 0.5647059f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_material__19 = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {1.0f, 0.7686275f, 0.5803922f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {1.0f, 0.7686275f, 0.5803922f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_material__20 = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {1.0f, 0.5803922f, 0.5803922f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {1.0f, 0.5803922f, 0.5803922f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_coloreffectr26g177b26 = { .type = effect_type::PHONG, .phong = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 0.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.1019608f, 0.6941176f, 0.1019608f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.1019608f, 0.6941176f, 0.1019608f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_grass = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.588f, 0.588f, 0.588f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::TEXTURE, .texture = { .image_index = 3 }, // SiteWork_Planting_Grass_Bermuda1_jpg }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_wood = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.588f, 0.588f, 0.588f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::TEXTURE, .texture = { .image_index = 0 }, // american_cherry_png }, .specular = { .type = color_or_texture_type::TEXTURE, .texture = { .image_index = 2 }, // Finishes_Flooring_Tile_Square_Medium_Blue_png }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_coloreffectr198g224b87 = { .type = effect_type::PHONG, .phong = { .emission = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 0.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.7764706f, 0.8784314f, 0.3411765f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.7764706f, 0.8784314f, 0.3411765f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; effect const effect_lightemit = { .type = effect_type::BLINN, .blinn = { .emission = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .ambient = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .diffuse = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .specular = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .shininess = 10.0f, .reflective = { .type = color_or_texture_type::COLOR, .color = {0.0f, 0.0f, 0.0f, 1.0f}, }, .reflectivity = 0.0f, .transparent = { .type = color_or_texture_type::COLOR, .color = {1.0f, 1.0f, 1.0f, 1.0f}, }, .transparency = 1.0f, .index_of_refraction = 0.0f, } }; material const material_coloreffectr26g177b26_material = { .effect = &effect_coloreffectr26g177b26, }; material const material_coloreffectr198g224b87_material = { .effect = &effect_coloreffectr198g224b87, }; material const material_material__15_material = { .effect = &effect_material__15, }; material const material_material__16_material = { .effect = &effect_material__16, }; material const material_material__17_material = { .effect = &effect_material__17, }; material const material_material__18_material = { .effect = &effect_material__18, }; material const material_material__19_material = { .effect = &effect_material__19, }; material const material_material__20_material = { .effect = &effect_material__20, }; material const material_grass_material = { .effect = &effect_grass, }; material const material_wood_material = { .effect = &effect_wood, }; material const material_lightemit_material = { .effect = &effect_lightemit, }; input_element const input_elements_position_0_3_normal_0_3_texcoord_0_3[] = { { .semantic = "POSITION", .semantic_index = 0, .format = input_format::FLOAT3, }, { .semantic = "NORMAL", .semantic_index = 0, .format = input_format::FLOAT3, }, { .semantic = "TEXCOORD", .semantic_index = 0, .format = input_format::FLOAT3, }, }; triangles const triangles_geom_cube[] = { { .count = 2, // triangles .index_offset = 0, // indices .inputs_index = 0, // index into inputs_list }, { .count = 2, // triangles .index_offset = 6, // indices .inputs_index = 0, // index into inputs_list }, { .count = 2, // triangles .index_offset = 12, // indices .inputs_index = 0, // index into inputs_list }, { .count = 2, // triangles .index_offset = 18, // indices .inputs_index = 0, // index into inputs_list }, { .count = 2, // triangles .index_offset = 24, // indices .inputs_index = 0, // index into inputs_list }, { .count = 2, // triangles .index_offset = 30, // indices .inputs_index = 0, // index into inputs_list }, }; geometry const geometry_geom_cube = { .mesh = { .triangles = triangles_geom_cube, .triangles_count = 6, .vertex_buffer_offset = 0, .vertex_buffer_size = 864, .index_buffer_offset = 0, .index_buffer_size = 144, } }; triangles const triangles_geom_torus[] = { { .count = 240, // triangles .index_offset = 0, // indices .inputs_index = 0, // index into inputs_list }, }; geometry const geometry_geom_torus = { .mesh = { .triangles = triangles_geom_torus, .triangles_count = 1, .vertex_buffer_offset = 864, .vertex_buffer_size = 5148, .index_buffer_offset = 144, .index_buffer_size = 2880, } }; triangles const triangles_geom_cylinder[] = { { .count = 30, // triangles .index_offset = 0, // indices .inputs_index = 0, // index into inputs_list }, }; geometry const geometry_geom_cylinder = { .mesh = { .triangles = triangles_geom_cylinder, .triangles_count = 1, .vertex_buffer_offset = 6012, .vertex_buffer_size = 1152, .index_buffer_offset = 3024, .index_buffer_size = 360, } }; triangles const triangles_geom_plane[] = { { .count = 2, // triangles .index_offset = 0, // indices .inputs_index = 0, // index into inputs_list }, }; geometry const geometry_geom_plane = { .mesh = { .triangles = triangles_geom_plane, .triangles_count = 1, .vertex_buffer_offset = 7164, .vertex_buffer_size = 144, .index_buffer_offset = 3384, .index_buffer_size = 24, } }; triangles const triangles_geom_geosphere[] = { { .count = 40, // triangles .index_offset = 0, // indices .inputs_index = 0, // index into inputs_list }, }; geometry const geometry_geom_geosphere = { .mesh = { .triangles = triangles_geom_geosphere, .triangles_count = 1, .vertex_buffer_offset = 7308, .vertex_buffer_size = 4320, .index_buffer_offset = 3408, .index_buffer_size = 480, } }; triangles const triangles_geom_lightindicator[] = { { .count = 8, // triangles .index_offset = 0, // indices .inputs_index = 0, // index into inputs_list }, }; geometry const geometry_geom_lightindicator = { .mesh = { .triangles = triangles_geom_lightindicator, .triangles_count = 1, .vertex_buffer_offset = 11628, .vertex_buffer_size = 864, .index_buffer_offset = 3888, .index_buffer_size = 96, } }; geometry const * const geometries[] = { &geometry_geom_cube, &geometry_geom_torus, &geometry_geom_cylinder, &geometry_geom_plane, &geometry_geom_geosphere, &geometry_geom_lightindicator, }; transform const transforms_node_environmentambientlight[] = { }; instance_geometry const instance_geometries_node_environmentambientlight[] = { }; instance_controller const instance_controllers_node_environmentambientlight[] = { }; instance_light const instance_lights_node_environmentambientlight[] = { { .light = &light_environmentambientlight, } }; channel const * const node_channels_node_environmentambientlight[] = {}; node const node_node_environmentambientlight = { .parent_index = -1, .type = node_type::NODE, .transforms = transforms_node_environmentambientlight, .transforms_count = 0, .instance_geometries = instance_geometries_node_environmentambientlight, .instance_geometries_count = 0, .instance_controllers = instance_controllers_node_environmentambientlight, .instance_controllers_count = 0, .instance_lights = instance_lights_node_environmentambientlight, .instance_lights_count = 1, .channels = node_channels_node_environmentambientlight, .channels_count = 0, }; transform const transforms_node_cube[] = { { .type = transform_type::TRANSLATE, .translate = {10.0f, -1.14258e-07f, 0.0f}, }, }; instance_material const instance_geometry_instance_materials_node_cube_0[] = { { .element_index = 1, // an index into mesh.triangles .material = &material_material__15_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, { .element_index = 0, // an index into mesh.triangles .material = &material_material__16_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, { .element_index = 5, // an index into mesh.triangles .material = &material_material__17_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, { .element_index = 4, // an index into mesh.triangles .material = &material_material__20_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, { .element_index = 3, // an index into mesh.triangles .material = &material_material__18_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, { .element_index = 2, // an index into mesh.triangles .material = &material_material__19_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, }; instance_geometry const instance_geometries_node_cube[] = { { .geometry = &geometry_geom_cube, .instance_materials = instance_geometry_instance_materials_node_cube_0, .instance_materials_count = 6, }, }; instance_controller const instance_controllers_node_cube[] = { }; instance_light const instance_lights_node_cube[] = { }; channel const * const node_channels_node_cube[] = { &node_channel_node_cube_translation_x, &node_channel_node_cube_translation_y, }; node const node_node_cube = { .parent_index = -1, .type = node_type::NODE, .transforms = transforms_node_cube, .transforms_count = 1, .instance_geometries = instance_geometries_node_cube, .instance_geometries_count = 1, .instance_controllers = instance_controllers_node_cube, .instance_controllers_count = 0, .instance_lights = instance_lights_node_cube, .instance_lights_count = 0, .channels = node_channels_node_cube, .channels_count = 2, }; transform const transforms_node_torus[] = { { .type = transform_type::TRANSLATE, .translate = {5.0f, 1.14258e-07f, 2.0f}, }, { .type = transform_type::ROTATE, .rotate = {0.0f, 0.0f, 1.0f, 0.0f}, }, { .type = transform_type::ROTATE, .rotate = {0.0f, 1.0f, 0.0f, 2.00358e-05f}, }, { .type = transform_type::ROTATE, .rotate = {1.0f, 0.0f, 0.0f, 0.0f}, }, { .type = transform_type::SCALE, .scale = {0.5f, 0.5f, 0.5f}, }, }; instance_material const instance_geometry_instance_materials_node_torus_0[] = { { .element_index = 0, // an index into mesh.triangles .material = &material_coloreffectr26g177b26_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, }; instance_geometry const instance_geometries_node_torus[] = { { .geometry = &geometry_geom_torus, .instance_materials = instance_geometry_instance_materials_node_torus_0, .instance_materials_count = 1, }, }; instance_controller const instance_controllers_node_torus[] = { }; instance_light const instance_lights_node_torus[] = { }; channel const * const node_channels_node_torus[] = { &node_channel_node_torus_rotationx_angle, }; node const node_node_torus = { .parent_index = 1, .type = node_type::NODE, .transforms = transforms_node_torus, .transforms_count = 5, .instance_geometries = instance_geometries_node_torus, .instance_geometries_count = 1, .instance_controllers = instance_controllers_node_torus, .instance_controllers_count = 0, .instance_lights = instance_lights_node_torus, .instance_lights_count = 0, .channels = node_channels_node_torus, .channels_count = 1, }; transform const transforms_node_cylinder[] = { }; instance_material const instance_geometry_instance_materials_node_cylinder_0[] = { { .element_index = 0, // an index into mesh.triangles .material = &material_grass_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = 0 }, .specular = { .input_set = -1 }, }, }; instance_geometry const instance_geometries_node_cylinder[] = { { .geometry = &geometry_geom_cylinder, .instance_materials = instance_geometry_instance_materials_node_cylinder_0, .instance_materials_count = 1, }, }; instance_controller const instance_controllers_node_cylinder[] = { }; instance_light const instance_lights_node_cylinder[] = { }; channel const * const node_channels_node_cylinder[] = { }; node const node_node_cylinder = { .parent_index = -1, .type = node_type::NODE, .transforms = transforms_node_cylinder, .transforms_count = 0, .instance_geometries = instance_geometries_node_cylinder, .instance_geometries_count = 1, .instance_controllers = instance_controllers_node_cylinder, .instance_controllers_count = 0, .instance_lights = instance_lights_node_cylinder, .instance_lights_count = 0, .channels = node_channels_node_cylinder, .channels_count = 0, }; transform const transforms_node_plane[] = { { .type = transform_type::TRANSLATE, .translate = {0.0f, 0.0f, 0.01f}, }, { .type = transform_type::ROTATE, .rotate = {0.0f, 0.0f, -1.0f, -44.99999f}, }, }; instance_material const instance_geometry_instance_materials_node_plane_0[] = { { .element_index = 0, // an index into mesh.triangles .material = &material_wood_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = 0 }, .specular = { .input_set = 0 }, }, }; instance_geometry const instance_geometries_node_plane[] = { { .geometry = &geometry_geom_plane, .instance_materials = instance_geometry_instance_materials_node_plane_0, .instance_materials_count = 1, }, }; instance_controller const instance_controllers_node_plane[] = { }; instance_light const instance_lights_node_plane[] = { }; channel const * const node_channels_node_plane[] = { }; node const node_node_plane = { .parent_index = -1, .type = node_type::NODE, .transforms = transforms_node_plane, .transforms_count = 2, .instance_geometries = instance_geometries_node_plane, .instance_geometries_count = 1, .instance_controllers = instance_controllers_node_plane, .instance_controllers_count = 0, .instance_lights = instance_lights_node_plane, .instance_lights_count = 0, .channels = node_channels_node_plane, .channels_count = 0, }; transform const transforms_node_geosphere[] = { { .type = transform_type::ROTATE, .rotate = {0.0f, 0.0f, 0.0f, 0.0f}, }, { .type = transform_type::SCALE, .scale = {1.0f, 1.0f, 1.0f}, }, { .type = transform_type::ROTATE, .rotate = {0.0f, 0.0f, 0.0f, 0.0f}, }, }; instance_material const instance_geometry_instance_materials_node_geosphere_0[] = { { .element_index = 0, // an index into mesh.triangles .material = &material_coloreffectr198g224b87_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, }; instance_geometry const instance_geometries_node_geosphere[] = { { .geometry = &geometry_geom_geosphere, .instance_materials = instance_geometry_instance_materials_node_geosphere_0, .instance_materials_count = 1, }, }; instance_controller const instance_controllers_node_geosphere[] = { }; instance_light const instance_lights_node_geosphere[] = { }; channel const * const node_channels_node_geosphere[] = { &node_channel_node_geosphere_inversescaleaxisrotation, &node_channel_node_geosphere_scale, &node_channel_node_geosphere_scaleaxisrotation, }; node const node_node_geosphere = { .parent_index = -1, .type = node_type::NODE, .transforms = transforms_node_geosphere, .transforms_count = 3, .instance_geometries = instance_geometries_node_geosphere, .instance_geometries_count = 1, .instance_controllers = instance_controllers_node_geosphere, .instance_controllers_count = 0, .instance_lights = instance_lights_node_geosphere, .instance_lights_count = 0, .channels = node_channels_node_geosphere, .channels_count = 3, }; transform const transforms_node_light[] = { { .type = transform_type::TRANSLATE, .translate = {2.124535f, 8.291501f, 6.185831f}, }, }; instance_geometry const instance_geometries_node_light[] = { }; instance_controller const instance_controllers_node_light[] = { }; instance_light const instance_lights_node_light[] = { { .light = &light_light_light, } }; channel const * const node_channels_node_light[] = { &node_channel_node_light_translation_x, &node_channel_node_light_translation_z, &node_channel_node_light_translation_y, }; node const node_node_light = { .parent_index = -1, .type = node_type::NODE, .transforms = transforms_node_light, .transforms_count = 1, .instance_geometries = instance_geometries_node_light, .instance_geometries_count = 0, .instance_controllers = instance_controllers_node_light, .instance_controllers_count = 0, .instance_lights = instance_lights_node_light, .instance_lights_count = 1, .channels = node_channels_node_light, .channels_count = 3, }; transform const transforms_node_lightindicator[] = { { .type = transform_type::ROTATE, .rotate = {0.5773504f, -0.5773501f, -0.5773504f, -120.0f}, }, }; instance_material const instance_geometry_instance_materials_node_lightindicator_0[] = { { .element_index = 0, // an index into mesh.triangles .material = &material_lightemit_material, .emission = { .input_set = -1 }, .ambient = { .input_set = -1 }, .diffuse = { .input_set = -1 }, .specular = { .input_set = -1 }, }, }; instance_geometry const instance_geometries_node_lightindicator[] = { { .geometry = &geometry_geom_lightindicator, .instance_materials = instance_geometry_instance_materials_node_lightindicator_0, .instance_materials_count = 1, }, }; instance_controller const instance_controllers_node_lightindicator[] = { }; instance_light const instance_lights_node_lightindicator[] = { }; channel const * const node_channels_node_lightindicator[] = { }; node const node_node_lightindicator = { .parent_index = 6, .type = node_type::NODE, .transforms = transforms_node_lightindicator, .transforms_count = 1, .instance_geometries = instance_geometries_node_lightindicator, .instance_geometries_count = 1, .instance_controllers = instance_controllers_node_lightindicator, .instance_controllers_count = 0, .instance_lights = instance_lights_node_lightindicator, .instance_lights_count = 0, .channels = node_channels_node_lightindicator, .channels_count = 0, }; node const * const nodes[] = { &node_node_environmentambientlight, &node_node_cube, &node_node_torus, &node_node_cylinder, &node_node_plane, &node_node_geosphere, &node_node_light, &node_node_lightindicator, }; inputs const inputs_list[] = { { .elements = input_elements_position_0_3_normal_0_3_texcoord_0_3, .elements_count = 3, }, }; extern collada::descriptor const descriptor; collada::descriptor const descriptor = { .nodes = nodes, .nodes_count = (sizeof (nodes)) / (sizeof (nodes[0])), .inputs_list = inputs_list, .inputs_list_count = (sizeof (inputs_list)) / (sizeof (inputs_list[0])), .images = images, .images_count = (sizeof (images)) / (sizeof (images[0])), }; }