From 4d5205a8a027182cf112cc3a56a4ce6e0dffa0c5 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Fri, 31 Jan 2025 10:03:59 -0600 Subject: [PATCH] add testground --- Makefile | 2 +- example/example.mk | 16 + example/testground.cpp | 441 +++ holly/core.cpp | 2 +- holly/region_array.cpp | 2 + model/testground/maskGround.data | Bin 0 -> 131072 bytes model/testground/maskGround.data.h | 15 + model/testground/maskGround.data.pal | Bin 0 -> 9 bytes model/testground/maskGround.png | Bin 0 -> 6346 bytes model/testground/testground.hpp | 1164 ++++++ model/testground/texGrass.data | 5332 ++++++++++++++++++++++++++ model/testground/texGrass.data.h | 15 + model/testground/texGrass.png | Bin 0 -> 21866 bytes model/testground/texGrass2.data | Bin 0 -> 32768 bytes model/testground/texGrass2.data.h | 15 + model/testground/texGrass2.png | Bin 0 -> 37125 bytes model/testground/texRock.data | 1 + model/testground/texRock.data.h | 15 + model/testground/texRock.png | Bin 0 -> 24155 bytes 19 files changed, 7018 insertions(+), 2 deletions(-) create mode 100644 example/testground.cpp create mode 100644 model/testground/maskGround.data create mode 100644 model/testground/maskGround.data.h create mode 100644 model/testground/maskGround.data.pal create mode 100644 model/testground/maskGround.png create mode 100644 model/testground/testground.hpp create mode 100644 model/testground/texGrass.data create mode 100644 model/testground/texGrass.data.h create mode 100644 model/testground/texGrass.png create mode 100644 model/testground/texGrass2.data create mode 100644 model/testground/texGrass2.data.h create mode 100644 model/testground/texGrass2.png create mode 100644 model/testground/texRock.data create mode 100644 model/testground/texRock.data.h create mode 100644 model/testground/texRock.png diff --git a/Makefile b/Makefile index 9bd51b8..652c1e2 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ include base.mk include common.mk include headers.mk -OPT = -Og +OPT = -O2 MAKEFILE_PATH := $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST))))) CFLAGS += -I$(MAKEFILE_PATH) LIB ?= $(MAKEFILE_PATH) diff --git a/example/example.mk b/example/example.mk index 0a2fa4a..0618a8a 100644 --- a/example/example.mk +++ b/example/example.mk @@ -808,3 +808,19 @@ TESTSCENE_OBJ = \ example/testscene.elf: LDSCRIPT = $(LIB)/main.lds example/testscene.elf: $(START_OBJ) $(TESTSCENE_OBJ) + +TESTGROUND_OBJ = \ + example/testground.o \ + holly/core.o \ + holly/region_array.o \ + holly/background.o \ + holly/ta_fifo_polygon_converter.o \ + holly/video_output.o \ + sh7091/serial.o \ + model/testground/maskGround.data.o \ + model/testground/texGrass.data.o \ + model/testground/texGrass2.data.o \ + model/testground/texRock.data.o + +example/testground.elf: LDSCRIPT = $(LIB)/main.lds +example/testground.elf: $(START_OBJ) $(TESTGROUND_OBJ) diff --git a/example/testground.cpp b/example/testground.cpp new file mode 100644 index 0000000..7afd1f5 --- /dev/null +++ b/example/testground.cpp @@ -0,0 +1,441 @@ +#include + +#include "holly/background.hpp" +#include "holly/core.hpp" +#include "holly/core_bits.hpp" +#include "holly/holly.hpp" +#include "holly/isp_tsp.hpp" +#include "holly/region_array.hpp" +#include "holly/ta_bits.hpp" +#include "holly/ta_fifo_polygon_converter.hpp" +#include "holly/ta_global_parameter.hpp" +#include "holly/ta_parameter.hpp" +#include "holly/ta_vertex_parameter.hpp" +#include "holly/texture_memory_alloc3.hpp" +#include "holly/video_output.hpp" + +#include "sh7091/serial.hpp" +#include "sh7091/store_queue.hpp" + +#include "systembus.hpp" +#include "systembus_bits.hpp" + +#include "twiddle.hpp" +#include "memory.hpp" + +#include "model/testground/testground.hpp" +#include "model/testground/maskGround.data.h" +#include "model/testground/texGrass.data.h" +#include "model/testground/texGrass2.data.h" +#include "model/testground/texRock.data.h" + +static float theta = 0; +static int frame = 0; +const float degree = 0.017453292519943295 / 2; +const float max_yz_theta = degree * 100; + +const uint32_t mask_texture_address = texture_memory_alloc.texture.start + 0x00000; +const uint32_t rock_texture_address = texture_memory_alloc.texture.start + 0x20000; +const uint32_t grass_texture_address = texture_memory_alloc.texture.start + 0x28000; +const uint32_t grass2_texture_address = texture_memory_alloc.texture.start + 0x30000; + +static inline vec3 transform_vertex(vec3 vec) +{ + float x9 = vec.x - 2; + float y9 = vec.y; + float z9 = vec.z - 2; + + float yz_rotate_theta = theta >= max_yz_theta ? max_yz_theta : theta; + + float x0 = x9 * cos(theta) - z9 * sin(theta); + float y0 = y9; + float z0 = x9 * sin(theta) + z9 * cos(theta); + + float x1 = x0; + float y1 = y0 * cos(yz_rotate_theta) - z0 * sin(yz_rotate_theta); + float z1 = y0 * sin(yz_rotate_theta) + z0 * cos(yz_rotate_theta); + + float x2 = x1; + float y2 = y1; + float z2 = z1 + 12; + + z2 *= 0.6; + float x3 = (x2 + 0) / z2; + float y3 = (y2 - 5) / z2; + float z3 = 1.0 / z2; + + float x = x3 * 240 + 320; + float y = y3 * 240 + 320; + float z = z3; + + return {x, y, z}; +} + +const uint32_t base_color = 0xffc0c000; + +static inline void transfer_triangle(int index, const vec2 * texcoord, float uv_scale) +{ + vec3 v1 = transform_vertex(position[indices[index + 0]]); + vec2 uv1 = texcoord[indices[index + 0]]; + *reinterpret_cast(store_queue) = + ta_vertex_parameter::polygon_type_3(polygon_vertex_parameter_control_word(false), + v1.x, v1.y, v1.z, + uv1.u * uv_scale, uv1.v * uv_scale, + base_color, + 0); // offset_color + sq_transfer_32byte(ta_fifo_polygon_converter); + + vec3 v2 = transform_vertex(position[indices[index + 1]]); + vec2 uv2 = texcoord[indices[index + 1]]; + *reinterpret_cast(store_queue) = + ta_vertex_parameter::polygon_type_3(polygon_vertex_parameter_control_word(false), + v2.x, v2.y, v2.z, + uv2.u * uv_scale, uv2.v * uv_scale, + base_color, + 0); // offset_color + sq_transfer_32byte(ta_fifo_polygon_converter); + + vec3 v3 = transform_vertex(position[indices[index + 2]]); + vec2 uv3 = texcoord[indices[index + 2]]; + *reinterpret_cast(store_queue) = + ta_vertex_parameter::polygon_type_3(polygon_vertex_parameter_control_word(true), + v3.x, v3.y, v3.z, + uv3.u * uv_scale, uv3.v * uv_scale, + base_color, + 0); // offset_color + sq_transfer_32byte(ta_fifo_polygon_converter); +} + +const int triangle_count = ((sizeof (indices)) / (sizeof (indices[0]))) / 3; + +static inline void transfer_triangles(const uint32_t tsp_instruction_word, const uint32_t texture_control_word, const vec2 * texcoord, float uv_scale) +{ + const uint32_t parameter_control_word = para_control::para_type::polygon_or_modifier_volume + | para_control::list_type::translucent + | obj_control::col_type::packed_color + | obj_control::texture; + + const uint32_t isp_tsp_instruction_word = isp_tsp_instruction_word::depth_compare_mode::always + | isp_tsp_instruction_word::culling_mode::no_culling; + + *reinterpret_cast(store_queue) = + ta_global_parameter::polygon_type_0(parameter_control_word, + isp_tsp_instruction_word, + tsp_instruction_word, + texture_control_word, + 0, // data_size_for_sort_dma + 0 // next_address_for_sort_dma + ); + sq_transfer_32byte(ta_fifo_polygon_converter); + + int index = 0; + for (int i = 0; i < triangle_count; i++) { + transfer_triangle(index, texcoord, uv_scale); + index += 3; + } +} + +void transfer_scene() +{ + // mask: swizzle palette 1 + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::one + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::texture_u_size::from_int(512) + | tsp_instruction_word::texture_v_size::from_int(256) + // | tsp_instruction_word::use_alpha + ; + + const uint32_t texture_address = mask_texture_address; + const uint32_t texture_control_word = texture_control_word::pixel_format::_8bpp_palette + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8) + | texture_control_word::palette_selector8(1); + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_0, 1.0f); + } + + // rock texture + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::dst_alpha + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::texture_u_size::from_int(128) + | tsp_instruction_word::texture_v_size::from_int(128) + //| tsp_instruction_word::use_alpha + ; + + const uint32_t texture_address = rock_texture_address; + const uint32_t texture_control_word = texture_control_word::pixel_format::_565 + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8); + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_1, 5.0f); + } + + // mask: swizzle palette 2 ; secondary accumulation buffer + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::one + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::texture_u_size::from_int(512) + | tsp_instruction_word::texture_v_size::from_int(256) + //| tsp_instruction_word::use_alpha + | tsp_instruction_word::src_select::primary_accumulation_buffer + | tsp_instruction_word::dst_select::secondary_accumulation_buffer; + + const uint32_t texture_address = mask_texture_address; + const uint32_t texture_control_word = texture_control_word::pixel_format::_8bpp_palette + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8) + | texture_control_word::palette_selector8(2); + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_0, 1.0f); + } + + // grass texture ; secondary accumulation buffer + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::dst_alpha + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::texture_u_size::from_int(128) + | tsp_instruction_word::texture_v_size::from_int(128) + //| tsp_instruction_word::use_alpha + | tsp_instruction_word::src_select::primary_accumulation_buffer + | tsp_instruction_word::dst_select::secondary_accumulation_buffer; + + const uint32_t texture_address = grass_texture_address; + const uint32_t texture_control_word = texture_control_word::pixel_format::_565 + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8); + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_1, 5.0f); + } + + // flush secondary accumulation buffer to primary + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::src_alpha + | tsp_instruction_word::dst_alpha_instr::inverse_src_alpha + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::src_select::secondary_accumulation_buffer + | tsp_instruction_word::dst_select::primary_accumulation_buffer; + + const uint32_t texture_control_word = 0; + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_1, 5.0f); + } + + // mask: swizzle palette 3 ; secondary accumulation buffer + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::one + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::texture_u_size::from_int(512) + | tsp_instruction_word::texture_v_size::from_int(256) + //| tsp_instruction_word::use_alpha + | tsp_instruction_word::src_select::primary_accumulation_buffer + | tsp_instruction_word::dst_select::secondary_accumulation_buffer; + + const uint32_t texture_address = mask_texture_address; + const uint32_t texture_control_word = texture_control_word::pixel_format::_8bpp_palette + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8) + | texture_control_word::palette_selector8(3); + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_0, 1.0f); + } + + // grass2 texture ; secondary accumulation buffer + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::dst_alpha + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::texture_u_size::from_int(128) + | tsp_instruction_word::texture_v_size::from_int(128) + //| tsp_instruction_word::use_alpha + | tsp_instruction_word::src_select::primary_accumulation_buffer + | tsp_instruction_word::dst_select::secondary_accumulation_buffer; + + const uint32_t texture_address = grass2_texture_address; + const uint32_t texture_control_word = texture_control_word::pixel_format::_565 + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8); + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_1, 1.0f); + } + + // flush secondary accumulation buffer to primary + if (1) { + const uint32_t tsp_instruction_word = tsp_instruction_word::src_alpha_instr::src_alpha + | tsp_instruction_word::dst_alpha_instr::inverse_src_alpha + | tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::src_select::secondary_accumulation_buffer + | tsp_instruction_word::dst_select::primary_accumulation_buffer; + + const uint32_t texture_control_word = 0; + + transfer_triangles(tsp_instruction_word, texture_control_word, texcoord_1, 1.0f); + } + + *reinterpret_cast(store_queue) = + ta_global_parameter::end_of_list(para_control::para_type::end_of_list); + sq_transfer_32byte(ta_fifo_polygon_converter); +} + +void transfer_textures() +{ + system.LMMODE0 = 0; // 64-bit + system.LMMODE1 = 0; // 64-bit + + // mask + { + uint8_t * start = (uint8_t *)&_binary_model_testground_maskGround_data_start; + uint8_t twiddle_temp[512 * 256] __attribute__((aligned(4))); + twiddle::texture(twiddle_temp, start, 512, 256); + //memory::copy(&ta_fifo_texture_memory[mask_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 512 * 256); + memory::copy(&texture_memory64[mask_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 512 * 256); + } + + // rock + { + uint16_t * start = (uint16_t *)&_binary_model_testground_texRock_data_start; + uint16_t twiddle_temp[128 * 128] __attribute__((aligned(4))); + twiddle::texture(twiddle_temp, start, 128, 128); + //memory::copy(&ta_fifo_texture_memory[rock_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 128 * 128); + memory::copy(&texture_memory64[rock_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 128 * 128); + } + + // grass + { + uint16_t * start = (uint16_t *)&_binary_model_testground_texGrass_data_start; + uint16_t twiddle_temp[128 * 128] __attribute__((aligned(4))); + twiddle::texture(twiddle_temp, start, 128, 128); + //memory::copy(&ta_fifo_texture_memory[grass_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 128 * 128); + memory::copy(&texture_memory64[grass_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 128 * 128); + } + + // grass2 + { + uint16_t * start = (uint16_t *)&_binary_model_testground_texGrass2_data_start; + uint16_t twiddle_temp[128 * 128] __attribute__((aligned(4))); + twiddle::texture(twiddle_temp, start, 128, 128); + //memory::copy(&ta_fifo_texture_memory[grass2_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 128 * 128); + memory::copy(&texture_memory64[grass2_texture_address / 4], reinterpret_cast(&twiddle_temp[0]), 128 * 128); + } +} + +static inline uint16_t argb1555(int a, int r, int g, int b) +{ + return ((a & 1) << 15) | ((r & 31) << 10) | ((g & 31) << 5) | ((b & 31) << 0); +} + +void transfer_palette_ram() +{ + holly.PAL_RAM_CTRL = pal_ram_ctrl::pixel_format::argb1555; + // debug palette + holly.PALETTE_RAM[ 0 + 0] = argb1555(1, 31, 0, 0); + holly.PALETTE_RAM[ 0 + 1] = argb1555(1, 0, 31, 0); + holly.PALETTE_RAM[ 0 + 2] = argb1555(1, 0, 0, 31); + + // "swizzle" palettes + holly.PALETTE_RAM[256 + 0] = argb1555(1, 0, 0, 0); + holly.PALETTE_RAM[256 + 1] = argb1555(0, 0, 0, 0); + holly.PALETTE_RAM[256 + 2] = argb1555(0, 0, 0, 0); + + holly.PALETTE_RAM[512 + 0] = argb1555(0, 0, 0, 0); + holly.PALETTE_RAM[512 + 1] = argb1555(1, 0, 0, 0); + holly.PALETTE_RAM[512 + 2] = argb1555(0, 0, 0, 0); + + holly.PALETTE_RAM[768 + 0] = argb1555(0, 0, 0, 0); + holly.PALETTE_RAM[768 + 1] = argb1555(0, 0, 0, 0); + holly.PALETTE_RAM[768 + 2] = argb1555(1, 0, 0, 0); +} + +void main() +{ + for (int i = 0; i < 8 * 1024 * 1024 / 4; i++) { + ta_fifo_texture_memory[i] = 0; + } + + transfer_textures(); + transfer_palette_ram(); + + constexpr uint32_t ta_alloc = ta_alloc_ctrl::pt_opb::no_list + | ta_alloc_ctrl::tm_opb::no_list + | ta_alloc_ctrl::t_opb::_16x4byte + | ta_alloc_ctrl::om_opb::no_list + | ta_alloc_ctrl::o_opb::no_list; + + constexpr int render_passes = 1; + constexpr struct opb_size opb_size[render_passes] = { + { + .opaque = 0, + .opaque_modifier = 0, + .translucent = 16 * 4, + .translucent_modifier = 0, + .punch_through = 0 + } + }; + + holly.SOFTRESET = softreset::pipeline_soft_reset + | softreset::ta_soft_reset; + holly.SOFTRESET = 0; + + core_init(); + + video_output::set_mode_vga(); + + const int framebuffer_width = 640; + const int framebuffer_height = 480; + const int tile_width = framebuffer_width / 32; + const int tile_height = framebuffer_height / 32; + + region_array_multipass(tile_width, + tile_height, + opb_size, + render_passes, + texture_memory_alloc.region_array[0].start, + texture_memory_alloc.object_list[1].start); + + //texture_memory_alloc.background[1].start; + background_parameter2(0x7fffe0 - 128, + 0xff220033); + + frame = 0; + + while (1) { + ta_polygon_converter_init2(texture_memory_alloc.isp_tsp_parameters[0].start, + texture_memory_alloc.isp_tsp_parameters[0].end, + texture_memory_alloc.object_list[1].start, + texture_memory_alloc.object_list[1].end, + opb_size[0].total(), + ta_alloc, + tile_width, + tile_height); + transfer_scene(); + ta_wait_translucent_list(); + + holly.SOFTRESET = softreset::pipeline_soft_reset; + holly.SOFTRESET = 0; + core_start_render2(texture_memory_alloc.region_array[0].start, + texture_memory_alloc.isp_tsp_parameters[0].start, + 0x7fffe0 - 128,//texture_memory_alloc.background[1].start, + texture_memory_alloc.framebuffer[frame & 1].start, + framebuffer_width); + + //core_wait_end_of_render_video(); + + while (!spg_status::vsync(holly.SPG_STATUS)); + while (spg_status::vsync(holly.SPG_STATUS)); + + frame += 1; + + while (!spg_status::vsync(holly.SPG_STATUS)); + holly.FB_R_SOF1 = texture_memory_alloc.framebuffer[frame & 1].start; + while (spg_status::vsync(holly.SPG_STATUS)); + + theta += degree; + } + serial::string("return\nreturn\nreturn\n"); +} diff --git a/holly/core.cpp b/holly/core.cpp index 435fdaa..6c9b6df 100644 --- a/holly/core.cpp +++ b/holly/core.cpp @@ -161,7 +161,7 @@ void core_wait_end_of_render_video() holly.SOFTRESET = 0; //break; } - if (count > 10000000) { + if (count > 100000) { serial::string("core timeout:\n"); serial::string("isterr "); serial::integer(system.ISTERR); diff --git a/holly/region_array.cpp b/holly/region_array.cpp index e61bd6b..e7f4633 100644 --- a/holly/region_array.cpp +++ b/holly/region_array.cpp @@ -143,6 +143,8 @@ void region_array_multipass(const uint32_t width, // in tile units (1 tile unit region_array[ix].tile = REGION_ARRAY__TILE_Y_POSITION(y) | REGION_ARRAY__TILE_X_POSITION(x); + region_array[ix].tile |= REGION_ARRAY__PRE_SORT; + if (pass == (num_render_passes - 1) && y == (height - 1) && x == (width - 1)) region_array[ix].tile |= REGION_ARRAY__LAST_REGION; diff --git a/model/testground/maskGround.data b/model/testground/maskGround.data new file mode 100644 index 0000000000000000000000000000000000000000..1c6d887c6fd064bd1c828c1db5b5d3e95ea829cb GIT binary patch literal 131072 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 CCIFTI literal 0 HcmV?d00001 diff --git a/model/testground/maskGround.data.h b/model/testground/maskGround.data.h new file mode 100644 index 0000000..6f28277 --- /dev/null +++ b/model/testground/maskGround.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_model_testground_maskGround_data_start __asm("_binary_model_testground_maskGround_data_start"); +extern uint32_t _binary_model_testground_maskGround_data_end __asm("_binary_model_testground_maskGround_data_end"); +extern uint32_t _binary_model_testground_maskGround_data_size __asm("_binary_model_testground_maskGround_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/model/testground/maskGround.data.pal b/model/testground/maskGround.data.pal new file mode 100644 index 0000000000000000000000000000000000000000..dfd9192e530538ada2e0ee8ea4feddc48f0d3fde GIT binary patch literal 9 Qcmeyzz`*c_-&f)e01y%bO8@`> literal 0 HcmV?d00001 diff --git a/model/testground/maskGround.png b/model/testground/maskGround.png new file mode 100644 index 0000000000000000000000000000000000000000..c980e23a2758b96258bd8fe3a6b11aa2623f979d GIT binary patch literal 6346 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 I+(Wni8{e^ok^lez literal 0 HcmV?d00001 diff --git a/model/testground/testground.hpp b/model/testground/testground.hpp new file mode 100644 index 0000000..a2a43ba --- /dev/null +++ b/model/testground/testground.hpp @@ -0,0 +1,1164 @@ +#include "math/vec3.hpp" +#include "math/vec2.hpp" + +using vec3 = vec<3, float>; +using vec2 = vec<2, float>; + +const vec3 position[] = { + {-2.0, 0.0, -2.0}, + {-2.0, 0.0, -2.0}, + {-6.0, 0.0, -6.0}, + {-6.0, 0.0, 10.0}, + {-2.0, 0.0, 6.0}, + {-2.0, 0.0, 6.0}, + {8.0, 0.0, 6.0}, + {8.0, 0.0, 6.0}, + {8.0, 0.0, -2.0}, + {8.0, 0.0, -2.0}, + {12.0, 0.0, -6.0}, + {12.0, 0.0, -6.0}, + {12.0, 0.0, 10.0}, + {12.0, 0.0, 10.0}, + {1.0, 0.0, 3.0}, + {1.0, 0.0, 1.0}, + {0.0, 0.0, 3.0}, + {0.0, 0.0, 1.0}, + {0.0, 0.0, 3.0}, + {0.0, 0.0, 1.0}, + {-1.0, 0.0, 3.0}, + {-1.0, 0.0, 1.0}, + {1.0, 0.0, -1.0}, + {0.0, 0.0, -1.0}, + {0.0, 0.0, -0.0}, + {1.0, 0.0, -0.0}, + {-1.0, 0.0, -1.0}, + {-1.0, 0.0, -0.0}, + {0.0, 0.0, -1.0}, + {0.0, 0.0, -0.0}, + {-1.0, 0.0, 1.0}, + {0.0, 0.0, 1.0}, + {0.0, 0.0, -0.0}, + {-1.0, 0.0, -0.0}, + {3.0, 0.0, 1.0}, + {2.0, 0.0, 1.0}, + {2.0, 0.0, 2.0}, + {3.0, 0.0, 2.0}, + {1.0, 0.0, 1.0}, + {1.0, 0.0, 2.0}, + {2.0, 0.0, 1.0}, + {2.0, 0.0, 2.0}, + {3.0, 0.0, 3.0}, + {3.0, 0.0, 2.0}, + {2.0, 0.0, 3.0}, + {2.0, 0.0, 2.0}, + {1.0, 0.0, 3.0}, + {2.0, 0.0, 3.0}, + {2.0, 0.0, 2.0}, + {1.0, 0.0, 2.0}, + {3.0, 0.0, -1.0}, + {1.0, 0.0, -1.0}, + {1.0, 0.0, -0.0}, + {3.0, 0.0, -0.0}, + {3.0, 0.0, -0.0}, + {1.0, 0.0, -0.0}, + {1.0, 0.0, 1.0}, + {3.0, 0.0, 1.0}, + {-1.0, 0.0, -2.0}, + {-1.0, 0.0, -1.0}, + {0.0, 0.0, -2.0}, + {0.0, 0.0, -1.0}, + {1.0, 0.0, -2.0}, + {0.0, 0.0, -2.0}, + {0.0, 0.0, -1.0}, + {1.0, 0.0, -1.0}, + {5.0, 0.0, -1.0}, + {3.0, 0.0, -1.0}, + {3.0, 0.0, -0.0}, + {5.0, 0.0, -0.0}, + {6.0, 0.0, -1.0}, + {5.0, 0.0, -1.0}, + {5.0, 0.0, -0.0}, + {6.0, 0.0, -0.0}, + {6.0, 0.0, -0.0}, + {5.0, 0.0, -0.0}, + {5.0, 0.0, 1.0}, + {6.0, 0.0, 1.0}, + {7.0, 0.0, -0.0}, + {6.0, 0.0, -0.0}, + {6.0, 0.0, 1.0}, + {7.0, 0.0, 1.0}, + {8.0, 0.0, 1.0}, + {7.0, 0.0, 1.0}, + {7.0, 0.0, 2.0}, + {8.0, 0.0, 2.0}, + {6.0, 0.0, 3.0}, + {4.0, 0.0, 3.0}, + {4.0, 0.0, 4.0}, + {6.0, 0.0, 4.0}, + {8.0, 0.0, 3.0}, + {8.0, 0.0, 2.0}, + {7.0, 0.0, 3.0}, + {7.0, 0.0, 2.0}, + {7.0, 0.0, 3.0}, + {7.0, 0.0, 2.0}, + {6.0, 0.0, 3.0}, + {6.0, 0.0, 2.0}, + {7.0, 0.0, 1.0}, + {6.0, 0.0, 1.0}, + {6.0, 0.0, 2.0}, + {7.0, 0.0, 2.0}, + {7.0, 0.0, 4.0}, + {7.0, 0.0, 3.0}, + {6.0, 0.0, 4.0}, + {6.0, 0.0, 3.0}, + {4.0, 0.0, 5.0}, + {4.0, 0.0, 4.0}, + {3.0, 0.0, 5.0}, + {3.0, 0.0, 4.0}, + {3.0, 0.0, 6.0}, + {3.0, 0.0, 5.0}, + {2.0, 0.0, 6.0}, + {2.0, 0.0, 5.0}, + {3.0, 0.0, 1.0}, + {4.0, 0.0, 1.0}, + {4.0, 0.0, -0.0}, + {3.0, 0.0, -0.0}, + {4.0, 0.0, 3.0}, + {4.0, 0.0, 1.0}, + {3.0, 0.0, 3.0}, + {3.0, 0.0, 1.0}, + {3.0, 0.0, 3.0}, + {1.0, 0.0, 3.0}, + {1.0, 0.0, 4.0}, + {3.0, 0.0, 4.0}, + {3.0, 0.0, 5.0}, + {3.0, 0.0, 4.0}, + {2.0, 0.0, 5.0}, + {2.0, 0.0, 4.0}, + {-2.0, 0.0, -1.0}, + {-2.0, 0.0, -0.0}, + {-1.0, 0.0, -1.0}, + {-1.0, 0.0, -0.0}, + {-2.0, 0.0, 1.0}, + {-1.0, 0.0, 1.0}, + {-1.0, 0.0, -0.0}, + {-2.0, 0.0, -0.0}, + {1.0, 0.0, 3.0}, + {0.0, 0.0, 3.0}, + {0.0, 0.0, 4.0}, + {1.0, 0.0, 4.0}, + {0.0, 0.0, 5.0}, + {0.0, 0.0, 3.0}, + {-1.0, 0.0, 5.0}, + {-1.0, 0.0, 3.0}, + {-1.0, 0.0, 6.0}, + {0.0, 0.0, 6.0}, + {0.0, 0.0, 5.0}, + {-1.0, 0.0, 5.0}, + {2.0, 0.0, 5.0}, + {0.0, 0.0, 5.0}, + {0.0, 0.0, 6.0}, + {2.0, 0.0, 6.0}, + {4.0, 0.0, 1.0}, + {5.0, 0.0, 1.0}, + {4.0, 0.0, -0.0}, + {5.0, 0.0, -0.0}, + {4.0, 0.0, 3.0}, + {6.0, 0.0, 3.0}, + {4.0, 0.0, 1.0}, + {6.0, 0.0, 1.0}, + {2.0, 0.0, 4.0}, + {2.0, 0.0, 5.0}, + {0.0, 0.0, 5.0}, + {0.0, 0.0, 4.0}, + {4.0, 0.0, 5.0}, + {8.0, 0.0, 5.0}, + {4.0, 0.0, 4.0}, + {8.0, 0.0, 4.0}, + {7.0, 0.0, 3.0}, + {8.0, 0.0, 3.0}, + {8.0, 0.0, 4.0}, + {7.0, 0.0, 4.0}, + {3.0, 0.0, 5.0}, + {8.0, 0.0, 5.0}, + {8.0, 0.0, 6.0}, + {3.0, 0.0, 6.0}, + {7.0, 0.0, 1.0}, + {7.0, 0.0, -0.0}, + {8.0, 0.0, -0.0}, + {8.0, 0.0, 1.0}, + {8.0, 0.0, -0.0}, + {8.0, 0.0, -1.0}, + {6.0, 0.0, -1.0}, + {6.0, 0.0, -0.0}, + {1.0, 0.0, -1.0}, + {1.0, 0.0, -2.0}, + {8.0, 0.0, -2.0}, + {8.0, 0.0, -1.0}, + {-1.0, 0.0, -2.0}, + {-2.0, 0.0, -2.0}, + {-2.0, 0.0, -1.0}, + {-1.0, 0.0, -1.0}, + {-1.0, 0.0, 1.0}, + {-1.0, 0.0, 6.0}, + {-2.0, 0.0, 6.0}, + {-2.0, 0.0, 1.0}, + {1.0, 0.0, 1.0}, + {1.0, 0.0, -0.0}, + {0.0, 0.0, 1.0}, + {0.0, 0.0, -0.0}, + {3.0, 0.0, 3.0}, + {3.0, 0.0, 4.0}, + {4.0, 0.0, 3.0}, + {4.0, 0.0, 4.0}, + {4.0, 0.0, 3.0}, + {3.0, 0.0, 4.0}, +}; + +const vec3 normal[] = { + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0}, + {0.0, 1.0, 0.0} +}; + +const vec2 texcoord_0[] = { + {0.75, 0.625}, + {0.9166666865348816, 0.875}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.75, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.75, 0.625}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.9166666865348816, 0.625}, + {0.9166666865348816, 0.625}, + {0.9166666865348816, 0.875}, + {0.3333333432674408, 1.0}, + {0.3333333432674408, 0.5}, + {0.1666666716337204, 1.0}, + {0.1666666716337204, 0.5}, + {0.1666666716337204, 1.0}, + {0.1666666716337204, 0.5}, + {0.0, 1.0}, + {0.0, 0.5}, + {0.3333333432674408, 0.0}, + {0.1666666716337204, 0.0}, + {0.1666666716337204, 0.25}, + {0.3333333432674408, 0.25}, + {0.0, 0.0}, + {0.0, 0.25}, + {0.1666666716337204, 0.0}, + {0.1666666716337204, 0.25}, + {0.0, 0.5}, + {0.1666666716337204, 0.5}, + {0.1666666716337204, 0.25}, + {0.0, 0.25}, + {0.6666666865348816, 0.5}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 0.75}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.75}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 1.0}, + {0.6666666865348816, 0.75}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.3333333432674408, 1.0}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.3333333432674408, 0.75}, + {0.640625, 0.0}, + {0.3333333432674408, 0.0}, + {0.3333333432674408, 0.25}, + {0.640625, 0.25}, + {0.640625, 0.25}, + {0.3333333432674408, 0.25}, + {0.3333333432674408, 0.5}, + {0.640625, 0.5}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.75}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 0.5}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 0.75}, + {0.640625, 0.0}, + {0.3333333432674408, 0.0}, + {0.3333333432674408, 0.25}, + {0.640625, 0.25}, + {0.6666666865348816, 0.5}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 0.75}, + {0.3333333432674408, 0.0}, + {0.1666666716337204, 0.0}, + {0.1666666716337204, 0.25}, + {0.3333333432674408, 0.25}, + {0.6666666865348816, 0.5}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 0.75}, + {0.6666666865348816, 0.5}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.6666666865348816, 0.75}, + {0.640625, 0.25}, + {0.3333333432674408, 0.25}, + {0.3333333432674408, 0.5}, + {0.640625, 0.5}, + {0.6666666865348816, 1.0}, + {0.6666666865348816, 0.75}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.25}, + {0.1666666716337204, 0.5}, + {0.1666666716337204, 0.25}, + {0.3333333432674408, 0.0}, + {0.1666666716337204, 0.0}, + {0.1666666716337204, 0.25}, + {0.3333333432674408, 0.25}, + {0.6666666865348816, 1.0}, + {0.6666666865348816, 0.75}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.6666666865348816, 1.0}, + {0.6666666865348816, 0.75}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.6666666865348816, 1.0}, + {0.6666666865348816, 0.75}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.0, 0.5}, + {0.1666666716337204, 0.5}, + {0.1666666716337204, 0.25}, + {0.0, 0.25}, + {0.1666666716337204, 1.0}, + {0.1666666716337204, 0.5}, + {0.0, 1.0}, + {0.0, 0.5}, + {0.640625, 0.0}, + {0.3333333432674408, 0.0}, + {0.3333333432674408, 0.25}, + {0.640625, 0.25}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.25}, + {0.1666666716337204, 0.5}, + {0.1666666716337204, 0.25}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.75}, + {0.5, 0.5}, + {0.5, 0.75}, + {0.3333333432674408, 1.0}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.3333333432674408, 0.75}, + {0.3333333432674408, 0.0}, + {0.1666666716337204, 0.0}, + {0.1666666716337204, 0.25}, + {0.3333333432674408, 0.25}, + {0.1666666716337204, 1.0}, + {0.1666666716337204, 0.5}, + {0.0, 1.0}, + {0.0, 0.5}, + {0.3333333432674408, 1.0}, + {0.5, 1.0}, + {0.5, 0.75}, + {0.3333333432674408, 0.75}, + {0.640625, 0.25}, + {0.3333333432674408, 0.25}, + {0.3333333432674408, 0.5}, + {0.640625, 0.5}, + {0.0833333358168602, 0.375}, + {0.25, 0.375}, + {0.0833333358168602, 0.125}, + {0.25, 0.125}, + {0.0833333358168602, 0.375}, + {0.25, 0.375}, + {0.0833333358168602, 0.125}, + {0.25, 0.125}, + {0.0833333358168602, 0.125}, + {0.0833333358168602, 0.375}, + {0.25, 0.375}, + {0.25, 0.125}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.75, 0.625}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.75, 0.625}, + {0.75, 0.875}, + {0.9166666865348816, 0.875}, + {0.9166666865348816, 0.625}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.25}, + {0.1666666716337204, 0.5}, + {0.1666666716337204, 0.25}, + {0.0, 0.0}, + {0.0, 0.25}, + {0.1666666716337204, 0.0}, + {0.3333333432674408, 0.5}, + {0.3333333432674408, 0.25}, + {0.1666666716337204, 0.5} +}; + +const vec2 texcoord_1[] = { + {0.001176555990241468, -0.09858822822570801}, + {0.001176555990241468, -0.09858822822570801}, + {-0.3978823125362396, -0.6971762180328369}, + {-0.3978823125362396, 1.697176218032837}, + {0.001176555990241468, 1.0985881090164185}, + {0.001176555990241468, 1.0985881090164185}, + {0.9988230466842651, 1.0985881090164185}, + {0.9988230466842651, 1.0985881090164185}, + {0.9988230466842651, -0.09858822822570801}, + {0.9988230466842651, -0.09858822822570801}, + {1.3978822231292725, -0.6971762180328369}, + {1.3978822231292725, -0.6971762180328369}, + {1.3978822231292725, 1.697176218032837}, + {1.3978822231292725, 1.697176218032837}, + {0.30047059059143066, 0.649647057056427}, + {0.30047059059143066, 0.3503531217575073}, + {0.20070576667785645, 0.649647057056427}, + {0.20070576667785645, 0.3503531217575073}, + {0.20070576667785645, 0.649647057056427}, + {0.20070576667785645, 0.3503531217575073}, + {0.10094118118286133, 0.649647057056427}, + {0.10094118118286133, 0.3503531217575073}, + {0.30047059059143066, 0.05105900764465332}, + {0.20070576667785645, 0.05105900764465332}, + {0.20070576667785645, 0.200705885887146}, + {0.30047059059143066, 0.200705885887146}, + {0.10094118118286133, 0.05105900764465332}, + {0.10094118118286133, 0.200705885887146}, + {0.20070576667785645, 0.05105900764465332}, + {0.20070576667785645, 0.200705885887146}, + {0.10094118118286133, 0.3503531217575073}, + {0.20070576667785645, 0.3503531217575073}, + {0.20070576667785645, 0.200705885887146}, + {0.10094118118286133, 0.200705885887146}, + {0.5, 0.3503531217575073}, + {0.4002351760864258, 0.3503531217575073}, + {0.4002351760864258, 0.5}, + {0.5, 0.5}, + {0.30047059059143066, 0.3503531217575073}, + {0.30047059059143066, 0.5}, + {0.4002351760864258, 0.3503531217575073}, + {0.4002351760864258, 0.5}, + {0.5, 0.649647057056427}, + {0.5, 0.5}, + {0.4002351760864258, 0.649647057056427}, + {0.4002351760864258, 0.5}, + {0.30047059059143066, 0.649647057056427}, + {0.4002351760864258, 0.649647057056427}, + {0.4002351760864258, 0.5}, + {0.30047059059143066, 0.5}, + {0.5, 0.05105900764465332}, + {0.30047059059143066, 0.05105900764465332}, + {0.30047059059143066, 0.200705885887146}, + {0.5, 0.200705885887146}, + {0.5, 0.200705885887146}, + {0.30047059059143066, 0.200705885887146}, + {0.30047059059143066, 0.3503531217575073}, + {0.5, 0.3503531217575073}, + {0.10094118118286133, -0.09858822822570801}, + {0.10094118118286133, 0.05105900764465332}, + {0.20070576667785645, -0.09858822822570801}, + {0.20070576667785645, 0.05105900764465332}, + {0.30047059059143066, -0.09858822822570801}, + {0.20070576667785645, -0.09858822822570801}, + {0.20070576667785645, 0.05105900764465332}, + {0.30047059059143066, 0.05105900764465332}, + {0.6995291709899902, 0.05105900764465332}, + {0.5, 0.05105900764465332}, + {0.5, 0.200705885887146}, + {0.6995291709899902, 0.200705885887146}, + {0.7992942333221436, 0.05105900764465332}, + {0.6995291709899902, 0.05105900764465332}, + {0.6995291709899902, 0.200705885887146}, + {0.7992942333221436, 0.200705885887146}, + {0.7992942333221436, 0.200705885887146}, + {0.6995291709899902, 0.200705885887146}, + {0.6995291709899902, 0.3503531217575073}, + {0.7992942333221436, 0.3503531217575073}, + {0.8990586996078491, 0.200705885887146}, + {0.7992942333221436, 0.200705885887146}, + {0.7992942333221436, 0.3503531217575073}, + {0.8990586996078491, 0.3503531217575073}, + {0.9988230466842651, 0.3503531217575073}, + {0.8990586996078491, 0.3503531217575073}, + {0.8990586996078491, 0.5}, + {0.9988230466842651, 0.5}, + {0.7992942333221436, 0.649647057056427}, + {0.5997645854949951, 0.649647057056427}, + {0.5997645854949951, 0.799294114112854}, + {0.7992942333221436, 0.799294114112854}, + {0.9988230466842651, 0.649647057056427}, + {0.9988230466842651, 0.5}, + {0.8990586996078491, 0.649647057056427}, + {0.8990586996078491, 0.5}, + {0.8990586996078491, 0.649647057056427}, + {0.8990586996078491, 0.5}, + {0.7992942333221436, 0.649647057056427}, + {0.7992942333221436, 0.5}, + {0.8990586996078491, 0.3503531217575073}, + {0.7992942333221436, 0.3503531217575073}, + {0.7992942333221436, 0.5}, + {0.8990586996078491, 0.5}, + {0.8990586996078491, 0.799294114112854}, + {0.8990586996078491, 0.649647057056427}, + {0.7992942333221436, 0.799294114112854}, + {0.7992942333221436, 0.649647057056427}, + {0.5997645854949951, 0.9489409923553467}, + {0.5997645854949951, 0.799294114112854}, + {0.5, 0.9489409923553467}, + {0.5, 0.799294114112854}, + {0.5, 1.0985881090164185}, + {0.5, 0.9489409923553467}, + {0.4002351760864258, 1.0985881090164185}, + {0.4002351760864258, 0.9489409923553467}, + {0.5, 0.3503531217575073}, + {0.5997645854949951, 0.3503531217575073}, + {0.5997645854949951, 0.200705885887146}, + {0.5, 0.200705885887146}, + {0.5997645854949951, 0.649647057056427}, + {0.5997645854949951, 0.3503531217575073}, + {0.5, 0.649647057056427}, + {0.5, 0.3503531217575073}, + {0.5, 0.649647057056427}, + {0.30047059059143066, 0.649647057056427}, + {0.30047059059143066, 0.799294114112854}, + {0.5, 0.799294114112854}, + {0.5, 0.9489409923553467}, + {0.5, 0.799294114112854}, + {0.4002351760864258, 0.9489409923553467}, + {0.4002351760864258, 0.799294114112854}, + {0.001176555990241468, 0.05105900764465332}, + {0.001176555990241468, 0.200705885887146}, + {0.10094118118286133, 0.05105900764465332}, + {0.10094118118286133, 0.200705885887146}, + {0.001176555990241468, 0.3503531217575073}, + {0.10094118118286133, 0.3503531217575073}, + {0.10094118118286133, 0.200705885887146}, + {0.001176555990241468, 0.200705885887146}, + {0.30047059059143066, 0.649647057056427}, + {0.20070576667785645, 0.649647057056427}, + {0.20070576667785645, 0.799294114112854}, + {0.30047059059143066, 0.799294114112854}, + {0.20070576667785645, 0.9489409923553467}, + {0.20070576667785645, 0.649647057056427}, + {0.10094118118286133, 0.9489409923553467}, + {0.10094118118286133, 0.649647057056427}, + {0.10094118118286133, 1.0985881090164185}, + {0.20070576667785645, 1.0985881090164185}, + {0.20070576667785645, 0.9489409923553467}, + {0.10094118118286133, 0.9489409923553467}, + {0.4002351760864258, 0.9489409923553467}, + {0.20070576667785645, 0.9489409923553467}, + {0.20070576667785645, 1.0985881090164185}, + {0.4002351760864258, 1.0985881090164185}, + {0.5997645854949951, 0.3503531217575073}, + {0.6995291709899902, 0.3503531217575073}, + {0.5997645854949951, 0.200705885887146}, + {0.6995291709899902, 0.200705885887146}, + {0.5997645854949951, 0.649647057056427}, + {0.7992942333221436, 0.649647057056427}, + {0.5997645854949951, 0.3503531217575073}, + {0.7992942333221436, 0.3503531217575073}, + {0.4002351760864258, 0.799294114112854}, + {0.4002351760864258, 0.9489409923553467}, + {0.20070576667785645, 0.9489409923553467}, + {0.20070576667785645, 0.799294114112854}, + {0.5997645854949951, 0.9489409923553467}, + {0.9988230466842651, 0.9489409923553467}, + {0.5997645854949951, 0.799294114112854}, + {0.9988230466842651, 0.799294114112854}, + {0.8990586996078491, 0.649647057056427}, + {0.9988230466842651, 0.649647057056427}, + {0.9988230466842651, 0.799294114112854}, + {0.8990586996078491, 0.799294114112854}, + {0.5, 0.9489409923553467}, + {0.9988230466842651, 0.9489409923553467}, + {0.9988230466842651, 1.0985881090164185}, + {0.5, 1.0985881090164185}, + {0.8990586996078491, 0.3503531217575073}, + {0.8990586996078491, 0.200705885887146}, + {0.9988230466842651, 0.200705885887146}, + {0.9988230466842651, 0.3503531217575073}, + {0.9988230466842651, 0.200705885887146}, + {0.9988230466842651, 0.05105900764465332}, + {0.7992942333221436, 0.05105900764465332}, + {0.7992942333221436, 0.200705885887146}, + {0.30047059059143066, 0.05105900764465332}, + {0.30047059059143066, -0.09858822822570801}, + {0.9988230466842651, -0.09858822822570801}, + {0.9988230466842651, 0.05105900764465332}, + {0.10094118118286133, -0.09858822822570801}, + {0.001176555990241468, -0.09858822822570801}, + {0.001176555990241468, 0.05105900764465332}, + {0.10094118118286133, 0.05105900764465332}, + {0.10094118118286133, 0.3503531217575073}, + {0.10094118118286133, 1.0985881090164185}, + {0.001176555990241468, 1.0985881090164185}, + {0.001176555990241468, 0.3503531217575073}, + {0.30047059059143066, 0.3503531217575073}, + {0.30047059059143066, 0.200705885887146}, + {0.20070576667785645, 0.3503531217575073}, + {0.20070576667785645, 0.200705885887146}, + {0.5, 0.649647057056427}, + {0.5, 0.799294114112854}, + {0.5997645854949951, 0.649647057056427}, + {0.5997645854949951, 0.799294114112854}, + {0.5997645854949951, 0.649647057056427}, + {0.5, 0.799294114112854} +}; + +const int indices[] = { + 2, + 3, + 5, + 2, + 5, + 0, + 4, + 3, + 12, + 4, + 12, + 6, + 7, + 13, + 11, + 7, + 11, + 8, + 2, + 1, + 9, + 2, + 9, + 10, + 16, + 14, + 15, + 16, + 15, + 17, + 20, + 18, + 19, + 20, + 19, + 21, + 24, + 25, + 22, + 24, + 22, + 23, + 27, + 29, + 28, + 27, + 28, + 26, + 30, + 31, + 32, + 30, + 32, + 33, + 36, + 37, + 34, + 36, + 34, + 35, + 39, + 41, + 40, + 39, + 40, + 38, + 44, + 42, + 43, + 44, + 43, + 45, + 46, + 47, + 48, + 46, + 48, + 49, + 52, + 53, + 50, + 52, + 50, + 51, + 56, + 57, + 54, + 56, + 54, + 55, + 59, + 61, + 60, + 59, + 60, + 58, + 64, + 65, + 62, + 64, + 62, + 63, + 68, + 69, + 66, + 68, + 66, + 67, + 72, + 73, + 70, + 72, + 70, + 71, + 76, + 77, + 74, + 76, + 74, + 75, + 80, + 81, + 78, + 80, + 78, + 79, + 84, + 85, + 82, + 84, + 82, + 83, + 88, + 89, + 86, + 88, + 86, + 87, + 92, + 90, + 91, + 92, + 91, + 93, + 96, + 94, + 95, + 96, + 95, + 97, + 100, + 101, + 98, + 100, + 98, + 99, + 104, + 102, + 103, + 104, + 103, + 105, + 108, + 106, + 107, + 108, + 107, + 109, + 112, + 110, + 111, + 112, + 111, + 113, + 114, + 115, + 116, + 114, + 116, + 117, + 120, + 118, + 119, + 120, + 119, + 121, + 124, + 125, + 122, + 124, + 122, + 123, + 128, + 126, + 127, + 128, + 127, + 129, + 131, + 133, + 132, + 131, + 132, + 130, + 134, + 135, + 136, + 134, + 136, + 137, + 140, + 141, + 138, + 140, + 138, + 139, + 144, + 142, + 143, + 144, + 143, + 145, + 146, + 147, + 148, + 146, + 148, + 149, + 152, + 153, + 150, + 152, + 150, + 151, + 154, + 155, + 157, + 154, + 157, + 156, + 158, + 159, + 161, + 158, + 161, + 160, + 163, + 162, + 165, + 163, + 165, + 164, + 166, + 167, + 169, + 166, + 169, + 168, + 171, + 170, + 173, + 171, + 173, + 172, + 175, + 174, + 177, + 175, + 177, + 176, + 179, + 178, + 181, + 179, + 181, + 180, + 183, + 184, + 185, + 183, + 185, + 182, + 187, + 186, + 189, + 187, + 189, + 188, + 191, + 192, + 193, + 191, + 193, + 190, + 195, + 194, + 197, + 195, + 197, + 196, + 200, + 198, + 199, + 200, + 199, + 201, + 204, + 202, + 203, + 206, + 207, + 205 +}; diff --git a/model/testground/texGrass.data b/model/testground/texGrass.data new file mode 100644 index 0000000..597e2ae --- /dev/null +++ b/model/testground/texGrass.data @@ -0,0 +1,5332 @@ + + +! +" + + + + +á  + + + + + + + +á à  + +à  + + +à àá á à à  +" +" +B"""""""CCBBCcCCCccCB"""""" +"! +BcCBCC"CB! +"" +" +"B""""" +""BBB""""""" + +" +"! + +! +"" + +""" +"B""B""" +"" +""" + +" + +á  + + + +! + + + + + +à á  + + + + + + + +à  +á á  + + +à à á á á á ""CC"BCB"BBBC""CCCBCcccCB""""" +""BcCBBC"B! + +""! + + +""""" +"""""" +" +""""" + + +"" +" +! +"" +""""""""""""" + +"" + +" +á  + + + + + + +á  + +à  + + + + + + + + + + + + +á  + +à à á  +á  +BBBCBBBC"BBCCB"cCCCCcCcccBBB""""""CCB"BB" + +! +" + + +" + + +"" + +"""" +"""" +"" + + +""""""""""" +"" +"""" +" +""" +"" + + + + + + +" + +à  + +à  + + + + + + + + + + + + + + + +á à á  + +" +""BCCBBCBCCBC"BBBCCCCCccCCBBB""B""CBC"""" + +" +"! + + +" + + +" + + +" +"! + +" + +! + + +"! + + + +""""""""""" +"""""" + +""" +""" + + + + +" +à  + +á  + +á  + + + + + + + + + +à  + +à à "! +! + +""BCBBCBCCBBc""BCBBCBBcccBBB"""" +" +BB""" +" +""! +" + + +" +! +" + + +" +" +"" + + + +" + + + + + +" +" + +"""""" +" +"" +"""" + +""" +" +" +"" + + + + + +" +á  +á  +á  +á  + +à á á  + + + +á à à  + +á á ! + +"BB""BBCBCCBBB""BBBBCBCcccBCB"""" +"BB"""" +"" +"" + + +" + + +" + + +" + +"" + + + +" + +á á  +! +! + +" + + +""" +"" +! +"! +" +""" +"" +" +! +"" + + + + + +" + +á  + +à á á á á à à á á á  +á á à À + + +á " +" +BCBBBB"B"BBB" +B"B"B"BBCBCcccCBBBB" +"BCB"""" +"" +"" + +! +" + + +" +! + + + +" +" + + + + +á á á á  +" +"""! + +" +" +" +" + +! +""" +""""""! + +"""" + +! + + + +" + +á  + +à á á á á á à  + + + +á  +á  +! + +á  +"""BBB"cc"BBB""BC""CB"BC"CCCccCCBB" +"BBB""""" +""! + + +""" +""! +! + + + + +"" + + + +á á  + + + + +"""" + + + +" + +""" +" +""""""! +"""" +" +"" + + +á  +á  +á á á á á à à  +" +á " +"! + + + +""""BBB"BcBBCC""BC""CBCBCBBcCCcCC"""" +"BB""""""""" + + +""" +""" + + +" +" +"" + + + +á á  + + + + + + + +"! + + + + + +" +""" +! +"""""""""" + + +! +"" + + +á á  +á  +á á á á Àà  + +" +""" + + +""B"BCC"BcBBBB"! +"B""CCC"CC"CcccCC"B"""BBBB""""" +! +! +""""""" +" +""" + + + +á  + + + + + + + + +" + +" + + + +" +""" +" +"" +"""""" +! + + + +B" + + +á  + +á  +á à á á à à  + +"""C + + + +"CBCCB"CccCBCB" +"B""CCCCBCCCccCcC"BB +! +""BB"""""! +" +""" +"""""" +"""""" + + + + + + +! +" +" + + + + + + +" +" +" +" +"""" + +"" +" +" +""" + + + + +"" + + +á  + +á á à à à à à à  +""" +"" +" +"""B"BBBCBcCBCBB""""CCCCBCcBCCBBC""B" + +""B"""""""! +! +" +""B""""B"""" + +! +" + + +" + +! +" + + + + + +"" + +""""" +"" + + +" + +! +" + +! + + + +" +" + +á  +á  +á á à à à à á """""""" +! +"""B"""Bc"CcBCC""B""BcCCCBcCBBBCBB"BB + +" +"""" +""""" + +" +""""""""B"""" + +! +"" + +" +! +! + + +"" + + + + + +"" +"""""" + +" + + + + +! + +à  + + + + +" + + + + + +à  + + +à  +""""""BC" +" +"""CCB""cBBcCB"B"B"""CCBCCCCCBCBBB"""" + + + +"" +"""" +"" + +""" +! +"""" +"B""" + +""" + +"" +" + + +" + + + + + +" +"""""""" + + + + + + + + +à á  + + + + + + + + + +á á " +B! + +! +"! +""" +"""! +"B"BBB"BBCCBccBCB" +B""BCcCBC"BCBB""B"" +" + + + + +""""! +"! +! +"" +! +" +" +" + +"""" +""""" + +" +"! + +""" +" +"" +" +"""""""""""" + + + +á  + +à  + +á  +" + +á  + + +á  +BcB"""" +"""""""BBBB"""BBCcCCcBCB""BB"CcCBCBBCB"""""" +" + + + +" +"""" +"! +! +! +! + +" + + +! + +"" + +" + +""" +"" + +! +"""" +"""""""" +"B""""B"" +" +á  + + + +á  + + +á  +"á á  +" +"""! +! +CB +""""B"""BBBBc""""ccBCCCBC"BBBCCCCBB""""" +"! + + +" + + + +" +B +""""" +""! + +" + + +! + +! + + + + + +" + + +" + +! +""""" +" +" +""" +"""BB""B""""" +á á  + + + + + + +à  +" + + + +" +""" +! + +"B"BB""c"""BB"BCB""BccCBCCCCBBCCCBCC"B""" +" + +" +! +" + +""" + + +""""B""""" +" + + +" +" + + + + +á  + + + +" + + +! +"""""" +"""" +"BB"" +"""""" + + + + +à á á  + + + + + + + + +""""" + +" +BBBB"BCB"""B"BC""""ccCCCcCcCCCCBBBC"C""" +" + + +" +" +"" +" + +""""B"""""" + +""" +" + +à  + + + +" + + +"""""""""""""BB"" +""""" + + + + + + +à à àá  + + + + + +""B""" + +"BCC""BCB"BBBBC""BBCccCCccCCCCccBBC"""" + +" +! +" +""""" + + +" +" +"BCB""""" +""" +""" + +à  + +á  +"" + +""""""""""""""""""" +"! + + + + +á  + +á à Àá  + + + + + +"""BBC" +B"CCB"BCCBCCCBC""""BcCCCCcC"BCccCCB"" +"" + +" +""" +"""" + + +" +" +"BCB"B"" + +"B"""""á à  + + + +""" +""""""""""""B" +" +"! + + + + + + + + +á  + +à à à à  + + +" + +" +B""BcB""BBCCBCCBBBcCCCCC""B"CBBCCcC"BCCCCCCB""""" +" +""""""" + + +! +" +"CCB"BB"! +"" +"""""! + +à  + + + +""""""""""""""""B"" +"" + + + +! + + +á á  +á  +à à à + + + + + +BBBB"B"""CCBB"ccCBCCcCccB""BBCBBBBCBB""CCBBBB"""B"" +" +"""""" + +" + +""CCBB""""""""""" + + +à  + + + +""" +""B"""""B"""""B""" + + + + + + +á à á á  +à à à à  + + + +"C"BB"B"""BCCC"cccCcBccccCB"BCBBC"B"BB""BBBBCB""""" + +! +""""""! + +" +""CCCB"B""""B"" +" + + +á  + + + +" +"! +""B"" +" +" +"""""""B"" +" + + + + + + +á á á á  +á á à à  + +"! +"C"CCBB"""BCccBCCcccCCcccCC"BBBBBB""""""BB""CB"""" +! +"""""""" +"""""CCBB"BBB""B""" +á  + + + + + + +""" +! +B" +" +""""""" +""" + +" + + + + + + + +á á  + + +á á  + +"BBC"CC""BB"BCccC""CCCCCCCccCCBBBB""""""""BB""BB"""" +""""""""""""""BBBB"BB"""BB"" +á á  + + +" + +""" + +"" + + +! +""""""" +"""" + + + + + + + +á á  + + +á  + + +C"C"BCCBB"BBB"CCcB"CCCBBcCCccCBBBB"""B"""""""""B""B" +"""""""""""B"""BBB""BB"""""" + + +á  + + +" + +"" + +"" + + +! +"""""" +""""" + + + + + + +" +á á  + + + + + +"""BBCCCB""BBBBCBCBBBCcBBcCCCcCBBC""BB"""""" +! +""""" +""""""""""""""""""""""""""""" + + + + + + + + +" +""" + + +"" + + +"""""""""" +" + + + +" + + +! + + + + + + +" +"B""BBBBC"""BB""""""BBccCBBCCCBCBBB""BB""""""" + +" +"" +""""""! + + + +"! + + + + +""" + + + + +" +" + + +"" + + + + + + + + + +! +! +""! + +á "" + + + +""" +""" +"" + + + + + +! + + +" + + +! +" +" +"BB""C"B""BCBB"" + + +" +BBBBCccBCB"CB"BB""B"B""""""" + + +"""! +"""" +" +" + + + +! + + + + + + + + + +à à á  + + +á " +""! + + +! + + + + + + +" +"" + +""" + + + +" + +""" + + +" + + + +" +! + + +" +! + + +" +BBBC""cBB"B"BBB""" +"""B"BBCcCCC""""B""""""B""""" + + +""""""" + +" + + + + + + + + + +á  + + +à Ààá  +á à ! +"""" + +""" +" + + + +! +" +" +""" + + +"" + + +"" +á  + + + +á  +! + + +" +" +! +""C"Bc""CCBBCBCBBBB" +""BBBBBCCCCC""""""""" +"""""B + +"" +"""""""" + +"! + + + + + + + + + + + + +á á àÀá á  +á  + +""" + +""" +"" + + +! +! + + +"" + +"" + +á " + + +á  + + + +á  +! +" + + + +" +"BBBB""CcBBBBBBB"""" +"""BBCCCCCCB"" +""""" +" + + +""""" + +"""""""""" + +" +! + + + + + + + + + + + + + + +à Àà à à á  + + +! +" + +" +"! +""" + + + + +! + +"" + +"" + + +á  + + + + + + +á á  + +" + +""" +"CCCB""CcC"B"BBB"BB""""""BCCBCC"" +"! +" +""" + + + +" +""" +"" + +"""""""""" + +! + + + + + + + + + + + + + + +á Àà á à á  + + + + + + +"" +"" + +á à  +! +" +" +" + + + + + +á á  + +á á  +á á á  + +" + + +"B"" +BCCCBBBCcC"BBBC"BCB""""""BCBBBBB"""" +""" + + + +"""""" + +""""""" +" +" + +! + + + + + + + + + + + + + + + + +á à à  +à  +á  + + +á á  + +" + + + + +à à  + + + + + + + +! + + +á  + +à à  +à á à á  +" +"! +! +"""CcCCCCCCCB""B"CBBBB"""""""BB""BB"""""""" + +á  +" +"""""" +"""""""" + + + + + + + + + + + + + + + + + +á  + + + + +à  + + + + + + + + + + + + +á á à à + + + + + + + + + + +á  + +á À + + +à à  + +! +! + +"""BCCBCcCCCB"BB""B""B"" +"B""""""""BB""" +" +" + + +á  + +"""""""""""""! + + + + + + + + + + + + + + + +" + + + + + + + +á  + + + + +á  + + + +à  +á á á á à à  + + + +" + + + + + +à  + + +à + + +à À + + +"! +"" +"BCcBCCCBBB"CB"! +"""BB"BC""""""""""""" + + + + +á á á  +" + +"""""""""" + + + + + + + + + + +! + + + + + +" +á  + +á  + + + + +"" + + + +" + +à  +à á  +á á á  + + + +"" + +" + +á á  + +à  + + + +à à  +! + + +""BBCcBCCC" +BBBCB"! +"B"BC"BBB""BB""""" + + + + + + +á á á á  +""""" +"""""" + + + + + + +""""""! + + +á á  + +á  +! +"""" +! +" +"" + + + +" + + + +à à á á á  +! + + + +"" + +" + +àá  + + +á  + + + +á  + + + +"cBBBcBBCB"CCBBC" +"B""BB"BB""""""" +"" + + + + + +á á à  +á  +"""""""""" +" + + + + +á " +B""""B + + + +à  + + +á """""B"" +"" +" +" +" + + + +à á á à  + +! + + +" +"" + +! + +Àà  + + +à  + + + + + + + +""CB"BCBBcB"BCCBCB +"""""B"CC"""""""""" + + + +á á à à  +á  +""""""""""" + + + + + +"""" +""" + +á à à á á á "B"B""B" +"""""! + + + +à  +à á  + + + + +! +" + + + + +à á  + +á á  + + + +á  + + +""C"""BCBCCBBCcBBBBB""B"B""B"""""" + +" + + + +á à á á à  + +á  +" +" +" +" +"""""" + +" + +CB""" +"""""" + + +á á " +""B"""C""" + +"! + +"! + + + + +" + + + +! +" + +" + + + + +á  +á  +á  + + + +à  + +! +B"B"""CCB"BCBCcCBcC""BBB"""""""" + + + + + +á á á á à  +á à á  + + + + + + + +"B"B"""""CB"B""" +""""BB"""B"""""ccB" +! +! +"BC"! +! + +"" + + +à ! +"á á  + + +á à á  +á à  + + +á à  +""C"C"B"C""BBCCCccBcB""""" + +" + + +" +" + + + + + + +á á á á à  +à à á  + + + + + + +" +BB"CBB"BBCB""""" +" +" +"CB""BBB"BBBc„c" +" +" +Ccc"" +"BB +! + + +! + + +à  + + + +á  + + +à  + + + + + +""C"CCBBc""cCCCBccCBB""" +" +" + + +" +" + +" + + + + + + + + +á á á à  +à à à  + + + + + + +"BB"BBCB"BCBBBB""" +"! +"""B""CC""CCC„c" +" +CCcc"" + +BCB +! + + + + +á  + + +á  +á  + +á à  + + + + +"Bc"CcB"cB"BcCCCccC"BB" +" +"! +" +"" + + + + + + + + + + +á  + +à  +á à  +á  + + + + +! +"BB"BCCB"CCBBB"""c""! +""""""CC"BCcccc"! +CCC„C"""c„C"! +á  +á  + +à  + +á  + + +! + +à  +! +" + +""cBCcB"cB"BccBCccC"B""""""" +"" +" +" +" + + + + + + +á  + +à  + +à  +à  + + + + +"""CCccCBBCBCBB"""B"""""B"BBCCCBCcccc""cC„¤C" +""„cB"" +à Àà à  + +á  +! + +à  + + + + + +"" +""BccCcBccCBBccccccB""B"""""""" + +"" +á  + +á  + +á á  + + + +á  +à  + + + + +"""CCccCBBBCCBBB""B"""! +"BB"BCBBBCBCcc"BcC„„C" +BCcc"" + + +àà à  +" +" + + +á á  + + +! + + +"""BBccccccBCCccccCcCB""B"B""" +""" + +" +" + + + + + + + + + + + + +" +" +" + + +"B"BCCCccCCCccCCC"BCB"B""BB"CCCBB"BCccBCcC„CCBcCC"" + + +à à á "" +! + + + +á  + + +"BBBB"BCc„ccccBCCcc„CccCC""BBB""" + +""" +"" + + + + + + + + + + + + +"""" +" + +CCCBCCCcCCCBccCccC"BBCBBBBB"BCcBCCCCccccCccCcCCCB" +" + + +! +à ! +" + +"" +! + + +á  +BBBCB"BccƒƒcccBCcBCccccCB""BBB""! + +"""" +""" + +! + + + + + + + + + +"BB""" +"""CcBCCCCCBCccCCCCCcCBCCCCCCCCccCCBCCccccCcCcCcCC"""! +" +" +! + +! + +B"" + + + +"BBCCB""BcccccBcCcBccccCB""BBC"B""""""" +" +! + + + + + +á  + + +"""BB"B +"CCCCCcCCBBCBCCcCBBCcCBBBCCCCcCccCCBcccdCcccBcCcCB"""""! + +" +" + +B"Bc" +á ! +""BBBB"""BcccccBcCCcccccB"""B"B""""""" + +" + + + +" + + +á  + +"""BB"BB"BCBccCCCBBBBCCccCCBBCCBBCCBccccccCCCcc„cccccBcCcCCB""""! +" +"" +á """B" + +"B""BB""B"BCccccBCBCccBBCB"""""""""""" + + + + + +à  +" + + + +á  + +"BBCBCCcCBBCcCcBCCC""BBCCCccBCCBBCCBccccccCccccccccdCcCcccdB""B" +" +B" +B"B" + +"BBBBBBB"B""BccBB""BCBB"""BB"""""" +"" +" + +á á á  +á  + + + + + + +" +""BBBBBcBCBCcCCBCBB"BBBBCCCcCBBB"cCCCcccccccCcc„dcccccCccccC" +" +B"""B""BBC"""BBcBCBBB"B"""B""""" +"BB" + +"BB""""""" +" + + + +á á à  + +á ! + + +" + +" +""BCBB"BBBCCCcCCCBBB""""BCCCCCCBBBCCCCcccccCCccddccdcccBcCCCB"! +B"""B"""CBCBB"BcBcCBBB""""""B"""""""" +""BB""""B""" + +á  +á á à  + +à  + + +" + +""BCCBBBBBBBBBcccCBBB"BB"BCCcCCCCBCBCBCcCcccCCCccdccdcccCCB"CBB! +BC""C" +B"cBBCC"BCCcCB"B""B""""""""""" +""""B""B""""" + + + +á  +à  + +á  + + +" +BBBBCCCCCCC"BBCcccCBCB""""BCCccCBCCCCCCCcCCcCCCcccccccccCCC""CB""BCB"CBBBcCBBC"CccCCBBB""B"""""""""" +"""""""""B""" + + + +á  + +à  + + + + + + +CCBCBCCCcB"CB"ccCcCBBC"""""CCccCBBCCccCcCBCCCCBCCccCCCCCCCB""CC"""CB"CCBCccC"BBBCcBBCBB""BB"""""""" +"""" +"" +" +! +"" +"" + + +" + +à á  +à  +á  + +" + +BCBCcCBBC"BCC"ccccCBCCB""""BCccCCCCCCcCCCBBBC"BCCCC"BBBBBBBB"CB"""BB"CcCCccCCCCBcBBBCBB""BC"""B"""" +" +""" + + + +"" + + + +"! + + +" + +á à á  + +à ! +"B! +"BCBCccBCC"BB""CcccC"BCCB""! +BCcBCCCCCBCBBB""B"""C""""" +" +" +""BBBBBB""""BBCcccCcCCBcCcBBCcB""" +BCB""""""" +"! +" +" + + + + +! +" + + + + +á  + + + +á à  +á  +""BB"BB"CCCB"BBB"B"BCCccCBCCBB""""C"BCCCCBBCC""""""BCB"" + + + + +"""BBBBBBB"BcCCCcCcCcccccBBcc"BB""cC""""""""" +"" + + + + + + + + + + +á á  + +á  + + + +" +""BBCCCBBBB"" +B""""BBBCCCCCCCBCBBBBB"CBC"B""BBB""""""BB" + + + + + +" +"""B"B"B""CBCBCccCccCCƒCCBCCB"BCBCCBBB"""" +" +" +" + + +" + + + + + + + +á  + + +à  +" +" +"CC""CCCCBBC"" +BB +! +BBBCBCCcCCCBCBBBCB"CCB"B""CB"""" +"""BB" + +" +! + + + + +""""""""" +"B"BBCCCCccCccccCccC"BCCCB"B"B""" +" + + + + +! + + + + + + +á  + + + +á  +"" +"BCBB"CccCBBCBBCB"" +""BBBCCCCCCCCBBBCCBCC""B""CCB""""""BB" +""" + +" +" +"""""""" +"" +"BCBCCcCCCCcccccc""CcB"""B""" +" + + +á  + + + + +á  + + +à à  +" +á "CC"CCcCBBCCcCBBBCCC""BBB"BCcCCCBCCB"CCCBCC""B""BB"B""""B"B"" +""" +""" +""B"""""B +! +"BcCCCcCCCBccCBBC"" +"B"""""""" +! + + +á  + + + + + +à  + + +à à "B + +"CC"CCCcCCCCcccBBBCCBBB"C""BCCCCCCBBBBCCCCC""B"BB""B""" +"""B" +" +"B"! +" +""BB""B" +"" +" +"BCCCccCcCCCCC""""! +" +""""""""" + + + + + + + +á  +à  +á á á " +"B + +"CC"CCBCCccCCcccCCBCB"""CB""BCBCCCB"CCCCBCCBBB"""""" +" +! + + + +"BB" +"B"! +" +" +"BBB"B"B"" +"""BBCccccccBcc""B"! +""""" +" +" + +" + + + + + + + +á á à á à á  +""" +""CCBCBCCCCccCCcccCCCBB""BBBBCB"CBC"BBCCB"BCB"B"" +""! + +" + + + + +""""" +"""""""BBBBBBB +""""BBBBCcccCBcB""B""" +! +" +""" + + + + + + + +á  + +á  +á à  +à à  + +"! +B"""CBBCCCCBcccccCcccCBB""BBBCCBBB""""BB"""BC""""""" + +" +" + + +"B"""""""" +""BBBBBBB"""""BCCBBcccccc""""""" +" +"" +"" +á  + + + + + +á  + + + +á  +à Àà " +"" +""""cBBCCCCBCccccccCcC"""BB""CCCCB"" +""B""""""" +""""" + + +""" + +! +B"! +""B""" +"BBBBCCCB""B""BBCCCCCCBC"BB"BB""""" +" + + + +á  + +á  +á  + + + +á  +á à á """ + +"" +BBCccBCBCCcCccccBCC"""BBC"BCBC""" + +"""" +B""""""" +" + + +""" + +"" + +""B"""BCC"BCCCB"B""""CCCB"C"BBBB"BB""""B" + + +! + +á  + +à á  + +" + + +á á  + + +" +"" +"BB""BCCCCCBCBCCCBCcCB"""""BCBBCCCBB"" +" +""""B"! +" +"B" +"" + +"""" + +""" + +" +" +""" +"BCCBBCCCB"B"B +" +"BCB""""B"B""B"""B"" +á  + + + + + +á á  + + + + +á à  + +" +"C""BCB"CCB""BB""CCCBBCCCB""""BCCBCCCBB""""""""" +" + +"" + + +" + +! +! + +! + + +" +! + + + +""""BBCCBBCCBBB""" +""B""""" + +B""""""B""" +á  + + + + + + + +á  + + + + +à  + +"""""BcCBCCB"""B""BBBCC"BBBB""BCCCBBCBBB"""""""" + +! + + +" +" + + +" + + + + + + + + + + + + +"""BBBCCBBBCBBBB! +""BB""" +"" +"""""B""! +"" + +" +" +" + + +á à  + + + + + + +"" + +BB""BBccBBcB"B"B""BBBBCCB""BB"BCCCBCBBCBBB""""B" + + + + + +" + + + + + + + + +á  + +" + + + +" +"" +BBBBCCBBBBB""" +""B"""""B""B"""B"" + +" + +! +" + + +" +á á  + + + + +" +BB"B""" +B"CcCBcBB"""B"BBBBBCC""BB"BCCCCCBBBBBB"""""" + +! + + + +" + + + + + +" + + + + + + +" + + +! +" +""""BBBBBB""B""""B"""""""" +B"BB""""! +""" + +" + + +! +á  + + + + + + +"BCCB""""BCCCCCCB"BBB""BB"BBCB""BC"CCBBCBBBBBB"""! +"" + + + + + + + + + + + + +" + + + + + + +" + + +"" +"" +"BBBB""""""""""C"" +"" +""" +"""BB"""""""" +"! +! + +á  + + + + + +" +B"B"""""""BCBCCCB! +"""""B"""""B""BCBBCB"BB""""""" +" + + + + + + + + + +á á  + + + +"" + + + + + +" + + + + +"" +" +""""""""B"B"""C" + + +""""""" +"""""""B""" +" +" +à à à á  + + + +"C" +B""""""BBCcCBB" +" +""" +" +"""""""""BBB"BB"""""""""! +" + + + + + + + + + +á á á  +á  +""" + + + + + +" + + + +"" +" +"""BBB""B"B""""" + + + +" +"" +"" +" +" +"""""""""" + +á à à  +á à  + +! +"""""! +""""BBBBCB""" + +" +"" +" +""" +""""""BB"""""""" + +! +" +" + + + + + + +á á à á á  + + + + +""" + + +! +! +" +! +" +" +"" +" +" +""""BBB"""""" +" +! + +"! + +" + + +"" + + + +" +"B"""" +"à á á á  + +" + + + + +"""B" +""" +"""""CBB"" + +" +" +" +" +""! +""""""""""""" +""! +á  +" + + + + + + + +á à à á á á  + + + + +" +" + + +" +"" +" +"" +"" +""""""""""""! + +à  + + +" + + + + + + + + +! + + +" +"" + +! +" +á à  + + +" + +à """ +"C"""" +""""""B"" + + +" +" +""""" +"BB"B"""""" + + +"" + + + + + + + + +! +á  + +á à à à á á  + +á  + + + + +" + +""" +" +""""""""""""""" +! +! + + +à  + + + + + + + +á  + + +! +" + + +"" + + +" + + +! + + + +""á " +"! +"B"""""B"" +"B""" + + +" +! +" +"""" +! +"B" +"""" + + + +á  + + + + + + + + + + + + + + +à à à à à á  +à á  + +" + +"""B""""""""""""""" +! + +! +! + + + + +á  + + + + +! + + + + + + +! +" + +" +"" +" + + +! +""" + + + +"B" +" +""""BB" +CC" +""B"" +! + +! +" +" +""" +""" + +"" + + + + + + +! + + +á  + + + +" +" + + + + +à à à à á à á  +á  +! +" +" +" +""""""""""""""""" + + + +" + + + + +à  + +" + + +" + + + + + + + + +" +""""! + + + +"B +á  +"BC" +"""""""B"BB"! +"""" +" + +! +! +"" +"" +""" +"" + +" + + +á  + + + + + + + +"" + + + +á à à à á à á  + + + +" +! +" +"""B"""""B"""""" +"" + + + + + + +á á á  +" + + + +" + + + + +" + +"""! + +" + +" +"B + + +"BCB +""BB"""""""" +! +" +""" +"" +" + +" +""""""" +""" +"" + + +á  + +á  + + + + +"" + + + + +á à à à á à á á á  + + + +" +"""""""B"B"""""" +" +"" +" + + + +á à à á à  +" + + + + + +" + + +"""B"" + + +" +" +" + +""BBCC"B"BBB" +"" +" +"" +" +! +" +! +" +"" +" +"! +! +"" +"""" +" +"" + +" + + + + + + +á  + + + +" +" + + + + + +à à à á á á á à  + +à à  +""! + +""""""""B"""""" + + + +à à à á á á  + + + + + + +"" + +"! +""" + + +" +" +B +" +"""BCCBC"B""" +"" + +"! +! + +" + +"! +! +"" +" +""""""! +! +""" + +" + + + + + + +á  + + + +" +" + + + + + +á à à  + +à Àà á à à  +" +! + + +! +"B"B""BB"""""" + + +á Àà à à à à  + + + + + + +" + + + +" +" + + +" + +"" +! +" +"" +BcCBB"B""" +" +" + +"" + + +" +"! + +"" + +"" + +""" +! +""" + + +á á  + + + + +" + + + +"! + + + + + +à à à  + +à ÀÀá à à á  + + + + +! +""""""BB""" +"" + + +à à  +à àà à  + + +! +! + + + + + + +" + +" + +á  +"" +BB! +""B" +"cCB""B" +"! +" +""" +B"" +! +" +" +" +" +" + +"" + +""! + +""" + + + + +à á  + +á  + +" + + + + + + + + + +à à à  + +à ÀÀá à à  + +á á  +" + + +" + +"""BBB"! +" +" + +á á  + +à Àà  + +! + + + + + + + + + +" + + + +á B"""""""B""BcBC""B"! +" +" +"""""""" + +" +" +"" + +""! + +" +"" + +! +"! + +á  + +à à  + + +á  + + + + + + + +á  +á à à á  + +à ÀÀà  +à  +á  +Àà  +" +"! + + + +" +"""" + +" + + + + + + +à Àà  +" + + + +" + + +" + + +" +! + +" + +""B"BB"""""Cc"BB"""" +" +" +! +"""""" +" +" + + +" +"" +"" +" +"" +""" +""" + + + +à à á á à á à  +á  + + +á  +à  +á á à á ! +à àÀÀà á à á  +á à à  + +""" + + + +" +""! + + +" +á  + + + +à Àá  + +" + + +" + + + +" +" +"" +"""""BB"B"""" +BcBBCBB"""! +" +""B""" +" +"" + +""" +""" + +"" +" +"" +" +! +" +! + + + +á à à à à à à á à  + + + + + + +á á à  + +à àá àÀà á á  + +à  + +! + + +" +" +" + + + +" + +" +" +" + + +á  + + +à  + + +" + +" +" +" +! +"" +""" + +"BCB"""BBB""""BBBB""B" +" +! +" +"B""" + +"" +"" +"""" +"" + +" +" + + + +" + + + +á à à à à à Àà  + + + +à á " + +à  +à á á á à à à Àà à á  + +á  + + + + + +""" + +" + +á  + + + + + +á  + + + + + +" +" +""""" +"" +"" +"BBC"BBBCB"""" +"CB""""" + +""" +"""" +"" +"""" +""""""" + + +! + + +á  +" + + + + +à à  +ààÀà + + + +à à " +à à à à à à á à à à Àà àà  +! +á  + +"" + + +! + +" + + + + +á á  + +á  + + +á  +! + +"""" +"" +"" +" +"!" + +"BBBcB"BBBBB"" +" +BC""B"" +""" +"""""" +"""" +" +" +"""""" + + + + +á á á  + + + + +à à  +àÀÀà  + +" + + + + + +à à á á à àÀàà à à à À +" + + +"""" + + +! + +á à à à  + + + + + + + + + +"""B""BB""B" + +"BBBBCC"CBBBBB + +! +"B" +""" +" +"B" + +""" +" +" +""" +"! +""""" +"! + +á  + +á à à  +" + + +" +à à  +á à Àá  + +" + + + + +á á à  +à ÀÀàà à à á à á " + + + +""! + + + + +á  +á á à À + + + + + + +" + + +BCcBBCC""""""BB""BCBcBBBCC" + +" +""" + +"! + +""B" +"""" +""""""""""" +"! + +á  + + +à à  +" + + + +á  +á à à  + + + + + + + +! + +á à à à à ÀÀà à á  + + + + + + + + + + +á á á á  +á  +à à  + + + +" +á  + + +"CCccCCcB"BC""BB"""BBC"BBcC" + +" +""" + +"! + +""B""""""""BB""BBB"""" +! +á  + +á á à  +" + + +! + + +á  +à à  + + + + + + + + + + +à Àà à à à à à á  + + + + + +" +" + + +à à à  +á  + + + +à  + +" +""" + + + +"BCBcccBcCBBC"CB""""BCBBB"cB" +! +""" + +"" + +""""""""""""BB""BB""! +! + + + + +á á á  + + + +! +! + + + +à á  + + + + + + + + + + +à à à á àÀà á  + + + + + +á  + + + +à à á  + +à  +à B" +" +"CCCB +! +""CBBcccB„cBBcBCB""""CCBCBBCBB" +! +"" +"" +" +"" +"""" +"""""""""BB""BB"" + + + + +à á  + + + + + +! +" + + +á  + + + +á  + + +! + + +á á á  +á à ààá  + + + + + + + + +" + +à á  + + + +á  +"BCcBBCB""BCCC„cC"ccCCcCCC""""CCBB"BBBBB! +""""" +""" +""" +""""""""""B"""""" + + + + +á á á  + +! + + +" +" +á  + + +á  + + + + + + +" + +Àá  +á  + +à à  + + + + + + +á  + + + + +à  +" + + +"""C"BBBBB"CCcCCc„cBc„cCcCCBB""BCBBBBCBBBB"" +"""""""""""""""""""""""! +""""" + + +á á á  + + + + + +! + + + + + +á á à á  +á à à á  + + +à  + + + + + +à Àá  +" +B" +à á  + + +" +"" +B"! +BBC"CBcC""BBBCCcCc„cBc„cCccC"B""BCBBCCcBcBBB""""""" +"" +""" +"""""""""""" +"B" +"" + +á  +á  + + + + + + + + + + + +á à Ààà à á à Àá  + +á  +à á  +! +" + + +á ! +"BB +á  + +" +B"BBB"„c„cCCCBB"BBBBB„cCdcBC„cCCcBBBB"BCBBCCCBCBBCB""""""" +""""" +"""""""""""""""" + + +á  + + + + +" + + + + + + + + + +à àà à Àá à à à + +à á á  + +"""! +" +""B"" + +! +"CC"CC"cCC"BCCCCBCBCCCc„BccBBccBBcB"""" +"CCCCCCCCCBBB""B"""""""""" +"" +""""B"""" +B"! + + + + + + + +""! + + +" +" +" +! + + + +á Àà à à à à à á á  +à  + + +! +"" +! +""cCCB +"BBCcBCB""cBBBccC„CCCBBCCcCcccBccBBcBB" +"""BCcCCBCCBBBC""B""""""B"""""" + +"""" +"""B" + + + + + + + +"! + + + +" +" +! +"á à  + +à à à à Àà +" + + +"" + +" +" + + + +" +BC„cBBCBBCCCcCB"cCcCccBCCCCBBcBBccccBccC"BB" +""BBCccCBCBBBBC"BCB"""""BB""""" +"""""""""" + + +" + + + + + + + + + +" +" +! + +á á  +á à  +à àà  +"""""""""" + +BCCB"BBBCBCCCcCCCcccccCcCCB"CcC"BCccBCcc""BB +""CBBCcCCCB"BBBB"B""""""BB"BB"" +""""""""" + + + + + + + + + + +á  + +!! + + + + + +á á á ! +cB + + + +""CC"""""""cBB""""BCCCcCccccccccd„CCcBBCCC""BCBBBcc" +CB""BBBBCCCCCB"BBB""B"""" +""BBBB"""""""""""" +" + + +" + + + + +á  +à à àà  + + +"" +á á á  + +BB" +" +" +""CCB"BB"B"cBB""""BccccCCc„„cCccddcCcCBCCB"""B"""CcB +CCC" +BBB""BBC""BBBB"BB""""""CCBB"""B"""""" + +! +á á á  + + + + +á  +á ÀÀà á á  +! +" + +à à  +" + +""B""""BCCBBBBB„CC"""! +"BcCCccCcc„„ccCccccCCB"BBB"! +"B""CcC"BCC""""""""B"BBB"B"BB"""" +""BBCB""""""""""! +" + +à à á  + + + + +á  +à à àà  +à  + + +" + + +"" + +"""""CcCBC"BCCCC"" + +" +""BCCCccccƒcccBBcccCCB"CBBB! +" +B" +"CcCBBCCB"B""""""""B""B"BB""""""B"BB"""""""B"" +" +á à à  + + + + + +à á à á à à  + +á  + +""""B"! +"BB""Cc""C""cC"CB"! + + +"" +"BBBCCccccccCcCCcccC"""B"B"! +""""CCC"CCCBBB"""" +"""B"" +"BBB"""B! +""""""""""""""" +" +à à á  + +" + +C +à à  + + +á á  +! + + +"""B" +"BC""BB""BB"cc"BC"" +! + +"""""BC"cccCCCCcCCBCCB"""B""" +""""CBBBBBCCCB""" + +"" +"B"" +"B"""""B""""" + +" +"" + + +"""" + +á á  +á  +"! +" + + + +à BC + + + +! + +" +B""BB""Cc"" +BB"BcB"BCBBB +" +" +! +" +""""BCBBCCCcCCBBCCBCB""""B +! +" +! +"""BBBBCBCCC""""""! +""" +" +""""""BB" +""á á  + + + + + +"""! + +á  + +! +" +" +á  + +á " +" + +! + + +""BBBBC" +BcBBCC""CBBCCBBC" +! +" +"BB"""BB"CCBBCCCBCB"BB""""" + +" +""""B""BBBBC"" +"""" +" +" +" +" +" +B""""B"" +" + +á  + + + + + + +""" + + + + + + +" +! +! + + +á  + + + +! +"" +BBBCCcCB! +"ccBBcB"B""BBBBB"" +" +"BB""" +""BCB""CBBBB""B""""! +" + + +" +""B"""""BBBB"""""" + + +! +"" +"""""""" +" + + + + + +á à  + + + + +á á  + + + +" + + + + +" + + +"" +! +! +"BBBB"Bc"! +Bc"Bcc"BB"BB""B"! +"! +" +"C""""""BBCBBB"B""B"" +" + + +"" + +""B""""B"B""" +"""""" + + +" + +"""""""""! +! +" +" + +à  + + + +à à à  + +á à à à  + + +BC" + + + +"BBB""""BC""BCCC"BC""CcBBc"""" +BB" +"" + +"C"""BBBBBCCC""" + +"" + + + + + +""" + +""""""""BB"" +" +! +! +" +" +"" + +" + +" +" +"" +" +" +"! + + + + +á á á  + + +á àÀà á à à Àà  +"BBCB + +" +B„BBBCC""BC"B""CB"BB"CBBBCB""! +Bc" + +B +"B"""BCB""BBB"" +" +" + + + + + + +" +" +"" +""" +""""""B"" + + + +! + +" +" + + + +" + + +"" + +" +" + + + + + + +á  +á  + +à Àà  +ÀÀÀá  +"BB"" + +BcC""BccC"BC"BB +BCBC""CB"" +BB! +"" +BB" + +B""B" +" +"BBB"BB""""" +" + + + + + + +! +" +" +! +"""! +" +" +""" +""" + +á  + + +" + + + +" + + +" +"" +! + + + + + + + + + +á á á á à Àà á Àà à  +"C"B"" +"ccCB"CCBB"""BB"! +"cBcB"BB" + +B"! + +""BB" +"B""B"! +""BB""""B""""" + + + + + + + +! +" +" + +""" + + + +"" +" +" + + +á  + + +" +á á  +"" + + + +" + + +á  + +á á  + + +á á á à ÀÀà  +à à  +" +"cBcc" +""BCBC"CB""""""""B"BBBC"BC" +" +"B"" +"BCcB" +"BB""""""BBB"""""B""" + + + + + + + + + +" +! +B"" + + + + +! +! + + + + + + + + + + +á  +" +! +" + +" +" + + +à  + +à á  + + +à à à à ÀÀà  +á á ! +! +BB"CCB""B"CCCC"B" + +" +" +""""CBCB"B"" +B"" +BBccB""B""""""""BB""B"BB"""! +! +! + + + + + + + +"" + +"" + + +" + +á  + + + +" + + + + + + + + + +"! + +" + +" + +á á à  +à à  +á  + +à à á  +ÀÀá  + +"B +CBCCB"B"B"cCCC""" + + +"""BB"BCC"B"BB +""" +""CC""""B"""" +""""B""""B"" + +" +" +" + + + +" + + +! +""" +"" + +"" +á  + + + + +" + + + + + + + +" + + + + +á á  +á á à à á á á  +á à à  +à à  +" +"""BBcCCB"CBBccCC""" + + + +"""BC"cc"B"cB +! +BB" +BB""""BB"""! +" +"B""" +" +""" + + +""" +"" + + +"""""" + +" +" + + + + + + +"" +á  + +á  + +" +" + + + + +á à á  +à á á  +á à á á Àà  +à á """""""BCCCBBccccccBCB""" + +"""""CBBcB"BcB"! +"B"""B""""BBB"""" + +B"""" + +""""" +"""""B"" +"""""" +" +" + +á  + diff --git a/model/testground/texGrass.data.h b/model/testground/texGrass.data.h new file mode 100644 index 0000000..bcbaa64 --- /dev/null +++ b/model/testground/texGrass.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_model_testground_texGrass_data_start __asm("_binary_model_testground_texGrass_data_start"); +extern uint32_t _binary_model_testground_texGrass_data_end __asm("_binary_model_testground_texGrass_data_end"); +extern uint32_t _binary_model_testground_texGrass_data_size __asm("_binary_model_testground_texGrass_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/model/testground/texGrass.png b/model/testground/texGrass.png new file mode 100644 index 0000000000000000000000000000000000000000..de49907d625324939d1adea0b8e9b2d094618092 GIT binary patch literal 21866 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 + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_model_testground_texGrass2_data_start __asm("_binary_model_testground_texGrass2_data_start"); +extern uint32_t _binary_model_testground_texGrass2_data_end __asm("_binary_model_testground_texGrass2_data_end"); +extern uint32_t _binary_model_testground_texGrass2_data_size __asm("_binary_model_testground_texGrass2_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/model/testground/texGrass2.png b/model/testground/texGrass2.png new file mode 100644 index 0000000000000000000000000000000000000000..80ad7cba5439109c264ec6893d5f9dc11c2ab294 GIT binary patch literal 37125 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 + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_model_testground_texRock_data_start __asm("_binary_model_testground_texRock_data_start"); +extern uint32_t _binary_model_testground_texRock_data_end __asm("_binary_model_testground_texRock_data_end"); +extern uint32_t _binary_model_testground_texRock_data_size __asm("_binary_model_testground_texRock_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/model/testground/texRock.png b/model/testground/texRock.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7a96929f25978d646dc161188f10fc93e54978 GIT binary patch literal 24155 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 literal 0 HcmV?d00001