diff --git a/src/xrt/compositor/common/comp_vk.c b/src/xrt/compositor/common/comp_vk.c index 54f1f0a31aa028364c1fdd2d6bb62feb257da5e3..b737a0541079249bd422cf1b30fec729088693bb 100644 --- a/src/xrt/compositor/common/comp_vk.c +++ b/src/xrt/compositor/common/comp_vk.c @@ -751,6 +751,7 @@ vk_get_device_functions(struct vk_bundle *vk) vk->vkCmdEndRenderPass = GET_DEV_PROC(vk, vkCmdEndRenderPass); vk->vkCmdBindDescriptorSets = GET_DEV_PROC(vk, vkCmdBindDescriptorSets); vk->vkCmdBindPipeline = GET_DEV_PROC(vk, vkCmdBindPipeline); + vk->vkCmdBindVertexBuffers = GET_DEV_PROC(vk, vkCmdBindVertexBuffers); vk->vkCmdDraw = GET_DEV_PROC(vk, vkCmdDraw); vk->vkEndCommandBuffer = GET_DEV_PROC(vk, vkEndCommandBuffer); vk->vkFreeCommandBuffers = GET_DEV_PROC(vk, vkFreeCommandBuffers); diff --git a/src/xrt/compositor/main/comp_compositor.c b/src/xrt/compositor/main/comp_compositor.c index 0926f21dbfa32595f195c19299c9d6a464e4aabf..96b364f0cd9609e6e597edf6a41034d490f340cb 100644 --- a/src/xrt/compositor/main/comp_compositor.c +++ b/src/xrt/compositor/main/comp_compositor.c @@ -266,9 +266,9 @@ create_instance(struct comp_compositor *c) }; #ifdef XRT_ENABLE_VK_VALIDATION - const char *instance_layers[] = { - "VK_LAYER_LUNARG_standard_validation", - }; + const char *instance_layers[] = {"VK_LAYER_LUNARG_standard_validation", + "VK_LAYER_LUNARG_core_validation", + "VK_LAYER_RENDERDOC_Capture"}; if (c->settings.validate_vulkan) { instance_info.enabledLayerCount = ARRAY_SIZE(instance_layers); diff --git a/src/xrt/compositor/main/comp_distortion.c b/src/xrt/compositor/main/comp_distortion.c index 4462bce7e8c2c6f20880ac24418f871e80624c7d..768bec986a0274552f6a76eab4371c3362d12eb0 100644 --- a/src/xrt/compositor/main/comp_distortion.c +++ b/src/xrt/compositor/main/comp_distortion.c @@ -10,6 +10,7 @@ #include <stdio.h> #include <string.h> +#include <stdlib.h> #include "main/comp_settings.h" #include "main/comp_compositor.h" @@ -25,6 +26,8 @@ #include "shaders/panotools.frag.h" #include "shaders/vive.frag.h" +#include "util/u_misc.h" + #include "shaders/meshuv.vert.h" #include "shaders/meshuv.frag.h" #include "shaders/psvr_both_uvs.h" @@ -43,8 +46,8 @@ comp_distortion_update_uniform_buffer_warp(struct comp_distortion *d, struct comp_compositor *c); static void -comp_distortion_init_uniform_buffer(struct comp_distortion *d, - struct comp_compositor *c); +comp_distortion_init_buffers(struct comp_distortion *d, + struct comp_compositor *c); XRT_MAYBE_UNUSED static void comp_distortion_update_descriptor_sets(struct comp_distortion *d, @@ -184,7 +187,7 @@ comp_distortion_init(struct comp_distortion *d, d->ubo_vp_data[0].flip_y = flip_y; d->ubo_vp_data[1].flip_y = flip_y; - comp_distortion_init_uniform_buffer(d, c); + comp_distortion_init_buffers(d, c); comp_distortion_update_uniform_buffer_warp(d, c); comp_distortion_init_descriptor_set_layout(d); comp_distortion_init_pipeline_layout(d); @@ -287,13 +290,20 @@ comp_distortion_init_pipeline(struct comp_distortion *d, /* - * By default, we will generate positions and UVs for the full screen quad - * from the gl_VertexIndex, and use the 'generic' distortion vertex shader + * By default, we will generate positions and UVs for the full screen + * quad from the gl_VertexIndex, and use the 'generic' distortion vertex + * shader */ VkPipelineVertexInputStateCreateInfo vertex_input_state = { .sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, + .pNext = NULL, }; + VkVertexInputBindingDescription vertex_input_binding_description; + VkVertexInputAttributeDescription + vertex_input_attribute_descriptions[2]; + + vertex_shader_code = shaders_distortion_vert; vertex_shader_size = sizeof(shaders_distortion_vert); @@ -312,9 +322,33 @@ comp_distortion_init_pipeline(struct comp_distortion *d, fragment_shader_size = sizeof(shaders_vive_frag); break; case XRT_DISTORTION_MODEL_MESHUV: - vertex_input_state = {}; - // .sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, - //}; + + vertex_input_attribute_descriptions[0].binding = 0; + vertex_input_attribute_descriptions[0].location = 0; + vertex_input_attribute_descriptions[0].format = + VK_FORMAT_R32G32_SFLOAT; + vertex_input_attribute_descriptions[0].offset = 0; + + vertex_input_attribute_descriptions[1].binding = 0; + vertex_input_attribute_descriptions[1].location = 1; + vertex_input_attribute_descriptions[1].format = + VK_FORMAT_R32G32_SFLOAT; + vertex_input_attribute_descriptions[1].offset = + sizeof(VK_FORMAT_R32G32_SFLOAT); + + vertex_input_binding_description.binding = 0; + vertex_input_binding_description.inputRate = + VK_VERTEX_INPUT_RATE_VERTEX; + vertex_input_binding_description.stride = + sizeof(d->vbo_meshuv_data); + + vertex_input_state.vertexAttributeDescriptionCount = 2; + vertex_input_state.pVertexAttributeDescriptions = + vertex_input_attribute_descriptions; + vertex_input_state.vertexBindingDescriptionCount = 1; + vertex_input_state.pVertexBindingDescriptions = + &vertex_input_binding_description; + vertex_shader_code = shaders_meshuv_vert; vertex_shader_size = sizeof(shaders_meshuv_vert); fragment_shader_code = shaders_meshuv_frag; @@ -328,7 +362,7 @@ comp_distortion_init_pipeline(struct comp_distortion *d, VkPipelineShaderStageCreateInfo shader_stages[2] = { - _shader_load(d->vk, vertex_shader_code,vertex_shader_size, + _shader_load(d->vk, vertex_shader_code, vertex_shader_size, VK_SHADER_STAGE_VERTEX_BIT), _shader_load(d->vk, fragment_shader_code, fragment_shader_size, VK_SHADER_STAGE_FRAGMENT_BIT), @@ -456,6 +490,7 @@ comp_distortion_update_descriptor_set(struct comp_distortion *d, comp_distortion_get_uniform_write_descriptor_set(d, 1, eye), // Binding 2 : view uniform buffer comp_distortion_get_uniform_write_descriptor_set_vp(d, 2, eye), + }; vk->vkUpdateDescriptorSets(vk->device, @@ -488,13 +523,12 @@ comp_distortion_init_descriptor_set_layout(struct comp_distortion *d) .descriptorCount = 1, .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT, }, - // Binding 1 : Vertex/Fragment shader uniform buffer - { - .binding = 1, - .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, - .descriptorCount = 1, - .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_VERTEX_BIT, - }, + + // Binding 1 : Fragment shader uniform buffer + {.binding = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT}, // binding 2: viewport index { .binding = 2, @@ -562,16 +596,18 @@ comp_distortion_draw_mesh(struct comp_distortion *d, { struct vk_bundle *vk = d->vk; + vk->vkCmdBindDescriptorSets( command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, d->pipeline_layout, 0, 1, &d->descriptor_sets[eye], 0, NULL); - vk->vkCmdBindPipeline(command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, d->pipeline); - /* Draw 17 x 17 verts from which we construct the fullscreen quad in - * the shader*/ - vk->vkCmdDraw(command_buffer, 17*17, 1, 0, 0); + VkDeviceSize offsets[] = {0}; + vk->vkCmdBindVertexBuffers(command_buffer, 0, 1, + &(d->vbo_handle.buffer), offsets); + + vk->vkCmdDraw(command_buffer, DISTORTION_MESH_VERTEX_COUNT, 1, 0, 0); } // Update fragment shader hmd warp uniform block @@ -602,14 +638,8 @@ comp_distortion_update_uniform_buffer_warp(struct comp_distortion *d, memcpy(d->ubo_handle.mapped, &d->ubo_vive, sizeof(d->ubo_vive)); break; - case XRT_DISTORTION_MODEL_MESHUV: - for (uint32_t i=0;i<17;i++) { - for (uint32_t j=0;j<34;j++) { - d->ubo_meshuv.meshuv[i][j] = psvr_both_uvs[i][j]; - } - } - break; case XRT_DISTORTION_MODEL_PANOTOOLS: + case XRT_DISTORTION_MODEL_MESHUV: default: /* * Pano vision fragment shader @@ -738,34 +768,54 @@ err_buffer: } static void -comp_distortion_init_uniform_buffer(struct comp_distortion *d, - struct comp_compositor *c) +comp_distortion_init_buffers(struct comp_distortion *d, + struct comp_compositor *c) { struct vk_bundle *vk = &c->vk; VkMemoryPropertyFlags memory_property_flags = 0; - VkBufferUsageFlags usage_flags = 0; + VkBufferUsageFlags ubo_usage_flags = 0; + VkBufferUsageFlags vbo_usage_flags = 0; + VkResult ret; // Using the same flags for all uniform buffers. - usage_flags |= VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; + ubo_usage_flags |= VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; memory_property_flags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; memory_property_flags |= VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; - // distortion ubo - VkDeviceSize ubo_size; + vbo_usage_flags |= VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; + + + // distortion ubo/vbo + VkDeviceSize ubo_size = 0; + VkDeviceSize vbo_size = 0; switch (d->distortion_model) { case XRT_DISTORTION_MODEL_PANOTOOLS: ubo_size = sizeof(d->ubo_pano); break; case XRT_DISTORTION_MODEL_MESHUV: - ubo_size = sizeof(d->ubo_meshuv); + ubo_size = sizeof(d->ubo_pano); + vbo_size = + sizeof(d->vbo_meshuv_data) * DISTORTION_MESH_VERTEX_COUNT; + ret = _create_buffer(vk, vbo_usage_flags, memory_property_flags, + &d->vbo_handle, vbo_size, &psvr_both_uvs); + if (ret != VK_SUCCESS) { + VK_DEBUG(vk, "Failed to create meshuv vbo buffer!"); + break; + } + ret = _buffer_map(vk, &d->vbo_handle, vbo_size, 0); + if (ret != VK_SUCCESS) { + VK_DEBUG(vk, "Failed to map meshuv vbo buffer!"); + break; + } + break; case XRT_DISTORTION_MODEL_VIVE: ubo_size = sizeof(d->ubo_vive); break; default: ubo_size = sizeof(d->ubo_pano); } - ret = _create_buffer(vk, usage_flags, memory_property_flags, + ret = _create_buffer(vk, ubo_usage_flags, memory_property_flags, &d->ubo_handle, ubo_size, NULL); if (ret != VK_SUCCESS) { VK_DEBUG(vk, "Failed to create warp ubo buffer!"); @@ -776,7 +826,7 @@ comp_distortion_init_uniform_buffer(struct comp_distortion *d, } // vp ubos - ret = _create_buffer(vk, usage_flags, memory_property_flags, + ret = _create_buffer(vk, ubo_usage_flags, memory_property_flags, &d->ubo_viewport_handles[0], sizeof(d->ubo_vp_data[0]), NULL); if (ret != VK_SUCCESS) { @@ -787,7 +837,7 @@ comp_distortion_init_uniform_buffer(struct comp_distortion *d, VK_DEBUG(vk, "Failed to map vp ubo buffer[0]!"); } - ret = _create_buffer(vk, usage_flags, memory_property_flags, + ret = _create_buffer(vk, ubo_usage_flags, memory_property_flags, &d->ubo_viewport_handles[1], sizeof(d->ubo_vp_data[1]), NULL); if (ret != VK_SUCCESS) { diff --git a/src/xrt/compositor/main/comp_distortion.h b/src/xrt/compositor/main/comp_distortion.h index 75507cefb85178ebcb616fec4ee287cefafef2c2..6ecc022f2c5281a30472ad757a91849cbae9c17b 100644 --- a/src/xrt/compositor/main/comp_distortion.h +++ b/src/xrt/compositor/main/comp_distortion.h @@ -17,6 +17,10 @@ extern "C" { #endif +// our distortion meshes are 16x16 quads, 2 tris per quad. +// we should use indexed rendering and allow arbitrary vertex counts, +// but this will do for now +#define DISTORTION_MESH_VERTEX_COUNT 16 * 16 * 6 /* * @@ -56,6 +60,8 @@ struct comp_distortion struct comp_uniform_buffer ubo_handle; struct comp_uniform_buffer ubo_viewport_handles[2]; + struct comp_uniform_buffer vbo_handle; + enum xrt_distortion_model distortion_model; struct @@ -76,16 +82,11 @@ struct comp_distortion float grow_for_undistort; } ubo_vive; + // vec2 for pos, vec2 for uv struct { - float meshuv[17][34]; - } ubo_meshuv; - - struct - { - float vertexPos[4]; - float uv[2]; - } vbo_meshuv; + float vertexPosUV[4]; + } vbo_meshuv_data; struct { diff --git a/src/xrt/compositor/main/comp_renderer.c b/src/xrt/compositor/main/comp_renderer.c index 005f5ed306859edacfa9aabc67231e385ca158d4..ff05b3888673a4008c6c44f11fa5fe11e6d0ccb3 100644 --- a/src/xrt/compositor/main/comp_renderer.c +++ b/src/xrt/compositor/main/comp_renderer.c @@ -346,8 +346,8 @@ renderer_build_command_buffer(struct comp_renderer *r, vk->vkCmdSetViewport(command_buffer, 0, 1, &viewport); vk->vkCmdSetScissor(command_buffer, 0, 1, &scissor); - if (r->distortion->distortion_model == XRT_DISTORTION_MODEL_MESHUV){ - comp_distortion_draw_mesh(r->distortion,command_buffer,0); + if (r->distortion->distortion_model == XRT_DISTORTION_MODEL_MESHUV) { + comp_distortion_draw_mesh(r->distortion, command_buffer, 0); } else { comp_distortion_draw_quad(r->distortion, command_buffer, 0); } @@ -357,8 +357,8 @@ renderer_build_command_buffer(struct comp_renderer *r, vk->vkCmdSetViewport(command_buffer, 0, 1, &viewport); vk->vkCmdSetScissor(command_buffer, 0, 1, &scissor); - if (r->distortion->distortion_model == XRT_DISTORTION_MODEL_MESHUV){ - comp_distortion_draw_mesh(r->distortion,command_buffer,1); + if (r->distortion->distortion_model == XRT_DISTORTION_MODEL_MESHUV) { + comp_distortion_draw_mesh(r->distortion, command_buffer, 1); } else { comp_distortion_draw_quad(r->distortion, command_buffer, 1); } diff --git a/src/xrt/compositor/shaders/meshuv.frag b/src/xrt/compositor/shaders/meshuv.frag index f44e28e1828e01db2231a39b482a9bf4da21f3ec..287f3ca898489effb605bb361ffa14bc20d4a8ee 100644 --- a/src/xrt/compositor/shaders/meshuv.frag +++ b/src/xrt/compositor/shaders/meshuv.frag @@ -10,6 +10,23 @@ #version 450 layout (binding = 0) uniform sampler2D texSampler; +layout (binding = 1, std140) uniform UBO +{ + // Distoriton coefficients (PanoTools model) [a,b,c,d] + vec4 HmdWarpParam; + + // chromatic distortion post scaling + vec4 aberr; + + // Position of lens center in m (usually eye_w/2, eye_h/2) + vec2 LensCenter[2]; + + // Scale from texture co-ords to m (usually eye_w, eye_h) + vec2 ViewportScale; + + // Distortion overall scale in m (usually ~eye_w/2) + float WarpScale; +} ubo; layout (location = 0) in vec2 inUV; layout (location = 1) flat in int inViewIndex; @@ -25,5 +42,5 @@ void main() vec3 color = texture(texSampler, inUV).xyz; - outColor = vec4(1.0f,0.0f,0.0f, 1.0); + outColor = vec4(color, 1.0); } diff --git a/src/xrt/compositor/shaders/meshuv.vert b/src/xrt/compositor/shaders/meshuv.vert index 7a552d274b72cddc41493007c6bce851e7d1fd68..c885391356e698adc061c8438172c4c1be356c42 100644 --- a/src/xrt/compositor/shaders/meshuv.vert +++ b/src/xrt/compositor/shaders/meshuv.vert @@ -5,12 +5,11 @@ #version 450 +layout(location = 0) in vec2 pos; +layout(location = 1) in vec2 uv; + layout (location = 0) out vec2 outUV; layout (location = 1) out int outViewIndex; -layout (binding = 1, std140) uniform uvUBO -{ - vec2[17][17] uvs; -} ubo; layout (binding = 2, std140) uniform UBO { @@ -33,13 +32,9 @@ void main() }; outViewIndex = ubo_vp.viewport_id; - float vertInc = 1.0/17.0; - int vertRow = gl_VertexIndex/17; - int vertCol = gl_VertexIndex % 17; - vec2 vertPos = vec2(vertRow * vertInc, vertCol * vertInc); - outUV = ubo.uvs[vertRow][vertCol]; + outUV = uv; - gl_Position = vec4(rot * (vertPos * 2.0f - 1.0f), 0.0f, 1.0f); + gl_Position = vec4(pos, 0.0f, 1.0f); if (ubo_vp.flip_y) diff --git a/src/xrt/compositor/shaders/psvr_both_uvs.h b/src/xrt/compositor/shaders/psvr_both_uvs.h index 0705959592514a52b51c9493ac344bcacffce1a1..1ee6a8a7acba702239820c8807fbbbf5717e1f07 100644 --- a/src/xrt/compositor/shaders/psvr_both_uvs.h +++ b/src/xrt/compositor/shaders/psvr_both_uvs.h @@ -1,308 +1,774 @@ -float psvr_both_uvs[17][68] = {{ -0.060439,0.058065,-0.226923,-0.296998, -0.060439,0.116194,-0.165793,-0.140342, -0.060439,0.174323,-0.115650,-0.009232, -0.060439,0.232452,-0.075414,0.101516, -0.060439,0.290580,-0.044060,0.196474, -0.060439,0.348709,-0.020647,0.279630, -0.060439,0.406838,-0.004357,0.354425, -0.060439,0.464967,0.005462,0.423838, -0.060439,0.523095,0.009240,0.490490, -0.060439,0.581224,0.007156,0.556800, -0.060439,0.639353,-0.000890,0.625161, -0.060439,0.697481,-0.015260,0.698119, -0.060439,0.755610,-0.036545,0.778537, -0.060439,0.813739,-0.065521,0.869714, -0.060439,0.871868,-0.103098,0.975474, -0.060439,0.929996,-0.150280,1.100218, -0.060439,0.985800,-0.205600,1.242473, -},{ -0.116243,0.058065,-0.083759,-0.230692, -0.116243,0.116194,-0.033413,-0.085690, -0.116243,0.174323,0.007483,0.034912, -0.116243,0.232452,0.039929,0.136263, -0.116243,0.290580,0.064893,0.222874, -0.116243,0.348709,0.083282,0.298635, -0.116243,0.406838,0.095909,0.366845, -0.116243,0.464967,0.103436,0.430276, -0.116243,0.523095,0.106313,0.491290, -0.116243,0.581224,0.104727,0.552007, -0.116243,0.639353,0.098575,0.614515, -0.116243,0.697481,0.087476,0.681085, -0.116243,0.755610,0.070823,0.754359, -0.116243,0.813739,0.047842,0.837474, -0.116243,0.871868,0.017647,0.934147, -0.116243,0.929996,-0.020715,1.048707, -0.116243,0.985800,-0.066147,1.180116, -},{ -0.172047,0.058065,0.036193,-0.176353, -0.172047,0.116194,0.076818,-0.041335, -0.172047,0.174323,0.109434,0.070322, -0.172047,0.232452,0.134942,0.163752, -0.172047,0.290580,0.154231,0.243433, -0.172047,0.348709,0.168163,0.313190, -0.172047,0.406838,0.177532,0.376206, -0.172047,0.464967,0.183015,0.435070, -0.172047,0.523095,0.185086,0.491883, -0.172047,0.581224,0.183946,0.548447, -0.172047,0.639353,0.179484,0.606523, -0.172047,0.697481,0.171295,0.668102, -0.172047,0.755610,0.158755,0.735619, -0.172047,0.813739,0.141094,0.812079, -0.172047,0.871868,0.117466,0.901121, -0.172047,0.929996,0.086989,1.007034, -0.172047,0.985800,0.050451,1.129166, -},{ -0.227850,0.058065,0.137666,-0.132805, -0.227850,0.116194,0.169595,-0.006187, -0.227850,0.174323,0.194880,0.097984, -0.227850,0.232452,0.214302,0.184841, -0.227850,0.290580,0.228647,0.258857, -0.227850,0.348709,0.238703,0.323829, -0.227850,0.406838,0.245234,0.382866, -0.227850,0.464967,0.248923,0.438406, -0.227850,0.523095,0.250283,0.492291, -0.227850,0.581224,0.249537,0.545980, -0.227850,0.639353,0.246560,0.600877, -0.227850,0.697481,0.240913,0.658686, -0.227850,0.755610,0.231948,0.721661, -0.227850,0.813739,0.218918,0.792714, -0.227850,0.871868,0.201038,0.875446, -0.227850,0.929996,0.177521,0.974135, -0.227850,0.985800,0.148915,1.088472, -},{ -0.283654,0.058065,0.224835,-0.098939, -0.283654,0.116194,0.249032,0.020807, -0.283654,0.174323,0.267902,0.118869, -0.283654,0.232452,0.282080,0.200395, -0.283654,0.290580,0.292223,0.269874, -0.283654,0.348709,0.299011,0.331110, -0.283654,0.406838,0.303142,0.387197, -0.283654,0.464967,0.305301,0.440472, -0.283654,0.523095,0.306046,0.492538, -0.283654,0.581224,0.305642,0.544469, -0.283654,0.639353,0.303938,0.597261, -0.283654,0.697481,0.300442,0.652332, -0.283654,0.755610,0.294491,0.711802, -0.283654,0.813739,0.285384,0.778548, -0.283654,0.871868,0.272436,0.856176, -0.283654,0.929996,0.254983,0.948978, -0.283654,0.985800,0.233395,1.056943, -},{ -0.339457,0.058065,0.301338,-0.073741, -0.339457,0.116194,0.318674,0.040627, -0.339457,0.174323,0.331976,0.133911, -0.339457,0.232452,0.341722,0.211275, -0.339457,0.290580,0.348410,0.277233, -0.339457,0.348709,0.352571,0.335629, -0.339457,0.406838,0.354787,0.389596, -0.339457,0.464967,0.355700,0.441462, -0.339457,0.523095,0.355931,0.492646, -0.339457,0.581224,0.355814,0.543772, -0.339457,0.639353,0.355154,0.595338, -0.339457,0.697481,0.353381,0.648499, -0.339457,0.755610,0.349843,0.705332, -0.339457,0.813739,0.343938,0.768749, -0.339457,0.871868,0.335125,0.842396, -0.339457,0.929996,0.322896,0.930595, -0.339457,0.985800,0.307496,1.033574, -},{ -0.395261,0.058065,0.370322,-0.056337, -0.395261,0.116194,0.381527,0.054146, -0.395261,0.174323,0.389997,0.143969, -0.395261,0.232452,0.396046,0.218308, -0.395261,0.290580,0.400000,0.281702, -0.395261,0.348709,0.402207,0.338035, -0.395261,0.406838,0.403065,0.390520, -0.395261,0.464967,0.403080,0.441594, -0.395261,0.523095,0.402908,0.492638, -0.395261,0.581224,0.403019,0.543734, -0.395261,0.639353,0.403129,0.594716, -0.395261,0.697481,0.402573,0.646583, -0.395261,0.755610,0.400798,0.701511, -0.395261,0.813739,0.397384,0.762503, -0.395261,0.871868,0.391973,0.833254, -0.395261,0.929996,0.384232,0.918117, -0.395261,0.985800,0.374317,1.017490, -},{ -0.451065,0.058065,0.434514,-0.046039, -0.451065,0.116194,0.440127,0.062062, -0.451065,0.174323,0.444322,0.149757, -0.451065,0.232452,0.447258,0.222226, -0.451065,0.290580,0.449095,0.284017, -0.451065,0.348709,0.449995,0.339036, -0.451065,0.406838,0.450140,0.390553, -0.451065,0.464967,0.449767,0.441165, -0.451065,0.523095,0.449361,0.492537, -0.451065,0.581224,0.449619,0.544158, -0.451065,0.639353,0.450072,0.594880, -0.451065,0.697481,0.450106,0.645901, -0.451065,0.755610,0.449442,0.699606, -0.451065,0.813739,0.447893,0.759074, -0.451065,0.871868,0.445290,0.828031, -0.451065,0.929996,0.441473,0.910840, -0.451065,0.985800,0.436520,1.008001, -},{ -0.506868,0.058065,0.496331,-0.042402, -0.506868,0.116194,0.496644,0.064841, -0.506868,0.174323,0.496877,0.151767, -0.506868,0.232452,0.497039,0.223558, -0.506868,0.290580,0.497138,0.284761, -0.506868,0.348709,0.497184,0.339285, -0.506868,0.406838,0.497184,0.390409, -0.506868,0.464967,0.497148,0.440773, -0.506868,0.523095,0.497084,0.492382, -0.506868,0.581224,0.497132,0.544569, -0.506868,0.639353,0.497177,0.595114, -0.506868,0.697481,0.497188,0.645776, -0.506868,0.755610,0.497157,0.699014, -0.506868,0.813739,0.497074,0.757921, -0.506868,0.871868,0.496931,0.826225, -0.506868,0.929996,0.496719,0.908291, -0.506868,0.985800,0.496443,1.004655, -},{ -0.562672,0.058065,0.558015,-0.045260, -0.562672,0.116194,0.553046,0.062658, -0.562672,0.174323,0.549335,0.150189, -0.562672,0.232452,0.546743,0.222514, -0.562672,0.290580,0.545128,0.284180, -0.562672,0.348709,0.544347,0.339095, -0.562672,0.406838,0.544244,0.390531, -0.562672,0.464967,0.544616,0.441098, -0.562672,0.523095,0.545028,0.492520, -0.562672,0.581224,0.544764,0.544224, -0.562672,0.639353,0.544313,0.594920, -0.562672,0.697481,0.544255,0.645868, -0.562672,0.755610,0.544825,0.699475, -0.562672,0.813739,0.546184,0.758824, -0.562672,0.871868,0.548480,0.827642, -0.562672,0.929996,0.551855,0.910293, -0.562672,0.985800,0.556239,1.007283, -},{ -0.618475,0.058065,0.621801,-0.054743, -0.618475,0.116194,0.611288,0.055376, -0.618475,0.174323,0.603354,0.144873, -0.618475,0.232452,0.597704,0.218928, -0.618475,0.290580,0.594033,0.282078, -0.618475,0.348709,0.592015,0.338215, -0.618475,0.406838,0.591277,0.390558, -0.618475,0.464967,0.591340,0.441565, -0.618475,0.523095,0.591551,0.492630, -0.618475,0.581224,0.591417,0.543766, -0.618475,0.639353,0.591239,0.594706, -0.618475,0.697481,0.591689,0.646451, -0.618475,0.755610,0.593298,0.701196, -0.618475,0.813739,0.596458,0.761957, -0.618475,0.871868,0.601507,0.832436, -0.618475,0.929996,0.608753,0.916985, -0.618475,0.985800,0.618052,1.016020, -},{ -0.674279,0.058065,0.690075,-0.071266, -0.674279,0.116194,0.673507,0.042560, -0.674279,0.174323,0.660819,0.135360, -0.674279,0.232452,0.651552,0.212303, -0.674279,0.290580,0.645227,0.277904, -0.674279,0.348709,0.641336,0.336014, -0.674279,0.406838,0.639314,0.389774, -0.674279,0.464967,0.638528,0.441518, -0.674279,0.523095,0.638351,0.492651, -0.674279,0.581224,0.638438,0.543736, -0.674279,0.639353,0.638990,0.595203, -0.674279,0.697481,0.640589,0.648182, -0.674279,0.755610,0.643881,0.704751, -0.674279,0.813739,0.649451,0.767831, -0.674279,0.871868,0.657821,0.841074, -0.674279,0.929996,0.669477,0.928808, -0.674279,0.985800,0.684188,1.031283, -},{ -0.730082,0.058065,0.765522,-0.095489, -0.730082,0.116194,0.742189,0.023536, -0.730082,0.174323,0.724029,0.120957, -0.730082,0.232452,0.710422,0.201925, -0.730082,0.290580,0.700731,0.270931, -0.730082,0.348709,0.694292,0.331784, -0.730082,0.406838,0.690416,0.387577, -0.730082,0.464967,0.688422,0.440643, -0.730082,0.523095,0.687744,0.492558, -0.730082,0.581224,0.688111,0.544346, -0.730082,0.639353,0.689678,0.596949, -0.730082,0.697481,0.692944,0.651752, -0.730082,0.755610,0.698574,0.710864, -0.730082,0.813739,0.707260,0.777163, -0.730082,0.871868,0.719672,0.854257, -0.730082,0.929996,0.736458,0.946442, -0.730082,0.985800,0.757264,1.053738, -},{ -0.785886,0.058065,0.851235,-0.128267, -0.785886,0.116194,0.820280,-0.002550, -0.785886,0.174323,0.795809,0.100819, -0.785886,0.232452,0.777058,0.186975, -0.785886,0.290580,0.763255,0.260392, -0.785886,0.348709,0.753622,0.324865, -0.785886,0.406838,0.747402,0.383499, -0.785886,0.464967,0.743910,0.438716, -0.785886,0.523095,0.742629,0.492329, -0.785886,0.581224,0.743331,0.545752, -0.785886,0.639353,0.746144,0.600344, -0.785886,0.697481,0.751514,0.657775, -0.785886,0.755610,0.760088,0.720280, -0.785886,0.813739,0.772611,0.790763, -0.785886,0.871868,0.789858,0.872823, -0.785886,0.929996,0.812604,0.970739, -0.785886,0.985800,0.840324,1.084241, -},{ -0.841690,0.058065,0.950789,-0.170600, -0.841690,0.116194,0.911257,-0.036670, -0.841690,0.174323,0.879567,0.074018, -0.841690,0.232452,0.854832,0.166594, -0.841690,0.290580,0.836172,0.245534, -0.841690,0.348709,0.822735,0.314657, -0.841690,0.406838,0.813727,0.377137, -0.841690,0.464967,0.808472,0.435542, -0.841690,0.523095,0.806492,0.491941, -0.841690,0.581224,0.807581,0.548097, -0.841690,0.639353,0.811855,0.605730, -0.841690,0.697481,0.819720,0.666798, -0.841690,0.755610,0.831804,0.733712, -0.841690,0.813739,0.848875,0.809463, -0.841690,0.871868,0.871772,0.897683, -0.841690,0.929996,0.901369,1.002659, -0.841690,0.985800,0.936908,1.123782, -},{ -0.897493,0.058065,1.068294,-0.223589, -0.897493,0.116194,1.019165,-0.079867, -0.897493,0.174323,0.979310,0.039586, -0.897493,0.232452,0.947738,0.139915, -0.897493,0.290580,0.923491,0.225626, -0.897493,0.348709,0.905665,0.300599, -0.897493,0.406838,0.893449,0.368118, -0.897493,0.464967,0.886179,0.430932, -0.897493,0.523095,0.883403,0.491371, -0.897493,0.581224,0.884933,0.551520, -0.897493,0.639353,0.890873,0.613426, -0.897493,0.697481,0.901605,0.679329, -0.897493,0.755610,0.917739,0.751844, -0.897493,0.813739,0.940048,0.834093, -0.897493,0.871868,0.969414,0.929780, -0.897493,0.929996,1.006785,1.043228, -0.897493,0.985800,1.051101,1.173447, -},{ -0.953297,0.058065,1.208414,-0.288401, -0.953297,0.116194,1.148631,-0.133229, -0.953297,0.174323,1.099645,-0.003462, -0.953297,0.232452,1.060385,0.106080, -0.953297,0.290580,1.029832,0.199961, -0.953297,0.348709,1.007049,0.282154, -0.953297,0.406838,0.991218,0.356083, -0.953297,0.464967,0.981686,0.424700, -0.953297,0.523095,0.978020,0.490597, -0.953297,0.581224,0.980043,0.556157, -0.953297,0.639353,0.987852,0.623738, -0.953297,0.697481,1.001811,0.695854, -0.953297,0.755610,1.022516,0.775339, -0.953297,0.813739,1.050740,0.865473, -0.953297,0.871868,1.087391,0.970065, -0.953297,0.929996,1.133469,1.093506, -0.953297,0.985800,1.187555,1.234378, -}}; - +float psvr_both_uvs[6144] = { + 0.060439, 0.058065, -0.226923, -0.296998, 0.116243, 0.058065, -0.083759, + -0.230692, 0.116243, 0.116194, -0.033413, -0.085690, 0.060439, 0.058065, + -0.226923, -0.296998, 0.116243, 0.116194, -0.033413, -0.085690, 0.060439, + 0.116194, -0.165793, -0.140342, 0.116243, 0.058065, -0.083759, -0.230692, + 0.172047, 0.058065, 0.036193, -0.176353, 0.172047, 0.116194, 0.076818, + -0.041335, 0.116243, 0.058065, -0.083759, -0.230692, 0.172047, 0.116194, + 0.076818, -0.041335, 0.116243, 0.116194, -0.033413, -0.085690, 0.172047, + 0.058065, 0.036193, -0.176353, 0.227850, 0.058065, 0.137666, -0.132805, + 0.227850, 0.116194, 0.169595, -0.006187, 0.172047, 0.058065, 0.036193, + -0.176353, 0.227850, 0.116194, 0.169595, -0.006187, 0.172047, 0.116194, + 0.076818, -0.041335, 0.227850, 0.058065, 0.137666, -0.132805, 0.283654, + 0.058065, 0.224835, -0.098939, 0.283654, 0.116194, 0.249032, 0.020807, + 0.227850, 0.058065, 0.137666, -0.132805, 0.283654, 0.116194, 0.249032, + 0.020807, 0.227850, 0.116194, 0.169595, -0.006187, 0.283654, 0.058065, + 0.224835, -0.098939, 0.339457, 0.058065, 0.301338, -0.073741, 0.339457, + 0.116194, 0.318674, 0.040627, 0.283654, 0.058065, 0.224835, -0.098939, + 0.339457, 0.116194, 0.318674, 0.040627, 0.283654, 0.116194, 0.249032, + 0.020807, 0.339457, 0.058065, 0.301338, -0.073741, 0.395261, 0.058065, + 0.370322, -0.056337, 0.395261, 0.116194, 0.381527, 0.054146, 0.339457, + 0.058065, 0.301338, -0.073741, 0.395261, 0.116194, 0.381527, 0.054146, + 0.339457, 0.116194, 0.318674, 0.040627, 0.395261, 0.058065, 0.370322, + -0.056337, 0.451065, 0.058065, 0.434514, -0.046039, 0.451065, 0.116194, + 0.440127, 0.062062, 0.395261, 0.058065, 0.370322, -0.056337, 0.451065, + 0.116194, 0.440127, 0.062062, 0.395261, 0.116194, 0.381527, 0.054146, + 0.451065, 0.058065, 0.434514, -0.046039, 0.506868, 0.058065, 0.496331, + -0.042402, 0.506868, 0.116194, 0.496644, 0.064841, 0.451065, 0.058065, + 0.434514, -0.046039, 0.506868, 0.116194, 0.496644, 0.064841, 0.451065, + 0.116194, 0.440127, 0.062062, 0.506868, 0.058065, 0.496331, -0.042402, + 0.562672, 0.058065, 0.558015, -0.045260, 0.562672, 0.116194, 0.553046, + 0.062658, 0.506868, 0.058065, 0.496331, -0.042402, 0.562672, 0.116194, + 0.553046, 0.062658, 0.506868, 0.116194, 0.496644, 0.064841, 0.562672, + 0.058065, 0.558015, -0.045260, 0.618475, 0.058065, 0.621801, -0.054743, + 0.618475, 0.116194, 0.611288, 0.055376, 0.562672, 0.058065, 0.558015, + -0.045260, 0.618475, 0.116194, 0.611288, 0.055376, 0.562672, 0.116194, + 0.553046, 0.062658, 0.618475, 0.058065, 0.621801, -0.054743, 0.674279, + 0.058065, 0.690075, -0.071266, 0.674279, 0.116194, 0.673507, 0.042560, + 0.618475, 0.058065, 0.621801, -0.054743, 0.674279, 0.116194, 0.673507, + 0.042560, 0.618475, 0.116194, 0.611288, 0.055376, 0.674279, 0.058065, + 0.690075, -0.071266, 0.730082, 0.058065, 0.765522, -0.095489, 0.730082, + 0.116194, 0.742189, 0.023536, 0.674279, 0.058065, 0.690075, -0.071266, + 0.730082, 0.116194, 0.742189, 0.023536, 0.674279, 0.116194, 0.673507, + 0.042560, 0.730082, 0.058065, 0.765522, -0.095489, 0.785886, 0.058065, + 0.851235, -0.128267, 0.785886, 0.116194, 0.820280, -0.002550, 0.730082, + 0.058065, 0.765522, -0.095489, 0.785886, 0.116194, 0.820280, -0.002550, + 0.730082, 0.116194, 0.742189, 0.023536, 0.785886, 0.058065, 0.851235, + -0.128267, 0.841690, 0.058065, 0.950789, -0.170600, 0.841690, 0.116194, + 0.911257, -0.036670, 0.785886, 0.058065, 0.851235, -0.128267, 0.841690, + 0.116194, 0.911257, -0.036670, 0.785886, 0.116194, 0.820280, -0.002550, + 0.841690, 0.058065, 0.950789, -0.170600, 0.897493, 0.058065, 1.068294, + -0.223589, 0.897493, 0.116194, 1.019165, -0.079867, 0.841690, 0.058065, + 0.950789, -0.170600, 0.897493, 0.116194, 1.019165, -0.079867, 0.841690, + 0.116194, 0.911257, -0.036670, 0.060439, 0.116194, -0.165793, -0.140342, + 0.116243, 0.116194, -0.033413, -0.085690, 0.116243, 0.174323, 0.007483, + 0.034912, 0.060439, 0.116194, -0.165793, -0.140342, 0.116243, 0.174323, + 0.007483, 0.034912, 0.060439, 0.174323, -0.115650, -0.009232, 0.116243, + 0.116194, -0.033413, -0.085690, 0.172047, 0.116194, 0.076818, -0.041335, + 0.172047, 0.174323, 0.109434, 0.070322, 0.116243, 0.116194, -0.033413, + -0.085690, 0.172047, 0.174323, 0.109434, 0.070322, 0.116243, 0.174323, + 0.007483, 0.034912, 0.172047, 0.116194, 0.076818, -0.041335, 0.227850, + 0.116194, 0.169595, -0.006187, 0.227850, 0.174323, 0.194880, 0.097984, + 0.172047, 0.116194, 0.076818, -0.041335, 0.227850, 0.174323, 0.194880, + 0.097984, 0.172047, 0.174323, 0.109434, 0.070322, 0.227850, 0.116194, + 0.169595, -0.006187, 0.283654, 0.116194, 0.249032, 0.020807, 0.283654, + 0.174323, 0.267902, 0.118869, 0.227850, 0.116194, 0.169595, -0.006187, + 0.283654, 0.174323, 0.267902, 0.118869, 0.227850, 0.174323, 0.194880, + 0.097984, 0.283654, 0.116194, 0.249032, 0.020807, 0.339457, 0.116194, + 0.318674, 0.040627, 0.339457, 0.174323, 0.331976, 0.133911, 0.283654, + 0.116194, 0.249032, 0.020807, 0.339457, 0.174323, 0.331976, 0.133911, + 0.283654, 0.174323, 0.267902, 0.118869, 0.339457, 0.116194, 0.318674, + 0.040627, 0.395261, 0.116194, 0.381527, 0.054146, 0.395261, 0.174323, + 0.389997, 0.143969, 0.339457, 0.116194, 0.318674, 0.040627, 0.395261, + 0.174323, 0.389997, 0.143969, 0.339457, 0.174323, 0.331976, 0.133911, + 0.395261, 0.116194, 0.381527, 0.054146, 0.451065, 0.116194, 0.440127, + 0.062062, 0.451065, 0.174323, 0.444322, 0.149757, 0.395261, 0.116194, + 0.381527, 0.054146, 0.451065, 0.174323, 0.444322, 0.149757, 0.395261, + 0.174323, 0.389997, 0.143969, 0.451065, 0.116194, 0.440127, 0.062062, + 0.506868, 0.116194, 0.496644, 0.064841, 0.506868, 0.174323, 0.496877, + 0.151767, 0.451065, 0.116194, 0.440127, 0.062062, 0.506868, 0.174323, + 0.496877, 0.151767, 0.451065, 0.174323, 0.444322, 0.149757, 0.506868, + 0.116194, 0.496644, 0.064841, 0.562672, 0.116194, 0.553046, 0.062658, + 0.562672, 0.174323, 0.549335, 0.150189, 0.506868, 0.116194, 0.496644, + 0.064841, 0.562672, 0.174323, 0.549335, 0.150189, 0.506868, 0.174323, + 0.496877, 0.151767, 0.562672, 0.116194, 0.553046, 0.062658, 0.618475, + 0.116194, 0.611288, 0.055376, 0.618475, 0.174323, 0.603354, 0.144873, + 0.562672, 0.116194, 0.553046, 0.062658, 0.618475, 0.174323, 0.603354, + 0.144873, 0.562672, 0.174323, 0.549335, 0.150189, 0.618475, 0.116194, + 0.611288, 0.055376, 0.674279, 0.116194, 0.673507, 0.042560, 0.674279, + 0.174323, 0.660819, 0.135360, 0.618475, 0.116194, 0.611288, 0.055376, + 0.674279, 0.174323, 0.660819, 0.135360, 0.618475, 0.174323, 0.603354, + 0.144873, 0.674279, 0.116194, 0.673507, 0.042560, 0.730082, 0.116194, + 0.742189, 0.023536, 0.730082, 0.174323, 0.724029, 0.120957, 0.674279, + 0.116194, 0.673507, 0.042560, 0.730082, 0.174323, 0.724029, 0.120957, + 0.674279, 0.174323, 0.660819, 0.135360, 0.730082, 0.116194, 0.742189, + 0.023536, 0.785886, 0.116194, 0.820280, -0.002550, 0.785886, 0.174323, + 0.795809, 0.100819, 0.730082, 0.116194, 0.742189, 0.023536, 0.785886, + 0.174323, 0.795809, 0.100819, 0.730082, 0.174323, 0.724029, 0.120957, + 0.785886, 0.116194, 0.820280, -0.002550, 0.841690, 0.116194, 0.911257, + -0.036670, 0.841690, 0.174323, 0.879567, 0.074018, 0.785886, 0.116194, + 0.820280, -0.002550, 0.841690, 0.174323, 0.879567, 0.074018, 0.785886, + 0.174323, 0.795809, 0.100819, 0.841690, 0.116194, 0.911257, -0.036670, + 0.897493, 0.116194, 1.019165, -0.079867, 0.897493, 0.174323, 0.979310, + 0.039586, 0.841690, 0.116194, 0.911257, -0.036670, 0.897493, 0.174323, + 0.979310, 0.039586, 0.841690, 0.174323, 0.879567, 0.074018, 0.060439, + 0.174323, -0.115650, -0.009232, 0.116243, 0.174323, 0.007483, 0.034912, + 0.116243, 0.232452, 0.039929, 0.136263, 0.060439, 0.174323, -0.115650, + -0.009232, 0.116243, 0.232452, 0.039929, 0.136263, 0.060439, 0.232452, + -0.075414, 0.101516, 0.116243, 0.174323, 0.007483, 0.034912, 0.172047, + 0.174323, 0.109434, 0.070322, 0.172047, 0.232452, 0.134942, 0.163752, + 0.116243, 0.174323, 0.007483, 0.034912, 0.172047, 0.232452, 0.134942, + 0.163752, 0.116243, 0.232452, 0.039929, 0.136263, 0.172047, 0.174323, + 0.109434, 0.070322, 0.227850, 0.174323, 0.194880, 0.097984, 0.227850, + 0.232452, 0.214302, 0.184841, 0.172047, 0.174323, 0.109434, 0.070322, + 0.227850, 0.232452, 0.214302, 0.184841, 0.172047, 0.232452, 0.134942, + 0.163752, 0.227850, 0.174323, 0.194880, 0.097984, 0.283654, 0.174323, + 0.267902, 0.118869, 0.283654, 0.232452, 0.282080, 0.200395, 0.227850, + 0.174323, 0.194880, 0.097984, 0.283654, 0.232452, 0.282080, 0.200395, + 0.227850, 0.232452, 0.214302, 0.184841, 0.283654, 0.174323, 0.267902, + 0.118869, 0.339457, 0.174323, 0.331976, 0.133911, 0.339457, 0.232452, + 0.341722, 0.211275, 0.283654, 0.174323, 0.267902, 0.118869, 0.339457, + 0.232452, 0.341722, 0.211275, 0.283654, 0.232452, 0.282080, 0.200395, + 0.339457, 0.174323, 0.331976, 0.133911, 0.395261, 0.174323, 0.389997, + 0.143969, 0.395261, 0.232452, 0.396046, 0.218308, 0.339457, 0.174323, + 0.331976, 0.133911, 0.395261, 0.232452, 0.396046, 0.218308, 0.339457, + 0.232452, 0.341722, 0.211275, 0.395261, 0.174323, 0.389997, 0.143969, + 0.451065, 0.174323, 0.444322, 0.149757, 0.451065, 0.232452, 0.447258, + 0.222226, 0.395261, 0.174323, 0.389997, 0.143969, 0.451065, 0.232452, + 0.447258, 0.222226, 0.395261, 0.232452, 0.396046, 0.218308, 0.451065, + 0.174323, 0.444322, 0.149757, 0.506868, 0.174323, 0.496877, 0.151767, + 0.506868, 0.232452, 0.497039, 0.223558, 0.451065, 0.174323, 0.444322, + 0.149757, 0.506868, 0.232452, 0.497039, 0.223558, 0.451065, 0.232452, + 0.447258, 0.222226, 0.506868, 0.174323, 0.496877, 0.151767, 0.562672, + 0.174323, 0.549335, 0.150189, 0.562672, 0.232452, 0.546743, 0.222514, + 0.506868, 0.174323, 0.496877, 0.151767, 0.562672, 0.232452, 0.546743, + 0.222514, 0.506868, 0.232452, 0.497039, 0.223558, 0.562672, 0.174323, + 0.549335, 0.150189, 0.618475, 0.174323, 0.603354, 0.144873, 0.618475, + 0.232452, 0.597704, 0.218928, 0.562672, 0.174323, 0.549335, 0.150189, + 0.618475, 0.232452, 0.597704, 0.218928, 0.562672, 0.232452, 0.546743, + 0.222514, 0.618475, 0.174323, 0.603354, 0.144873, 0.674279, 0.174323, + 0.660819, 0.135360, 0.674279, 0.232452, 0.651552, 0.212303, 0.618475, + 0.174323, 0.603354, 0.144873, 0.674279, 0.232452, 0.651552, 0.212303, + 0.618475, 0.232452, 0.597704, 0.218928, 0.674279, 0.174323, 0.660819, + 0.135360, 0.730082, 0.174323, 0.724029, 0.120957, 0.730082, 0.232452, + 0.710422, 0.201925, 0.674279, 0.174323, 0.660819, 0.135360, 0.730082, + 0.232452, 0.710422, 0.201925, 0.674279, 0.232452, 0.651552, 0.212303, + 0.730082, 0.174323, 0.724029, 0.120957, 0.785886, 0.174323, 0.795809, + 0.100819, 0.785886, 0.232452, 0.777058, 0.186975, 0.730082, 0.174323, + 0.724029, 0.120957, 0.785886, 0.232452, 0.777058, 0.186975, 0.730082, + 0.232452, 0.710422, 0.201925, 0.785886, 0.174323, 0.795809, 0.100819, + 0.841690, 0.174323, 0.879567, 0.074018, 0.841690, 0.232452, 0.854832, + 0.166594, 0.785886, 0.174323, 0.795809, 0.100819, 0.841690, 0.232452, + 0.854832, 0.166594, 0.785886, 0.232452, 0.777058, 0.186975, 0.841690, + 0.174323, 0.879567, 0.074018, 0.897493, 0.174323, 0.979310, 0.039586, + 0.897493, 0.232452, 0.947738, 0.139915, 0.841690, 0.174323, 0.879567, + 0.074018, 0.897493, 0.232452, 0.947738, 0.139915, 0.841690, 0.232452, + 0.854832, 0.166594, 0.060439, 0.232452, -0.075414, 0.101516, 0.116243, + 0.232452, 0.039929, 0.136263, 0.116243, 0.290580, 0.064893, 0.222874, + 0.060439, 0.232452, -0.075414, 0.101516, 0.116243, 0.290580, 0.064893, + 0.222874, 0.060439, 0.290580, -0.044060, 0.196474, 0.116243, 0.232452, + 0.039929, 0.136263, 0.172047, 0.232452, 0.134942, 0.163752, 0.172047, + 0.290580, 0.154231, 0.243433, 0.116243, 0.232452, 0.039929, 0.136263, + 0.172047, 0.290580, 0.154231, 0.243433, 0.116243, 0.290580, 0.064893, + 0.222874, 0.172047, 0.232452, 0.134942, 0.163752, 0.227850, 0.232452, + 0.214302, 0.184841, 0.227850, 0.290580, 0.228647, 0.258857, 0.172047, + 0.232452, 0.134942, 0.163752, 0.227850, 0.290580, 0.228647, 0.258857, + 0.172047, 0.290580, 0.154231, 0.243433, 0.227850, 0.232452, 0.214302, + 0.184841, 0.283654, 0.232452, 0.282080, 0.200395, 0.283654, 0.290580, + 0.292223, 0.269874, 0.227850, 0.232452, 0.214302, 0.184841, 0.283654, + 0.290580, 0.292223, 0.269874, 0.227850, 0.290580, 0.228647, 0.258857, + 0.283654, 0.232452, 0.282080, 0.200395, 0.339457, 0.232452, 0.341722, + 0.211275, 0.339457, 0.290580, 0.348410, 0.277233, 0.283654, 0.232452, + 0.282080, 0.200395, 0.339457, 0.290580, 0.348410, 0.277233, 0.283654, + 0.290580, 0.292223, 0.269874, 0.339457, 0.232452, 0.341722, 0.211275, + 0.395261, 0.232452, 0.396046, 0.218308, 0.395261, 0.290580, 0.400000, + 0.281702, 0.339457, 0.232452, 0.341722, 0.211275, 0.395261, 0.290580, + 0.400000, 0.281702, 0.339457, 0.290580, 0.348410, 0.277233, 0.395261, + 0.232452, 0.396046, 0.218308, 0.451065, 0.232452, 0.447258, 0.222226, + 0.451065, 0.290580, 0.449095, 0.284017, 0.395261, 0.232452, 0.396046, + 0.218308, 0.451065, 0.290580, 0.449095, 0.284017, 0.395261, 0.290580, + 0.400000, 0.281702, 0.451065, 0.232452, 0.447258, 0.222226, 0.506868, + 0.232452, 0.497039, 0.223558, 0.506868, 0.290580, 0.497138, 0.284761, + 0.451065, 0.232452, 0.447258, 0.222226, 0.506868, 0.290580, 0.497138, + 0.284761, 0.451065, 0.290580, 0.449095, 0.284017, 0.506868, 0.232452, + 0.497039, 0.223558, 0.562672, 0.232452, 0.546743, 0.222514, 0.562672, + 0.290580, 0.545128, 0.284180, 0.506868, 0.232452, 0.497039, 0.223558, + 0.562672, 0.290580, 0.545128, 0.284180, 0.506868, 0.290580, 0.497138, + 0.284761, 0.562672, 0.232452, 0.546743, 0.222514, 0.618475, 0.232452, + 0.597704, 0.218928, 0.618475, 0.290580, 0.594033, 0.282078, 0.562672, + 0.232452, 0.546743, 0.222514, 0.618475, 0.290580, 0.594033, 0.282078, + 0.562672, 0.290580, 0.545128, 0.284180, 0.618475, 0.232452, 0.597704, + 0.218928, 0.674279, 0.232452, 0.651552, 0.212303, 0.674279, 0.290580, + 0.645227, 0.277904, 0.618475, 0.232452, 0.597704, 0.218928, 0.674279, + 0.290580, 0.645227, 0.277904, 0.618475, 0.290580, 0.594033, 0.282078, + 0.674279, 0.232452, 0.651552, 0.212303, 0.730082, 0.232452, 0.710422, + 0.201925, 0.730082, 0.290580, 0.700731, 0.270931, 0.674279, 0.232452, + 0.651552, 0.212303, 0.730082, 0.290580, 0.700731, 0.270931, 0.674279, + 0.290580, 0.645227, 0.277904, 0.730082, 0.232452, 0.710422, 0.201925, + 0.785886, 0.232452, 0.777058, 0.186975, 0.785886, 0.290580, 0.763255, + 0.260392, 0.730082, 0.232452, 0.710422, 0.201925, 0.785886, 0.290580, + 0.763255, 0.260392, 0.730082, 0.290580, 0.700731, 0.270931, 0.785886, + 0.232452, 0.777058, 0.186975, 0.841690, 0.232452, 0.854832, 0.166594, + 0.841690, 0.290580, 0.836172, 0.245534, 0.785886, 0.232452, 0.777058, + 0.186975, 0.841690, 0.290580, 0.836172, 0.245534, 0.785886, 0.290580, + 0.763255, 0.260392, 0.841690, 0.232452, 0.854832, 0.166594, 0.897493, + 0.232452, 0.947738, 0.139915, 0.897493, 0.290580, 0.923491, 0.225626, + 0.841690, 0.232452, 0.854832, 0.166594, 0.897493, 0.290580, 0.923491, + 0.225626, 0.841690, 0.290580, 0.836172, 0.245534, 0.060439, 0.290580, + -0.044060, 0.196474, 0.116243, 0.290580, 0.064893, 0.222874, 0.116243, + 0.348709, 0.083282, 0.298635, 0.060439, 0.290580, -0.044060, 0.196474, + 0.116243, 0.348709, 0.083282, 0.298635, 0.060439, 0.348709, -0.020647, + 0.279630, 0.116243, 0.290580, 0.064893, 0.222874, 0.172047, 0.290580, + 0.154231, 0.243433, 0.172047, 0.348709, 0.168163, 0.313190, 0.116243, + 0.290580, 0.064893, 0.222874, 0.172047, 0.348709, 0.168163, 0.313190, + 0.116243, 0.348709, 0.083282, 0.298635, 0.172047, 0.290580, 0.154231, + 0.243433, 0.227850, 0.290580, 0.228647, 0.258857, 0.227850, 0.348709, + 0.238703, 0.323829, 0.172047, 0.290580, 0.154231, 0.243433, 0.227850, + 0.348709, 0.238703, 0.323829, 0.172047, 0.348709, 0.168163, 0.313190, + 0.227850, 0.290580, 0.228647, 0.258857, 0.283654, 0.290580, 0.292223, + 0.269874, 0.283654, 0.348709, 0.299011, 0.331110, 0.227850, 0.290580, + 0.228647, 0.258857, 0.283654, 0.348709, 0.299011, 0.331110, 0.227850, + 0.348709, 0.238703, 0.323829, 0.283654, 0.290580, 0.292223, 0.269874, + 0.339457, 0.290580, 0.348410, 0.277233, 0.339457, 0.348709, 0.352571, + 0.335629, 0.283654, 0.290580, 0.292223, 0.269874, 0.339457, 0.348709, + 0.352571, 0.335629, 0.283654, 0.348709, 0.299011, 0.331110, 0.339457, + 0.290580, 0.348410, 0.277233, 0.395261, 0.290580, 0.400000, 0.281702, + 0.395261, 0.348709, 0.402207, 0.338035, 0.339457, 0.290580, 0.348410, + 0.277233, 0.395261, 0.348709, 0.402207, 0.338035, 0.339457, 0.348709, + 0.352571, 0.335629, 0.395261, 0.290580, 0.400000, 0.281702, 0.451065, + 0.290580, 0.449095, 0.284017, 0.451065, 0.348709, 0.449995, 0.339036, + 0.395261, 0.290580, 0.400000, 0.281702, 0.451065, 0.348709, 0.449995, + 0.339036, 0.395261, 0.348709, 0.402207, 0.338035, 0.451065, 0.290580, + 0.449095, 0.284017, 0.506868, 0.290580, 0.497138, 0.284761, 0.506868, + 0.348709, 0.497184, 0.339285, 0.451065, 0.290580, 0.449095, 0.284017, + 0.506868, 0.348709, 0.497184, 0.339285, 0.451065, 0.348709, 0.449995, + 0.339036, 0.506868, 0.290580, 0.497138, 0.284761, 0.562672, 0.290580, + 0.545128, 0.284180, 0.562672, 0.348709, 0.544347, 0.339095, 0.506868, + 0.290580, 0.497138, 0.284761, 0.562672, 0.348709, 0.544347, 0.339095, + 0.506868, 0.348709, 0.497184, 0.339285, 0.562672, 0.290580, 0.545128, + 0.284180, 0.618475, 0.290580, 0.594033, 0.282078, 0.618475, 0.348709, + 0.592015, 0.338215, 0.562672, 0.290580, 0.545128, 0.284180, 0.618475, + 0.348709, 0.592015, 0.338215, 0.562672, 0.348709, 0.544347, 0.339095, + 0.618475, 0.290580, 0.594033, 0.282078, 0.674279, 0.290580, 0.645227, + 0.277904, 0.674279, 0.348709, 0.641336, 0.336014, 0.618475, 0.290580, + 0.594033, 0.282078, 0.674279, 0.348709, 0.641336, 0.336014, 0.618475, + 0.348709, 0.592015, 0.338215, 0.674279, 0.290580, 0.645227, 0.277904, + 0.730082, 0.290580, 0.700731, 0.270931, 0.730082, 0.348709, 0.694292, + 0.331784, 0.674279, 0.290580, 0.645227, 0.277904, 0.730082, 0.348709, + 0.694292, 0.331784, 0.674279, 0.348709, 0.641336, 0.336014, 0.730082, + 0.290580, 0.700731, 0.270931, 0.785886, 0.290580, 0.763255, 0.260392, + 0.785886, 0.348709, 0.753622, 0.324865, 0.730082, 0.290580, 0.700731, + 0.270931, 0.785886, 0.348709, 0.753622, 0.324865, 0.730082, 0.348709, + 0.694292, 0.331784, 0.785886, 0.290580, 0.763255, 0.260392, 0.841690, + 0.290580, 0.836172, 0.245534, 0.841690, 0.348709, 0.822735, 0.314657, + 0.785886, 0.290580, 0.763255, 0.260392, 0.841690, 0.348709, 0.822735, + 0.314657, 0.785886, 0.348709, 0.753622, 0.324865, 0.841690, 0.290580, + 0.836172, 0.245534, 0.897493, 0.290580, 0.923491, 0.225626, 0.897493, + 0.348709, 0.905665, 0.300599, 0.841690, 0.290580, 0.836172, 0.245534, + 0.897493, 0.348709, 0.905665, 0.300599, 0.841690, 0.348709, 0.822735, + 0.314657, 0.060439, 0.348709, -0.020647, 0.279630, 0.116243, 0.348709, + 0.083282, 0.298635, 0.116243, 0.406838, 0.095909, 0.366845, 0.060439, + 0.348709, -0.020647, 0.279630, 0.116243, 0.406838, 0.095909, 0.366845, + 0.060439, 0.406838, -0.004357, 0.354425, 0.116243, 0.348709, 0.083282, + 0.298635, 0.172047, 0.348709, 0.168163, 0.313190, 0.172047, 0.406838, + 0.177532, 0.376206, 0.116243, 0.348709, 0.083282, 0.298635, 0.172047, + 0.406838, 0.177532, 0.376206, 0.116243, 0.406838, 0.095909, 0.366845, + 0.172047, 0.348709, 0.168163, 0.313190, 0.227850, 0.348709, 0.238703, + 0.323829, 0.227850, 0.406838, 0.245234, 0.382866, 0.172047, 0.348709, + 0.168163, 0.313190, 0.227850, 0.406838, 0.245234, 0.382866, 0.172047, + 0.406838, 0.177532, 0.376206, 0.227850, 0.348709, 0.238703, 0.323829, + 0.283654, 0.348709, 0.299011, 0.331110, 0.283654, 0.406838, 0.303142, + 0.387197, 0.227850, 0.348709, 0.238703, 0.323829, 0.283654, 0.406838, + 0.303142, 0.387197, 0.227850, 0.406838, 0.245234, 0.382866, 0.283654, + 0.348709, 0.299011, 0.331110, 0.339457, 0.348709, 0.352571, 0.335629, + 0.339457, 0.406838, 0.354787, 0.389596, 0.283654, 0.348709, 0.299011, + 0.331110, 0.339457, 0.406838, 0.354787, 0.389596, 0.283654, 0.406838, + 0.303142, 0.387197, 0.339457, 0.348709, 0.352571, 0.335629, 0.395261, + 0.348709, 0.402207, 0.338035, 0.395261, 0.406838, 0.403065, 0.390520, + 0.339457, 0.348709, 0.352571, 0.335629, 0.395261, 0.406838, 0.403065, + 0.390520, 0.339457, 0.406838, 0.354787, 0.389596, 0.395261, 0.348709, + 0.402207, 0.338035, 0.451065, 0.348709, 0.449995, 0.339036, 0.451065, + 0.406838, 0.450140, 0.390553, 0.395261, 0.348709, 0.402207, 0.338035, + 0.451065, 0.406838, 0.450140, 0.390553, 0.395261, 0.406838, 0.403065, + 0.390520, 0.451065, 0.348709, 0.449995, 0.339036, 0.506868, 0.348709, + 0.497184, 0.339285, 0.506868, 0.406838, 0.497184, 0.390409, 0.451065, + 0.348709, 0.449995, 0.339036, 0.506868, 0.406838, 0.497184, 0.390409, + 0.451065, 0.406838, 0.450140, 0.390553, 0.506868, 0.348709, 0.497184, + 0.339285, 0.562672, 0.348709, 0.544347, 0.339095, 0.562672, 0.406838, + 0.544244, 0.390531, 0.506868, 0.348709, 0.497184, 0.339285, 0.562672, + 0.406838, 0.544244, 0.390531, 0.506868, 0.406838, 0.497184, 0.390409, + 0.562672, 0.348709, 0.544347, 0.339095, 0.618475, 0.348709, 0.592015, + 0.338215, 0.618475, 0.406838, 0.591277, 0.390558, 0.562672, 0.348709, + 0.544347, 0.339095, 0.618475, 0.406838, 0.591277, 0.390558, 0.562672, + 0.406838, 0.544244, 0.390531, 0.618475, 0.348709, 0.592015, 0.338215, + 0.674279, 0.348709, 0.641336, 0.336014, 0.674279, 0.406838, 0.639314, + 0.389774, 0.618475, 0.348709, 0.592015, 0.338215, 0.674279, 0.406838, + 0.639314, 0.389774, 0.618475, 0.406838, 0.591277, 0.390558, 0.674279, + 0.348709, 0.641336, 0.336014, 0.730082, 0.348709, 0.694292, 0.331784, + 0.730082, 0.406838, 0.690416, 0.387577, 0.674279, 0.348709, 0.641336, + 0.336014, 0.730082, 0.406838, 0.690416, 0.387577, 0.674279, 0.406838, + 0.639314, 0.389774, 0.730082, 0.348709, 0.694292, 0.331784, 0.785886, + 0.348709, 0.753622, 0.324865, 0.785886, 0.406838, 0.747402, 0.383499, + 0.730082, 0.348709, 0.694292, 0.331784, 0.785886, 0.406838, 0.747402, + 0.383499, 0.730082, 0.406838, 0.690416, 0.387577, 0.785886, 0.348709, + 0.753622, 0.324865, 0.841690, 0.348709, 0.822735, 0.314657, 0.841690, + 0.406838, 0.813727, 0.377137, 0.785886, 0.348709, 0.753622, 0.324865, + 0.841690, 0.406838, 0.813727, 0.377137, 0.785886, 0.406838, 0.747402, + 0.383499, 0.841690, 0.348709, 0.822735, 0.314657, 0.897493, 0.348709, + 0.905665, 0.300599, 0.897493, 0.406838, 0.893449, 0.368118, 0.841690, + 0.348709, 0.822735, 0.314657, 0.897493, 0.406838, 0.893449, 0.368118, + 0.841690, 0.406838, 0.813727, 0.377137, 0.060439, 0.406838, -0.004357, + 0.354425, 0.116243, 0.406838, 0.095909, 0.366845, 0.116243, 0.464967, + 0.103436, 0.430276, 0.060439, 0.406838, -0.004357, 0.354425, 0.116243, + 0.464967, 0.103436, 0.430276, 0.060439, 0.464967, 0.005462, 0.423838, + 0.116243, 0.406838, 0.095909, 0.366845, 0.172047, 0.406838, 0.177532, + 0.376206, 0.172047, 0.464967, 0.183015, 0.435070, 0.116243, 0.406838, + 0.095909, 0.366845, 0.172047, 0.464967, 0.183015, 0.435070, 0.116243, + 0.464967, 0.103436, 0.430276, 0.172047, 0.406838, 0.177532, 0.376206, + 0.227850, 0.406838, 0.245234, 0.382866, 0.227850, 0.464967, 0.248923, + 0.438406, 0.172047, 0.406838, 0.177532, 0.376206, 0.227850, 0.464967, + 0.248923, 0.438406, 0.172047, 0.464967, 0.183015, 0.435070, 0.227850, + 0.406838, 0.245234, 0.382866, 0.283654, 0.406838, 0.303142, 0.387197, + 0.283654, 0.464967, 0.305301, 0.440472, 0.227850, 0.406838, 0.245234, + 0.382866, 0.283654, 0.464967, 0.305301, 0.440472, 0.227850, 0.464967, + 0.248923, 0.438406, 0.283654, 0.406838, 0.303142, 0.387197, 0.339457, + 0.406838, 0.354787, 0.389596, 0.339457, 0.464967, 0.355700, 0.441462, + 0.283654, 0.406838, 0.303142, 0.387197, 0.339457, 0.464967, 0.355700, + 0.441462, 0.283654, 0.464967, 0.305301, 0.440472, 0.339457, 0.406838, + 0.354787, 0.389596, 0.395261, 0.406838, 0.403065, 0.390520, 0.395261, + 0.464967, 0.403080, 0.441594, 0.339457, 0.406838, 0.354787, 0.389596, + 0.395261, 0.464967, 0.403080, 0.441594, 0.339457, 0.464967, 0.355700, + 0.441462, 0.395261, 0.406838, 0.403065, 0.390520, 0.451065, 0.406838, + 0.450140, 0.390553, 0.451065, 0.464967, 0.449767, 0.441165, 0.395261, + 0.406838, 0.403065, 0.390520, 0.451065, 0.464967, 0.449767, 0.441165, + 0.395261, 0.464967, 0.403080, 0.441594, 0.451065, 0.406838, 0.450140, + 0.390553, 0.506868, 0.406838, 0.497184, 0.390409, 0.506868, 0.464967, + 0.497148, 0.440773, 0.451065, 0.406838, 0.450140, 0.390553, 0.506868, + 0.464967, 0.497148, 0.440773, 0.451065, 0.464967, 0.449767, 0.441165, + 0.506868, 0.406838, 0.497184, 0.390409, 0.562672, 0.406838, 0.544244, + 0.390531, 0.562672, 0.464967, 0.544616, 0.441098, 0.506868, 0.406838, + 0.497184, 0.390409, 0.562672, 0.464967, 0.544616, 0.441098, 0.506868, + 0.464967, 0.497148, 0.440773, 0.562672, 0.406838, 0.544244, 0.390531, + 0.618475, 0.406838, 0.591277, 0.390558, 0.618475, 0.464967, 0.591340, + 0.441565, 0.562672, 0.406838, 0.544244, 0.390531, 0.618475, 0.464967, + 0.591340, 0.441565, 0.562672, 0.464967, 0.544616, 0.441098, 0.618475, + 0.406838, 0.591277, 0.390558, 0.674279, 0.406838, 0.639314, 0.389774, + 0.674279, 0.464967, 0.638528, 0.441518, 0.618475, 0.406838, 0.591277, + 0.390558, 0.674279, 0.464967, 0.638528, 0.441518, 0.618475, 0.464967, + 0.591340, 0.441565, 0.674279, 0.406838, 0.639314, 0.389774, 0.730082, + 0.406838, 0.690416, 0.387577, 0.730082, 0.464967, 0.688422, 0.440643, + 0.674279, 0.406838, 0.639314, 0.389774, 0.730082, 0.464967, 0.688422, + 0.440643, 0.674279, 0.464967, 0.638528, 0.441518, 0.730082, 0.406838, + 0.690416, 0.387577, 0.785886, 0.406838, 0.747402, 0.383499, 0.785886, + 0.464967, 0.743910, 0.438716, 0.730082, 0.406838, 0.690416, 0.387577, + 0.785886, 0.464967, 0.743910, 0.438716, 0.730082, 0.464967, 0.688422, + 0.440643, 0.785886, 0.406838, 0.747402, 0.383499, 0.841690, 0.406838, + 0.813727, 0.377137, 0.841690, 0.464967, 0.808472, 0.435542, 0.785886, + 0.406838, 0.747402, 0.383499, 0.841690, 0.464967, 0.808472, 0.435542, + 0.785886, 0.464967, 0.743910, 0.438716, 0.841690, 0.406838, 0.813727, + 0.377137, 0.897493, 0.406838, 0.893449, 0.368118, 0.897493, 0.464967, + 0.886179, 0.430932, 0.841690, 0.406838, 0.813727, 0.377137, 0.897493, + 0.464967, 0.886179, 0.430932, 0.841690, 0.464967, 0.808472, 0.435542, + 0.060439, 0.464967, 0.005462, 0.423838, 0.116243, 0.464967, 0.103436, + 0.430276, 0.116243, 0.523095, 0.106313, 0.491290, 0.060439, 0.464967, + 0.005462, 0.423838, 0.116243, 0.523095, 0.106313, 0.491290, 0.060439, + 0.523095, 0.009240, 0.490490, 0.116243, 0.464967, 0.103436, 0.430276, + 0.172047, 0.464967, 0.183015, 0.435070, 0.172047, 0.523095, 0.185086, + 0.491883, 0.116243, 0.464967, 0.103436, 0.430276, 0.172047, 0.523095, + 0.185086, 0.491883, 0.116243, 0.523095, 0.106313, 0.491290, 0.172047, + 0.464967, 0.183015, 0.435070, 0.227850, 0.464967, 0.248923, 0.438406, + 0.227850, 0.523095, 0.250283, 0.492291, 0.172047, 0.464967, 0.183015, + 0.435070, 0.227850, 0.523095, 0.250283, 0.492291, 0.172047, 0.523095, + 0.185086, 0.491883, 0.227850, 0.464967, 0.248923, 0.438406, 0.283654, + 0.464967, 0.305301, 0.440472, 0.283654, 0.523095, 0.306046, 0.492538, + 0.227850, 0.464967, 0.248923, 0.438406, 0.283654, 0.523095, 0.306046, + 0.492538, 0.227850, 0.523095, 0.250283, 0.492291, 0.283654, 0.464967, + 0.305301, 0.440472, 0.339457, 0.464967, 0.355700, 0.441462, 0.339457, + 0.523095, 0.355931, 0.492646, 0.283654, 0.464967, 0.305301, 0.440472, + 0.339457, 0.523095, 0.355931, 0.492646, 0.283654, 0.523095, 0.306046, + 0.492538, 0.339457, 0.464967, 0.355700, 0.441462, 0.395261, 0.464967, + 0.403080, 0.441594, 0.395261, 0.523095, 0.402908, 0.492638, 0.339457, + 0.464967, 0.355700, 0.441462, 0.395261, 0.523095, 0.402908, 0.492638, + 0.339457, 0.523095, 0.355931, 0.492646, 0.395261, 0.464967, 0.403080, + 0.441594, 0.451065, 0.464967, 0.449767, 0.441165, 0.451065, 0.523095, + 0.449361, 0.492537, 0.395261, 0.464967, 0.403080, 0.441594, 0.451065, + 0.523095, 0.449361, 0.492537, 0.395261, 0.523095, 0.402908, 0.492638, + 0.451065, 0.464967, 0.449767, 0.441165, 0.506868, 0.464967, 0.497148, + 0.440773, 0.506868, 0.523095, 0.497084, 0.492382, 0.451065, 0.464967, + 0.449767, 0.441165, 0.506868, 0.523095, 0.497084, 0.492382, 0.451065, + 0.523095, 0.449361, 0.492537, 0.506868, 0.464967, 0.497148, 0.440773, + 0.562672, 0.464967, 0.544616, 0.441098, 0.562672, 0.523095, 0.545028, + 0.492520, 0.506868, 0.464967, 0.497148, 0.440773, 0.562672, 0.523095, + 0.545028, 0.492520, 0.506868, 0.523095, 0.497084, 0.492382, 0.562672, + 0.464967, 0.544616, 0.441098, 0.618475, 0.464967, 0.591340, 0.441565, + 0.618475, 0.523095, 0.591551, 0.492630, 0.562672, 0.464967, 0.544616, + 0.441098, 0.618475, 0.523095, 0.591551, 0.492630, 0.562672, 0.523095, + 0.545028, 0.492520, 0.618475, 0.464967, 0.591340, 0.441565, 0.674279, + 0.464967, 0.638528, 0.441518, 0.674279, 0.523095, 0.638351, 0.492651, + 0.618475, 0.464967, 0.591340, 0.441565, 0.674279, 0.523095, 0.638351, + 0.492651, 0.618475, 0.523095, 0.591551, 0.492630, 0.674279, 0.464967, + 0.638528, 0.441518, 0.730082, 0.464967, 0.688422, 0.440643, 0.730082, + 0.523095, 0.687744, 0.492558, 0.674279, 0.464967, 0.638528, 0.441518, + 0.730082, 0.523095, 0.687744, 0.492558, 0.674279, 0.523095, 0.638351, + 0.492651, 0.730082, 0.464967, 0.688422, 0.440643, 0.785886, 0.464967, + 0.743910, 0.438716, 0.785886, 0.523095, 0.742629, 0.492329, 0.730082, + 0.464967, 0.688422, 0.440643, 0.785886, 0.523095, 0.742629, 0.492329, + 0.730082, 0.523095, 0.687744, 0.492558, 0.785886, 0.464967, 0.743910, + 0.438716, 0.841690, 0.464967, 0.808472, 0.435542, 0.841690, 0.523095, + 0.806492, 0.491941, 0.785886, 0.464967, 0.743910, 0.438716, 0.841690, + 0.523095, 0.806492, 0.491941, 0.785886, 0.523095, 0.742629, 0.492329, + 0.841690, 0.464967, 0.808472, 0.435542, 0.897493, 0.464967, 0.886179, + 0.430932, 0.897493, 0.523095, 0.883403, 0.491371, 0.841690, 0.464967, + 0.808472, 0.435542, 0.897493, 0.523095, 0.883403, 0.491371, 0.841690, + 0.523095, 0.806492, 0.491941, 0.060439, 0.523095, 0.009240, 0.490490, + 0.116243, 0.523095, 0.106313, 0.491290, 0.116243, 0.581224, 0.104727, + 0.552007, 0.060439, 0.523095, 0.009240, 0.490490, 0.116243, 0.581224, + 0.104727, 0.552007, 0.060439, 0.581224, 0.007156, 0.556800, 0.116243, + 0.523095, 0.106313, 0.491290, 0.172047, 0.523095, 0.185086, 0.491883, + 0.172047, 0.581224, 0.183946, 0.548447, 0.116243, 0.523095, 0.106313, + 0.491290, 0.172047, 0.581224, 0.183946, 0.548447, 0.116243, 0.581224, + 0.104727, 0.552007, 0.172047, 0.523095, 0.185086, 0.491883, 0.227850, + 0.523095, 0.250283, 0.492291, 0.227850, 0.581224, 0.249537, 0.545980, + 0.172047, 0.523095, 0.185086, 0.491883, 0.227850, 0.581224, 0.249537, + 0.545980, 0.172047, 0.581224, 0.183946, 0.548447, 0.227850, 0.523095, + 0.250283, 0.492291, 0.283654, 0.523095, 0.306046, 0.492538, 0.283654, + 0.581224, 0.305642, 0.544469, 0.227850, 0.523095, 0.250283, 0.492291, + 0.283654, 0.581224, 0.305642, 0.544469, 0.227850, 0.581224, 0.249537, + 0.545980, 0.283654, 0.523095, 0.306046, 0.492538, 0.339457, 0.523095, + 0.355931, 0.492646, 0.339457, 0.581224, 0.355814, 0.543772, 0.283654, + 0.523095, 0.306046, 0.492538, 0.339457, 0.581224, 0.355814, 0.543772, + 0.283654, 0.581224, 0.305642, 0.544469, 0.339457, 0.523095, 0.355931, + 0.492646, 0.395261, 0.523095, 0.402908, 0.492638, 0.395261, 0.581224, + 0.403019, 0.543734, 0.339457, 0.523095, 0.355931, 0.492646, 0.395261, + 0.581224, 0.403019, 0.543734, 0.339457, 0.581224, 0.355814, 0.543772, + 0.395261, 0.523095, 0.402908, 0.492638, 0.451065, 0.523095, 0.449361, + 0.492537, 0.451065, 0.581224, 0.449619, 0.544158, 0.395261, 0.523095, + 0.402908, 0.492638, 0.451065, 0.581224, 0.449619, 0.544158, 0.395261, + 0.581224, 0.403019, 0.543734, 0.451065, 0.523095, 0.449361, 0.492537, + 0.506868, 0.523095, 0.497084, 0.492382, 0.506868, 0.581224, 0.497132, + 0.544569, 0.451065, 0.523095, 0.449361, 0.492537, 0.506868, 0.581224, + 0.497132, 0.544569, 0.451065, 0.581224, 0.449619, 0.544158, 0.506868, + 0.523095, 0.497084, 0.492382, 0.562672, 0.523095, 0.545028, 0.492520, + 0.562672, 0.581224, 0.544764, 0.544224, 0.506868, 0.523095, 0.497084, + 0.492382, 0.562672, 0.581224, 0.544764, 0.544224, 0.506868, 0.581224, + 0.497132, 0.544569, 0.562672, 0.523095, 0.545028, 0.492520, 0.618475, + 0.523095, 0.591551, 0.492630, 0.618475, 0.581224, 0.591417, 0.543766, + 0.562672, 0.523095, 0.545028, 0.492520, 0.618475, 0.581224, 0.591417, + 0.543766, 0.562672, 0.581224, 0.544764, 0.544224, 0.618475, 0.523095, + 0.591551, 0.492630, 0.674279, 0.523095, 0.638351, 0.492651, 0.674279, + 0.581224, 0.638438, 0.543736, 0.618475, 0.523095, 0.591551, 0.492630, + 0.674279, 0.581224, 0.638438, 0.543736, 0.618475, 0.581224, 0.591417, + 0.543766, 0.674279, 0.523095, 0.638351, 0.492651, 0.730082, 0.523095, + 0.687744, 0.492558, 0.730082, 0.581224, 0.688111, 0.544346, 0.674279, + 0.523095, 0.638351, 0.492651, 0.730082, 0.581224, 0.688111, 0.544346, + 0.674279, 0.581224, 0.638438, 0.543736, 0.730082, 0.523095, 0.687744, + 0.492558, 0.785886, 0.523095, 0.742629, 0.492329, 0.785886, 0.581224, + 0.743331, 0.545752, 0.730082, 0.523095, 0.687744, 0.492558, 0.785886, + 0.581224, 0.743331, 0.545752, 0.730082, 0.581224, 0.688111, 0.544346, + 0.785886, 0.523095, 0.742629, 0.492329, 0.841690, 0.523095, 0.806492, + 0.491941, 0.841690, 0.581224, 0.807581, 0.548097, 0.785886, 0.523095, + 0.742629, 0.492329, 0.841690, 0.581224, 0.807581, 0.548097, 0.785886, + 0.581224, 0.743331, 0.545752, 0.841690, 0.523095, 0.806492, 0.491941, + 0.897493, 0.523095, 0.883403, 0.491371, 0.897493, 0.581224, 0.884933, + 0.551520, 0.841690, 0.523095, 0.806492, 0.491941, 0.897493, 0.581224, + 0.884933, 0.551520, 0.841690, 0.581224, 0.807581, 0.548097, 0.060439, + 0.581224, 0.007156, 0.556800, 0.116243, 0.581224, 0.104727, 0.552007, + 0.116243, 0.639353, 0.098575, 0.614515, 0.060439, 0.581224, 0.007156, + 0.556800, 0.116243, 0.639353, 0.098575, 0.614515, 0.060439, 0.639353, + -0.000890, 0.625161, 0.116243, 0.581224, 0.104727, 0.552007, 0.172047, + 0.581224, 0.183946, 0.548447, 0.172047, 0.639353, 0.179484, 0.606523, + 0.116243, 0.581224, 0.104727, 0.552007, 0.172047, 0.639353, 0.179484, + 0.606523, 0.116243, 0.639353, 0.098575, 0.614515, 0.172047, 0.581224, + 0.183946, 0.548447, 0.227850, 0.581224, 0.249537, 0.545980, 0.227850, + 0.639353, 0.246560, 0.600877, 0.172047, 0.581224, 0.183946, 0.548447, + 0.227850, 0.639353, 0.246560, 0.600877, 0.172047, 0.639353, 0.179484, + 0.606523, 0.227850, 0.581224, 0.249537, 0.545980, 0.283654, 0.581224, + 0.305642, 0.544469, 0.283654, 0.639353, 0.303938, 0.597261, 0.227850, + 0.581224, 0.249537, 0.545980, 0.283654, 0.639353, 0.303938, 0.597261, + 0.227850, 0.639353, 0.246560, 0.600877, 0.283654, 0.581224, 0.305642, + 0.544469, 0.339457, 0.581224, 0.355814, 0.543772, 0.339457, 0.639353, + 0.355154, 0.595338, 0.283654, 0.581224, 0.305642, 0.544469, 0.339457, + 0.639353, 0.355154, 0.595338, 0.283654, 0.639353, 0.303938, 0.597261, + 0.339457, 0.581224, 0.355814, 0.543772, 0.395261, 0.581224, 0.403019, + 0.543734, 0.395261, 0.639353, 0.403129, 0.594716, 0.339457, 0.581224, + 0.355814, 0.543772, 0.395261, 0.639353, 0.403129, 0.594716, 0.339457, + 0.639353, 0.355154, 0.595338, 0.395261, 0.581224, 0.403019, 0.543734, + 0.451065, 0.581224, 0.449619, 0.544158, 0.451065, 0.639353, 0.450072, + 0.594880, 0.395261, 0.581224, 0.403019, 0.543734, 0.451065, 0.639353, + 0.450072, 0.594880, 0.395261, 0.639353, 0.403129, 0.594716, 0.451065, + 0.581224, 0.449619, 0.544158, 0.506868, 0.581224, 0.497132, 0.544569, + 0.506868, 0.639353, 0.497177, 0.595114, 0.451065, 0.581224, 0.449619, + 0.544158, 0.506868, 0.639353, 0.497177, 0.595114, 0.451065, 0.639353, + 0.450072, 0.594880, 0.506868, 0.581224, 0.497132, 0.544569, 0.562672, + 0.581224, 0.544764, 0.544224, 0.562672, 0.639353, 0.544313, 0.594920, + 0.506868, 0.581224, 0.497132, 0.544569, 0.562672, 0.639353, 0.544313, + 0.594920, 0.506868, 0.639353, 0.497177, 0.595114, 0.562672, 0.581224, + 0.544764, 0.544224, 0.618475, 0.581224, 0.591417, 0.543766, 0.618475, + 0.639353, 0.591239, 0.594706, 0.562672, 0.581224, 0.544764, 0.544224, + 0.618475, 0.639353, 0.591239, 0.594706, 0.562672, 0.639353, 0.544313, + 0.594920, 0.618475, 0.581224, 0.591417, 0.543766, 0.674279, 0.581224, + 0.638438, 0.543736, 0.674279, 0.639353, 0.638990, 0.595203, 0.618475, + 0.581224, 0.591417, 0.543766, 0.674279, 0.639353, 0.638990, 0.595203, + 0.618475, 0.639353, 0.591239, 0.594706, 0.674279, 0.581224, 0.638438, + 0.543736, 0.730082, 0.581224, 0.688111, 0.544346, 0.730082, 0.639353, + 0.689678, 0.596949, 0.674279, 0.581224, 0.638438, 0.543736, 0.730082, + 0.639353, 0.689678, 0.596949, 0.674279, 0.639353, 0.638990, 0.595203, + 0.730082, 0.581224, 0.688111, 0.544346, 0.785886, 0.581224, 0.743331, + 0.545752, 0.785886, 0.639353, 0.746144, 0.600344, 0.730082, 0.581224, + 0.688111, 0.544346, 0.785886, 0.639353, 0.746144, 0.600344, 0.730082, + 0.639353, 0.689678, 0.596949, 0.785886, 0.581224, 0.743331, 0.545752, + 0.841690, 0.581224, 0.807581, 0.548097, 0.841690, 0.639353, 0.811855, + 0.605730, 0.785886, 0.581224, 0.743331, 0.545752, 0.841690, 0.639353, + 0.811855, 0.605730, 0.785886, 0.639353, 0.746144, 0.600344, 0.841690, + 0.581224, 0.807581, 0.548097, 0.897493, 0.581224, 0.884933, 0.551520, + 0.897493, 0.639353, 0.890873, 0.613426, 0.841690, 0.581224, 0.807581, + 0.548097, 0.897493, 0.639353, 0.890873, 0.613426, 0.841690, 0.639353, + 0.811855, 0.605730, 0.060439, 0.639353, -0.000890, 0.625161, 0.116243, + 0.639353, 0.098575, 0.614515, 0.116243, 0.697481, 0.087476, 0.681085, + 0.060439, 0.639353, -0.000890, 0.625161, 0.116243, 0.697481, 0.087476, + 0.681085, 0.060439, 0.697481, -0.015260, 0.698119, 0.116243, 0.639353, + 0.098575, 0.614515, 0.172047, 0.639353, 0.179484, 0.606523, 0.172047, + 0.697481, 0.171295, 0.668102, 0.116243, 0.639353, 0.098575, 0.614515, + 0.172047, 0.697481, 0.171295, 0.668102, 0.116243, 0.697481, 0.087476, + 0.681085, 0.172047, 0.639353, 0.179484, 0.606523, 0.227850, 0.639353, + 0.246560, 0.600877, 0.227850, 0.697481, 0.240913, 0.658686, 0.172047, + 0.639353, 0.179484, 0.606523, 0.227850, 0.697481, 0.240913, 0.658686, + 0.172047, 0.697481, 0.171295, 0.668102, 0.227850, 0.639353, 0.246560, + 0.600877, 0.283654, 0.639353, 0.303938, 0.597261, 0.283654, 0.697481, + 0.300442, 0.652332, 0.227850, 0.639353, 0.246560, 0.600877, 0.283654, + 0.697481, 0.300442, 0.652332, 0.227850, 0.697481, 0.240913, 0.658686, + 0.283654, 0.639353, 0.303938, 0.597261, 0.339457, 0.639353, 0.355154, + 0.595338, 0.339457, 0.697481, 0.353381, 0.648499, 0.283654, 0.639353, + 0.303938, 0.597261, 0.339457, 0.697481, 0.353381, 0.648499, 0.283654, + 0.697481, 0.300442, 0.652332, 0.339457, 0.639353, 0.355154, 0.595338, + 0.395261, 0.639353, 0.403129, 0.594716, 0.395261, 0.697481, 0.402573, + 0.646583, 0.339457, 0.639353, 0.355154, 0.595338, 0.395261, 0.697481, + 0.402573, 0.646583, 0.339457, 0.697481, 0.353381, 0.648499, 0.395261, + 0.639353, 0.403129, 0.594716, 0.451065, 0.639353, 0.450072, 0.594880, + 0.451065, 0.697481, 0.450106, 0.645901, 0.395261, 0.639353, 0.403129, + 0.594716, 0.451065, 0.697481, 0.450106, 0.645901, 0.395261, 0.697481, + 0.402573, 0.646583, 0.451065, 0.639353, 0.450072, 0.594880, 0.506868, + 0.639353, 0.497177, 0.595114, 0.506868, 0.697481, 0.497188, 0.645776, + 0.451065, 0.639353, 0.450072, 0.594880, 0.506868, 0.697481, 0.497188, + 0.645776, 0.451065, 0.697481, 0.450106, 0.645901, 0.506868, 0.639353, + 0.497177, 0.595114, 0.562672, 0.639353, 0.544313, 0.594920, 0.562672, + 0.697481, 0.544255, 0.645868, 0.506868, 0.639353, 0.497177, 0.595114, + 0.562672, 0.697481, 0.544255, 0.645868, 0.506868, 0.697481, 0.497188, + 0.645776, 0.562672, 0.639353, 0.544313, 0.594920, 0.618475, 0.639353, + 0.591239, 0.594706, 0.618475, 0.697481, 0.591689, 0.646451, 0.562672, + 0.639353, 0.544313, 0.594920, 0.618475, 0.697481, 0.591689, 0.646451, + 0.562672, 0.697481, 0.544255, 0.645868, 0.618475, 0.639353, 0.591239, + 0.594706, 0.674279, 0.639353, 0.638990, 0.595203, 0.674279, 0.697481, + 0.640589, 0.648182, 0.618475, 0.639353, 0.591239, 0.594706, 0.674279, + 0.697481, 0.640589, 0.648182, 0.618475, 0.697481, 0.591689, 0.646451, + 0.674279, 0.639353, 0.638990, 0.595203, 0.730082, 0.639353, 0.689678, + 0.596949, 0.730082, 0.697481, 0.692944, 0.651752, 0.674279, 0.639353, + 0.638990, 0.595203, 0.730082, 0.697481, 0.692944, 0.651752, 0.674279, + 0.697481, 0.640589, 0.648182, 0.730082, 0.639353, 0.689678, 0.596949, + 0.785886, 0.639353, 0.746144, 0.600344, 0.785886, 0.697481, 0.751514, + 0.657775, 0.730082, 0.639353, 0.689678, 0.596949, 0.785886, 0.697481, + 0.751514, 0.657775, 0.730082, 0.697481, 0.692944, 0.651752, 0.785886, + 0.639353, 0.746144, 0.600344, 0.841690, 0.639353, 0.811855, 0.605730, + 0.841690, 0.697481, 0.819720, 0.666798, 0.785886, 0.639353, 0.746144, + 0.600344, 0.841690, 0.697481, 0.819720, 0.666798, 0.785886, 0.697481, + 0.751514, 0.657775, 0.841690, 0.639353, 0.811855, 0.605730, 0.897493, + 0.639353, 0.890873, 0.613426, 0.897493, 0.697481, 0.901605, 0.679329, + 0.841690, 0.639353, 0.811855, 0.605730, 0.897493, 0.697481, 0.901605, + 0.679329, 0.841690, 0.697481, 0.819720, 0.666798, 0.060439, 0.697481, + -0.015260, 0.698119, 0.116243, 0.697481, 0.087476, 0.681085, 0.116243, + 0.755610, 0.070823, 0.754359, 0.060439, 0.697481, -0.015260, 0.698119, + 0.116243, 0.755610, 0.070823, 0.754359, 0.060439, 0.755610, -0.036545, + 0.778537, 0.116243, 0.697481, 0.087476, 0.681085, 0.172047, 0.697481, + 0.171295, 0.668102, 0.172047, 0.755610, 0.158755, 0.735619, 0.116243, + 0.697481, 0.087476, 0.681085, 0.172047, 0.755610, 0.158755, 0.735619, + 0.116243, 0.755610, 0.070823, 0.754359, 0.172047, 0.697481, 0.171295, + 0.668102, 0.227850, 0.697481, 0.240913, 0.658686, 0.227850, 0.755610, + 0.231948, 0.721661, 0.172047, 0.697481, 0.171295, 0.668102, 0.227850, + 0.755610, 0.231948, 0.721661, 0.172047, 0.755610, 0.158755, 0.735619, + 0.227850, 0.697481, 0.240913, 0.658686, 0.283654, 0.697481, 0.300442, + 0.652332, 0.283654, 0.755610, 0.294491, 0.711802, 0.227850, 0.697481, + 0.240913, 0.658686, 0.283654, 0.755610, 0.294491, 0.711802, 0.227850, + 0.755610, 0.231948, 0.721661, 0.283654, 0.697481, 0.300442, 0.652332, + 0.339457, 0.697481, 0.353381, 0.648499, 0.339457, 0.755610, 0.349843, + 0.705332, 0.283654, 0.697481, 0.300442, 0.652332, 0.339457, 0.755610, + 0.349843, 0.705332, 0.283654, 0.755610, 0.294491, 0.711802, 0.339457, + 0.697481, 0.353381, 0.648499, 0.395261, 0.697481, 0.402573, 0.646583, + 0.395261, 0.755610, 0.400798, 0.701511, 0.339457, 0.697481, 0.353381, + 0.648499, 0.395261, 0.755610, 0.400798, 0.701511, 0.339457, 0.755610, + 0.349843, 0.705332, 0.395261, 0.697481, 0.402573, 0.646583, 0.451065, + 0.697481, 0.450106, 0.645901, 0.451065, 0.755610, 0.449442, 0.699606, + 0.395261, 0.697481, 0.402573, 0.646583, 0.451065, 0.755610, 0.449442, + 0.699606, 0.395261, 0.755610, 0.400798, 0.701511, 0.451065, 0.697481, + 0.450106, 0.645901, 0.506868, 0.697481, 0.497188, 0.645776, 0.506868, + 0.755610, 0.497157, 0.699014, 0.451065, 0.697481, 0.450106, 0.645901, + 0.506868, 0.755610, 0.497157, 0.699014, 0.451065, 0.755610, 0.449442, + 0.699606, 0.506868, 0.697481, 0.497188, 0.645776, 0.562672, 0.697481, + 0.544255, 0.645868, 0.562672, 0.755610, 0.544825, 0.699475, 0.506868, + 0.697481, 0.497188, 0.645776, 0.562672, 0.755610, 0.544825, 0.699475, + 0.506868, 0.755610, 0.497157, 0.699014, 0.562672, 0.697481, 0.544255, + 0.645868, 0.618475, 0.697481, 0.591689, 0.646451, 0.618475, 0.755610, + 0.593298, 0.701196, 0.562672, 0.697481, 0.544255, 0.645868, 0.618475, + 0.755610, 0.593298, 0.701196, 0.562672, 0.755610, 0.544825, 0.699475, + 0.618475, 0.697481, 0.591689, 0.646451, 0.674279, 0.697481, 0.640589, + 0.648182, 0.674279, 0.755610, 0.643881, 0.704751, 0.618475, 0.697481, + 0.591689, 0.646451, 0.674279, 0.755610, 0.643881, 0.704751, 0.618475, + 0.755610, 0.593298, 0.701196, 0.674279, 0.697481, 0.640589, 0.648182, + 0.730082, 0.697481, 0.692944, 0.651752, 0.730082, 0.755610, 0.698574, + 0.710864, 0.674279, 0.697481, 0.640589, 0.648182, 0.730082, 0.755610, + 0.698574, 0.710864, 0.674279, 0.755610, 0.643881, 0.704751, 0.730082, + 0.697481, 0.692944, 0.651752, 0.785886, 0.697481, 0.751514, 0.657775, + 0.785886, 0.755610, 0.760088, 0.720280, 0.730082, 0.697481, 0.692944, + 0.651752, 0.785886, 0.755610, 0.760088, 0.720280, 0.730082, 0.755610, + 0.698574, 0.710864, 0.785886, 0.697481, 0.751514, 0.657775, 0.841690, + 0.697481, 0.819720, 0.666798, 0.841690, 0.755610, 0.831804, 0.733712, + 0.785886, 0.697481, 0.751514, 0.657775, 0.841690, 0.755610, 0.831804, + 0.733712, 0.785886, 0.755610, 0.760088, 0.720280, 0.841690, 0.697481, + 0.819720, 0.666798, 0.897493, 0.697481, 0.901605, 0.679329, 0.897493, + 0.755610, 0.917739, 0.751844, 0.841690, 0.697481, 0.819720, 0.666798, + 0.897493, 0.755610, 0.917739, 0.751844, 0.841690, 0.755610, 0.831804, + 0.733712, 0.060439, 0.755610, -0.036545, 0.778537, 0.116243, 0.755610, + 0.070823, 0.754359, 0.116243, 0.813739, 0.047842, 0.837474, 0.060439, + 0.755610, -0.036545, 0.778537, 0.116243, 0.813739, 0.047842, 0.837474, + 0.060439, 0.813739, -0.065521, 0.869714, 0.116243, 0.755610, 0.070823, + 0.754359, 0.172047, 0.755610, 0.158755, 0.735619, 0.172047, 0.813739, + 0.141094, 0.812079, 0.116243, 0.755610, 0.070823, 0.754359, 0.172047, + 0.813739, 0.141094, 0.812079, 0.116243, 0.813739, 0.047842, 0.837474, + 0.172047, 0.755610, 0.158755, 0.735619, 0.227850, 0.755610, 0.231948, + 0.721661, 0.227850, 0.813739, 0.218918, 0.792714, 0.172047, 0.755610, + 0.158755, 0.735619, 0.227850, 0.813739, 0.218918, 0.792714, 0.172047, + 0.813739, 0.141094, 0.812079, 0.227850, 0.755610, 0.231948, 0.721661, + 0.283654, 0.755610, 0.294491, 0.711802, 0.283654, 0.813739, 0.285384, + 0.778548, 0.227850, 0.755610, 0.231948, 0.721661, 0.283654, 0.813739, + 0.285384, 0.778548, 0.227850, 0.813739, 0.218918, 0.792714, 0.283654, + 0.755610, 0.294491, 0.711802, 0.339457, 0.755610, 0.349843, 0.705332, + 0.339457, 0.813739, 0.343938, 0.768749, 0.283654, 0.755610, 0.294491, + 0.711802, 0.339457, 0.813739, 0.343938, 0.768749, 0.283654, 0.813739, + 0.285384, 0.778548, 0.339457, 0.755610, 0.349843, 0.705332, 0.395261, + 0.755610, 0.400798, 0.701511, 0.395261, 0.813739, 0.397384, 0.762503, + 0.339457, 0.755610, 0.349843, 0.705332, 0.395261, 0.813739, 0.397384, + 0.762503, 0.339457, 0.813739, 0.343938, 0.768749, 0.395261, 0.755610, + 0.400798, 0.701511, 0.451065, 0.755610, 0.449442, 0.699606, 0.451065, + 0.813739, 0.447893, 0.759074, 0.395261, 0.755610, 0.400798, 0.701511, + 0.451065, 0.813739, 0.447893, 0.759074, 0.395261, 0.813739, 0.397384, + 0.762503, 0.451065, 0.755610, 0.449442, 0.699606, 0.506868, 0.755610, + 0.497157, 0.699014, 0.506868, 0.813739, 0.497074, 0.757921, 0.451065, + 0.755610, 0.449442, 0.699606, 0.506868, 0.813739, 0.497074, 0.757921, + 0.451065, 0.813739, 0.447893, 0.759074, 0.506868, 0.755610, 0.497157, + 0.699014, 0.562672, 0.755610, 0.544825, 0.699475, 0.562672, 0.813739, + 0.546184, 0.758824, 0.506868, 0.755610, 0.497157, 0.699014, 0.562672, + 0.813739, 0.546184, 0.758824, 0.506868, 0.813739, 0.497074, 0.757921, + 0.562672, 0.755610, 0.544825, 0.699475, 0.618475, 0.755610, 0.593298, + 0.701196, 0.618475, 0.813739, 0.596458, 0.761957, 0.562672, 0.755610, + 0.544825, 0.699475, 0.618475, 0.813739, 0.596458, 0.761957, 0.562672, + 0.813739, 0.546184, 0.758824, 0.618475, 0.755610, 0.593298, 0.701196, + 0.674279, 0.755610, 0.643881, 0.704751, 0.674279, 0.813739, 0.649451, + 0.767831, 0.618475, 0.755610, 0.593298, 0.701196, 0.674279, 0.813739, + 0.649451, 0.767831, 0.618475, 0.813739, 0.596458, 0.761957, 0.674279, + 0.755610, 0.643881, 0.704751, 0.730082, 0.755610, 0.698574, 0.710864, + 0.730082, 0.813739, 0.707260, 0.777163, 0.674279, 0.755610, 0.643881, + 0.704751, 0.730082, 0.813739, 0.707260, 0.777163, 0.674279, 0.813739, + 0.649451, 0.767831, 0.730082, 0.755610, 0.698574, 0.710864, 0.785886, + 0.755610, 0.760088, 0.720280, 0.785886, 0.813739, 0.772611, 0.790763, + 0.730082, 0.755610, 0.698574, 0.710864, 0.785886, 0.813739, 0.772611, + 0.790763, 0.730082, 0.813739, 0.707260, 0.777163, 0.785886, 0.755610, + 0.760088, 0.720280, 0.841690, 0.755610, 0.831804, 0.733712, 0.841690, + 0.813739, 0.848875, 0.809463, 0.785886, 0.755610, 0.760088, 0.720280, + 0.841690, 0.813739, 0.848875, 0.809463, 0.785886, 0.813739, 0.772611, + 0.790763, 0.841690, 0.755610, 0.831804, 0.733712, 0.897493, 0.755610, + 0.917739, 0.751844, 0.897493, 0.813739, 0.940048, 0.834093, 0.841690, + 0.755610, 0.831804, 0.733712, 0.897493, 0.813739, 0.940048, 0.834093, + 0.841690, 0.813739, 0.848875, 0.809463, 0.060439, 0.813739, -0.065521, + 0.869714, 0.116243, 0.813739, 0.047842, 0.837474, 0.116243, 0.871868, + 0.017647, 0.934147, 0.060439, 0.813739, -0.065521, 0.869714, 0.116243, + 0.871868, 0.017647, 0.934147, 0.060439, 0.871868, -0.103098, 0.975474, + 0.116243, 0.813739, 0.047842, 0.837474, 0.172047, 0.813739, 0.141094, + 0.812079, 0.172047, 0.871868, 0.117466, 0.901121, 0.116243, 0.813739, + 0.047842, 0.837474, 0.172047, 0.871868, 0.117466, 0.901121, 0.116243, + 0.871868, 0.017647, 0.934147, 0.172047, 0.813739, 0.141094, 0.812079, + 0.227850, 0.813739, 0.218918, 0.792714, 0.227850, 0.871868, 0.201038, + 0.875446, 0.172047, 0.813739, 0.141094, 0.812079, 0.227850, 0.871868, + 0.201038, 0.875446, 0.172047, 0.871868, 0.117466, 0.901121, 0.227850, + 0.813739, 0.218918, 0.792714, 0.283654, 0.813739, 0.285384, 0.778548, + 0.283654, 0.871868, 0.272436, 0.856176, 0.227850, 0.813739, 0.218918, + 0.792714, 0.283654, 0.871868, 0.272436, 0.856176, 0.227850, 0.871868, + 0.201038, 0.875446, 0.283654, 0.813739, 0.285384, 0.778548, 0.339457, + 0.813739, 0.343938, 0.768749, 0.339457, 0.871868, 0.335125, 0.842396, + 0.283654, 0.813739, 0.285384, 0.778548, 0.339457, 0.871868, 0.335125, + 0.842396, 0.283654, 0.871868, 0.272436, 0.856176, 0.339457, 0.813739, + 0.343938, 0.768749, 0.395261, 0.813739, 0.397384, 0.762503, 0.395261, + 0.871868, 0.391973, 0.833254, 0.339457, 0.813739, 0.343938, 0.768749, + 0.395261, 0.871868, 0.391973, 0.833254, 0.339457, 0.871868, 0.335125, + 0.842396, 0.395261, 0.813739, 0.397384, 0.762503, 0.451065, 0.813739, + 0.447893, 0.759074, 0.451065, 0.871868, 0.445290, 0.828031, 0.395261, + 0.813739, 0.397384, 0.762503, 0.451065, 0.871868, 0.445290, 0.828031, + 0.395261, 0.871868, 0.391973, 0.833254, 0.451065, 0.813739, 0.447893, + 0.759074, 0.506868, 0.813739, 0.497074, 0.757921, 0.506868, 0.871868, + 0.496931, 0.826225, 0.451065, 0.813739, 0.447893, 0.759074, 0.506868, + 0.871868, 0.496931, 0.826225, 0.451065, 0.871868, 0.445290, 0.828031, + 0.506868, 0.813739, 0.497074, 0.757921, 0.562672, 0.813739, 0.546184, + 0.758824, 0.562672, 0.871868, 0.548480, 0.827642, 0.506868, 0.813739, + 0.497074, 0.757921, 0.562672, 0.871868, 0.548480, 0.827642, 0.506868, + 0.871868, 0.496931, 0.826225, 0.562672, 0.813739, 0.546184, 0.758824, + 0.618475, 0.813739, 0.596458, 0.761957, 0.618475, 0.871868, 0.601507, + 0.832436, 0.562672, 0.813739, 0.546184, 0.758824, 0.618475, 0.871868, + 0.601507, 0.832436, 0.562672, 0.871868, 0.548480, 0.827642, 0.618475, + 0.813739, 0.596458, 0.761957, 0.674279, 0.813739, 0.649451, 0.767831, + 0.674279, 0.871868, 0.657821, 0.841074, 0.618475, 0.813739, 0.596458, + 0.761957, 0.674279, 0.871868, 0.657821, 0.841074, 0.618475, 0.871868, + 0.601507, 0.832436, 0.674279, 0.813739, 0.649451, 0.767831, 0.730082, + 0.813739, 0.707260, 0.777163, 0.730082, 0.871868, 0.719672, 0.854257, + 0.674279, 0.813739, 0.649451, 0.767831, 0.730082, 0.871868, 0.719672, + 0.854257, 0.674279, 0.871868, 0.657821, 0.841074, 0.730082, 0.813739, + 0.707260, 0.777163, 0.785886, 0.813739, 0.772611, 0.790763, 0.785886, + 0.871868, 0.789858, 0.872823, 0.730082, 0.813739, 0.707260, 0.777163, + 0.785886, 0.871868, 0.789858, 0.872823, 0.730082, 0.871868, 0.719672, + 0.854257, 0.785886, 0.813739, 0.772611, 0.790763, 0.841690, 0.813739, + 0.848875, 0.809463, 0.841690, 0.871868, 0.871772, 0.897683, 0.785886, + 0.813739, 0.772611, 0.790763, 0.841690, 0.871868, 0.871772, 0.897683, + 0.785886, 0.871868, 0.789858, 0.872823, 0.841690, 0.813739, 0.848875, + 0.809463, 0.897493, 0.813739, 0.940048, 0.834093, 0.897493, 0.871868, + 0.969414, 0.929780, 0.841690, 0.813739, 0.848875, 0.809463, 0.897493, + 0.871868, 0.969414, 0.929780, 0.841690, 0.871868, 0.871772, 0.897683, + 0.060439, 0.871868, -0.103098, 0.975474, 0.116243, 0.871868, 0.017647, + 0.934147, 0.116243, 0.929996, -0.020715, 1.048707, 0.060439, 0.871868, + -0.103098, 0.975474, 0.116243, 0.929996, -0.020715, 1.048707, 0.060439, + 0.929996, -0.150280, 1.100218, 0.116243, 0.871868, 0.017647, 0.934147, + 0.172047, 0.871868, 0.117466, 0.901121, 0.172047, 0.929996, 0.086989, + 1.007034, 0.116243, 0.871868, 0.017647, 0.934147, 0.172047, 0.929996, + 0.086989, 1.007034, 0.116243, 0.929996, -0.020715, 1.048707, 0.172047, + 0.871868, 0.117466, 0.901121, 0.227850, 0.871868, 0.201038, 0.875446, + 0.227850, 0.929996, 0.177521, 0.974135, 0.172047, 0.871868, 0.117466, + 0.901121, 0.227850, 0.929996, 0.177521, 0.974135, 0.172047, 0.929996, + 0.086989, 1.007034, 0.227850, 0.871868, 0.201038, 0.875446, 0.283654, + 0.871868, 0.272436, 0.856176, 0.283654, 0.929996, 0.254983, 0.948978, + 0.227850, 0.871868, 0.201038, 0.875446, 0.283654, 0.929996, 0.254983, + 0.948978, 0.227850, 0.929996, 0.177521, 0.974135, 0.283654, 0.871868, + 0.272436, 0.856176, 0.339457, 0.871868, 0.335125, 0.842396, 0.339457, + 0.929996, 0.322896, 0.930595, 0.283654, 0.871868, 0.272436, 0.856176, + 0.339457, 0.929996, 0.322896, 0.930595, 0.283654, 0.929996, 0.254983, + 0.948978, 0.339457, 0.871868, 0.335125, 0.842396, 0.395261, 0.871868, + 0.391973, 0.833254, 0.395261, 0.929996, 0.384232, 0.918117, 0.339457, + 0.871868, 0.335125, 0.842396, 0.395261, 0.929996, 0.384232, 0.918117, + 0.339457, 0.929996, 0.322896, 0.930595, 0.395261, 0.871868, 0.391973, + 0.833254, 0.451065, 0.871868, 0.445290, 0.828031, 0.451065, 0.929996, + 0.441473, 0.910840, 0.395261, 0.871868, 0.391973, 0.833254, 0.451065, + 0.929996, 0.441473, 0.910840, 0.395261, 0.929996, 0.384232, 0.918117, + 0.451065, 0.871868, 0.445290, 0.828031, 0.506868, 0.871868, 0.496931, + 0.826225, 0.506868, 0.929996, 0.496719, 0.908291, 0.451065, 0.871868, + 0.445290, 0.828031, 0.506868, 0.929996, 0.496719, 0.908291, 0.451065, + 0.929996, 0.441473, 0.910840, 0.506868, 0.871868, 0.496931, 0.826225, + 0.562672, 0.871868, 0.548480, 0.827642, 0.562672, 0.929996, 0.551855, + 0.910293, 0.506868, 0.871868, 0.496931, 0.826225, 0.562672, 0.929996, + 0.551855, 0.910293, 0.506868, 0.929996, 0.496719, 0.908291, 0.562672, + 0.871868, 0.548480, 0.827642, 0.618475, 0.871868, 0.601507, 0.832436, + 0.618475, 0.929996, 0.608753, 0.916985, 0.562672, 0.871868, 0.548480, + 0.827642, 0.618475, 0.929996, 0.608753, 0.916985, 0.562672, 0.929996, + 0.551855, 0.910293, 0.618475, 0.871868, 0.601507, 0.832436, 0.674279, + 0.871868, 0.657821, 0.841074, 0.674279, 0.929996, 0.669477, 0.928808, + 0.618475, 0.871868, 0.601507, 0.832436, 0.674279, 0.929996, 0.669477, + 0.928808, 0.618475, 0.929996, 0.608753, 0.916985, 0.674279, 0.871868, + 0.657821, 0.841074, 0.730082, 0.871868, 0.719672, 0.854257, 0.730082, + 0.929996, 0.736458, 0.946442, 0.674279, 0.871868, 0.657821, 0.841074, + 0.730082, 0.929996, 0.736458, 0.946442, 0.674279, 0.929996, 0.669477, + 0.928808, 0.730082, 0.871868, 0.719672, 0.854257, 0.785886, 0.871868, + 0.789858, 0.872823, 0.785886, 0.929996, 0.812604, 0.970739, 0.730082, + 0.871868, 0.719672, 0.854257, 0.785886, 0.929996, 0.812604, 0.970739, + 0.730082, 0.929996, 0.736458, 0.946442, 0.785886, 0.871868, 0.789858, + 0.872823, 0.841690, 0.871868, 0.871772, 0.897683, 0.841690, 0.929996, + 0.901369, 1.002659, 0.785886, 0.871868, 0.789858, 0.872823, 0.841690, + 0.929996, 0.901369, 1.002659, 0.785886, 0.929996, 0.812604, 0.970739, + 0.841690, 0.871868, 0.871772, 0.897683, 0.897493, 0.871868, 0.969414, + 0.929780, 0.897493, 0.929996, 1.006785, 1.043228, 0.841690, 0.871868, + 0.871772, 0.897683, 0.897493, 0.929996, 1.006785, 1.043228, 0.841690, + 0.929996, 0.901369, 1.002659, +}; diff --git a/src/xrt/drivers/ohmd/oh_device.c b/src/xrt/drivers/ohmd/oh_device.c index 716a6062442310b14b30c2b59536a5a9b466ddeb..e326f4938e876652db41686b5bf4b595736b5753 100644 --- a/src/xrt/drivers/ohmd/oh_device.c +++ b/src/xrt/drivers/ohmd/oh_device.c @@ -311,9 +311,8 @@ oh_device_create(ohmd_context *ctx, // clang-format off // Main display. - //FIXME: was PANOTOOLS - ohd->base.distortion.models = XRT_DISTORTION_MODEL_MESHUV; - ohd->base.distortion.preferred = XRT_DISTORTION_MODEL_MESHUV; + ohd->base.distortion.models = XRT_DISTORTION_MODEL_PANOTOOLS; + ohd->base.distortion.preferred = XRT_DISTORTION_MODEL_PANOTOOLS; ohd->base.screens[0].w_pixels = info.display.w_pixels; ohd->base.screens[0].h_pixels = info.display.h_pixels; ohd->base.distortion.pano.distortion_k[0] = info.pano_distortion_k[0]; diff --git a/src/xrt/state_trackers/oxr/oxr_system.c b/src/xrt/state_trackers/oxr/oxr_system.c index efd0fa01c2187594f1487380dd0b660a8ec49065..26e935abcad37691f63edae47baf3e0e4a2e6c5f 100644 --- a/src/xrt/state_trackers/oxr/oxr_system.c +++ b/src/xrt/state_trackers/oxr/oxr_system.c @@ -98,10 +98,6 @@ oxr_system_fill_in(struct oxr_logger *log, } sys->num_blend_modes = i; - //FIXME: added by pete - xdev->distortion.models = XRT_DISTORTION_MODEL_MESHUV; - xdev->distortion.preferred = XRT_DISTORTION_MODEL_MESHUV; - assert(i < ARRAY_SIZE(sys->blend_modes)); // clang-format on