d3d10/include/scenes/curve_interpolation.hpp

717 lines
17 KiB
C++

#include "collada_types.hpp"
namespace curve_interpolation {
using namespace collada;
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 },
};
float2 const array_node_cube_translation_x_intangent_array[] = {
{ -0.3332306f, 10.0f },
{ 1.111167f, -10.0f },
{ 2.778333f, 10.0f },
{ 4.4445f, -9.219337f },
};
float2 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,
},
// node_cube_translation_x_output
.output = {
.float_array = array_node_cube_translation_x_output_array,
.count = 4,
},
// node_cube_translation_x_intangent
.in_tangent = {
.float2_array = array_node_cube_translation_x_intangent_array,
.count = 4,
},
// node_cube_translation_x_outtangent
.out_tangent = {
.float2_array = array_node_cube_translation_x_outtangent_array,
.count = 4,
},
// node_cube_translation_x_interpolation
.interpolation = {
.interpolation_array = array_node_cube_translation_x_interpolation_array,
.count = 4,
},
};
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 },
};
float2 const array_node_cube_translation_y_intangent_array[] = {
{ -1.166264f, -10.05776f },
{ 0.2778334f, 10.05852f },
{ 1.9445f, -9.941484f },
{ 3.611667f, 10.05852f },
};
float2 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,
},
// node_cube_translation_y_output
.output = {
.float_array = array_node_cube_translation_y_output_array,
.count = 4,
},
// node_cube_translation_y_intangent
.in_tangent = {
.float2_array = array_node_cube_translation_y_intangent_array,
.count = 4,
},
// node_cube_translation_y_outtangent
.out_tangent = {
.float2_array = array_node_cube_translation_y_outtangent_array,
.count = 4,
},
// node_cube_translation_y_interpolation
.interpolation = {
.interpolation_array = array_node_cube_translation_y_interpolation_array,
.count = 4,
},
};
channel const node_channel_node_cube_translation_x = {
.source_sampler = &sampler_node_cube_translation_x_sampler,
.target_transform_type = transform_type::TRANSLATE,
.target_attribute = target_attribute::X,
};
channel const node_channel_node_cube_translation_y = {
.source_sampler = &sampler_node_cube_translation_y_sampler,
.target_transform_type = transform_type::TRANSLATE,
.target_attribute = target_attribute::Y,
};
effect const effect_material__15 = {
.type = effect_type::BLINN,
.blinn = {
.emission = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.ambient = {
.color = {0.6705883f, 0.5843138f, 1.0f, 1.0f},
},
.diffuse = {
.color = {0.6705883f, 0.5843138f, 1.0f, 1.0f},
},
.specular = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.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 = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.ambient = {
.color = {0.5803922f, 1.0f, 0.9647059f, 1.0f},
},
.diffuse = {
.color = {0.5803922f, 1.0f, 0.9647059f, 1.0f},
},
.specular = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.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 = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.ambient = {
.color = {0.6509804f, 1.0f, 0.5803922f, 1.0f},
},
.diffuse = {
.color = {0.6509804f, 1.0f, 0.5803922f, 1.0f},
},
.specular = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.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 = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.ambient = {
.color = {0.9333334f, 1.0f, 0.5647059f, 1.0f},
},
.diffuse = {
.color = {0.9333334f, 1.0f, 0.5647059f, 1.0f},
},
.specular = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.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 = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.ambient = {
.color = {1.0f, 0.7686275f, 0.5803922f, 1.0f},
},
.diffuse = {
.color = {1.0f, 0.7686275f, 0.5803922f, 1.0f},
},
.specular = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.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 = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.ambient = {
.color = {1.0f, 0.5803922f, 0.5803922f, 1.0f},
},
.diffuse = {
.color = {1.0f, 0.5803922f, 0.5803922f, 1.0f},
},
.specular = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.color = {1.0f, 1.0f, 1.0f, 1.0f},
},
.transparency = 1.0f,
.index_of_refraction = 0.0f,
}
};
effect const effect_coloreffectr229g154b215 = {
.type = effect_type::PHONG,
.phong = {
.emission = {
.color = {0.0f, 0.0f, 0.0f, 0.0f},
},
.ambient = {
.color = {0.8980392f, 0.6039216f, 0.8431373f, 1.0f},
},
.diffuse = {
.color = {0.8980392f, 0.6039216f, 0.8431373f, 1.0f},
},
.specular = {
.color = {1.0f, 1.0f, 1.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.color = {1.0f, 1.0f, 1.0f, 1.0f},
},
.transparency = 1.0f,
.index_of_refraction = 0.0f,
}
};
effect const effect_coloreffectr28g149b177 = {
.type = effect_type::PHONG,
.phong = {
.emission = {
.color = {0.0f, 0.0f, 0.0f, 0.0f},
},
.ambient = {
.color = {0.1098039f, 0.5843137f, 0.6941176f, 1.0f},
},
.diffuse = {
.color = {0.1098039f, 0.5843137f, 0.6941176f, 1.0f},
},
.specular = {
.color = {1.0f, 1.0f, 1.0f, 1.0f},
},
.shininess = 10.0f,
.reflective = {
.color = {0.0f, 0.0f, 0.0f, 1.0f},
},
.reflectivity = 0.0f,
.transparent = {
.color = {1.0f, 1.0f, 1.0f, 1.0f},
},
.transparency = 1.0f,
.index_of_refraction = 0.0f,
}
};
material const material_coloreffectr229g154b215_material = {
.effect = &effect_coloreffectr229g154b215,
};
material const material_coloreffectr28g149b177_material = {
.effect = &effect_coloreffectr28g149b177,
};
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,
};
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_cylinder001[] = {
{
.count = 30, // triangles
.index_offset = 0, // indices
.inputs_index = 0, // index into inputs_list
},
};
geometry const geometry_geom_cylinder001 = {
.mesh = {
.triangles = triangles_geom_cylinder001,
.triangles_count = 1,
.vertex_buffer_offset = 864,
.vertex_buffer_size = 1152,
.index_buffer_offset = 144,
.index_buffer_size = 360,
}
};
triangles const triangles_geom_plane001[] = {
{
.count = 2, // triangles
.index_offset = 0, // indices
.inputs_index = 0, // index into inputs_list
},
};
geometry const geometry_geom_plane001 = {
.mesh = {
.triangles = triangles_geom_plane001,
.triangles_count = 1,
.vertex_buffer_offset = 2016,
.vertex_buffer_size = 144,
.index_buffer_offset = 504,
.index_buffer_size = 24,
}
};
geometry const * const geometries[] = {
&geometry_geom_cube,
&geometry_geom_cylinder001,
&geometry_geom_plane001,
};
node const * const node_children_node_environmentambientlight = {
};
transform const transforms_node_environmentambientlight[] = {
};
instance_geometry const instance_geometries_node_environmentambientlight[] = {
};
channel const * const node_channels_node_environmentambientlight[] = {};
node const node_node_environmentambientlight = {
.type = node_type::NODE,
.transforms = transforms_node_environmentambientlight,
.transforms_count = 0,
.instance_geometries = instance_geometries_node_environmentambientlight,
.instance_geometries_count = 0,
.channels = node_channels_node_environmentambientlight,
.channels_count = 0,
.nodes = node_children_node_environmentambientlight,
.nodes_count = 0,
};
node const * const node_children_node_cube = {
};
transform const transforms_node_cube[] = {
{
.type = transform_type::TRANSLATE,
.translate = {10.0f, 0.0f, 0.0f},
},
};
instance_material const instance_materials_node_cube_0[] = {
{
.element_index = 1, // an index into mesh.triangles
.material = &material_material__15_material,
},
{
.element_index = 5, // an index into mesh.triangles
.material = &material_material__17_material,
},
{
.element_index = 3, // an index into mesh.triangles
.material = &material_material__18_material,
},
{
.element_index = 2, // an index into mesh.triangles
.material = &material_material__19_material,
},
{
.element_index = 0, // an index into mesh.triangles
.material = &material_material__16_material,
},
{
.element_index = 4, // an index into mesh.triangles
.material = &material_material__20_material,
},
};
instance_geometry const instance_geometries_node_cube[] = {
{
.geometry = &geometry_geom_cube,
.instance_materials = instance_materials_node_cube_0,
.instance_materials_count = 6,
},
};
channel const * const node_channels_node_cube[] = {
&node_channel_node_cube_translation_x,
&node_channel_node_cube_translation_y,
};
node const node_node_cube = {
.type = node_type::NODE,
.transforms = transforms_node_cube,
.transforms_count = 1,
.instance_geometries = instance_geometries_node_cube,
.instance_geometries_count = 1,
.channels = node_channels_node_cube,
.channels_count = 2,
.nodes = node_children_node_cube,
.nodes_count = 0,
};
node const * const node_children_node_cylinder001 = {
};
transform const transforms_node_cylinder001[] = {
};
instance_material const instance_materials_node_cylinder001_0[] = {
{
.element_index = 0, // an index into mesh.triangles
.material = &material_coloreffectr229g154b215_material,
},
};
instance_geometry const instance_geometries_node_cylinder001[] = {
{
.geometry = &geometry_geom_cylinder001,
.instance_materials = instance_materials_node_cylinder001_0,
.instance_materials_count = 1,
},
};
channel const * const node_channels_node_cylinder001[] = {
};
node const node_node_cylinder001 = {
.type = node_type::NODE,
.transforms = transforms_node_cylinder001,
.transforms_count = 0,
.instance_geometries = instance_geometries_node_cylinder001,
.instance_geometries_count = 1,
.channels = node_channels_node_cylinder001,
.channels_count = 0,
.nodes = node_children_node_cylinder001,
.nodes_count = 0,
};
node const * const node_children_node_plane001 = {
};
transform const transforms_node_plane001[] = {
{
.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_materials_node_plane001_0[] = {
{
.element_index = 0, // an index into mesh.triangles
.material = &material_coloreffectr28g149b177_material,
},
};
instance_geometry const instance_geometries_node_plane001[] = {
{
.geometry = &geometry_geom_plane001,
.instance_materials = instance_materials_node_plane001_0,
.instance_materials_count = 1,
},
};
channel const * const node_channels_node_plane001[] = {
};
node const node_node_plane001 = {
.type = node_type::NODE,
.transforms = transforms_node_plane001,
.transforms_count = 2,
.instance_geometries = instance_geometries_node_plane001,
.instance_geometries_count = 1,
.channels = node_channels_node_plane001,
.channels_count = 0,
.nodes = node_children_node_plane001,
.nodes_count = 0,
};
node const * const nodes[] = {
&node_node_environmentambientlight,
&node_node_cube,
&node_node_cylinder001,
&node_node_plane001,
};
inputs const inputs_list[] = {
{
.elements = input_elements_position_0_3_normal_0_3_texcoord_0_3,
.elements_count = 3,
},
};
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])),
};
}