diff --git a/LastSession.t4jlog b/LastSession.t4jlog index 749e30a..fc0f6d7 100644 --- a/LastSession.t4jlog +++ b/LastSession.t4jlog @@ -1,870 +1,883 @@ -186:07:2026 17:56:16.699 INFO: +187:07:2026 22:37:12.231 INFO: Launching New Terrain4J Powered Software! -186:07:2026 17:56:16.702 DEBUG: File [terrain4j.properties] read -186:07:2026 17:56:16.706 DEBUG: +187:07:2026 22:37:12.234 DEBUG: File [terrain4j.properties] read +187:07:2026 22:37:12.238 DEBUG: successfully loaded configuration: {compatibility_mode=false, ShaderRecompiling=true, cap_main_to_tickrate=true, LoadingScreenLocation=resources/EngineResources/Texture/Terrain4JTitleImage.png, z_near_plane=10000.0f, display_width=640, anti_alias_mode=0, main_thread_tickrate=120, Software_Icon=ProgramIcon.png, MaxAllowedVulkanCrashes=10, throttle_on_unfocus=true, vsync=false, cap_fast_to_tickrate=true, Software_Icon_Path=/WindowResources/Icon/, RequestedImages=3, throttle_accuracy=100000000, DualPassRendering=false, field_of_view=60.0f, ShadowMapSize=2048, PhysicalDeviceName=, fast_thread_tickrate=240, vkValidated=true, cap_master_to_tickrate=true, AlphaToCoverage=false, display_height=480, Renderer=1, Software_Title=Terrain4J Game Engine, z_far_plane=0.1f, frame_accuracy=0, master_tick_rate=240, Debug_Shaders=false, DefaultTexturePath=resources/EngineResources/Texture/NoTexture.png} -186:07:2026 17:56:16.969 DEBUG: Loading Icon From Location [src\main\resources\WindowResources\Icon\ProgramIcon.png] -186:07:2026 17:56:16.986 DEBUG: Freeing icon Buffer -186:07:2026 17:56:17.166 DEBUG: Loading Models From [resources/models/cube/Cube.json] -186:07:2026 17:56:17.193 DEBUG: Loaded Model Data: [ModelData[ID=Cube, Meshes=[MeshData[ID=mesh_0, MaterialID=Cube-mat-1, OffsetVertex=0, VertexSize=1344, OffsetIndex=0, IndexSize=144]], VertexPath=resources/models/cube/Cube.vtx, IndexPath=resources/models/cube/Cube.idx]] -186:07:2026 17:56:17.193 DEBUG: Loading Materials From [resources/models/cube/Cube_mat.json] -186:07:2026 17:56:17.198 DEBUG: Loaded Material Data: [[MaterialData[ID=Cube-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=Cube-mat-1, TexturePath=resources\models\cube\cubetexture.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=Cube-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]]] -186:07:2026 17:56:17.225 DEBUG: Starting Main Thread -186:07:2026 17:56:17.225 DEBUG: Starting Fast Thread -186:07:2026 17:56:17.228 DEBUG: Initialising Vulkan Instance -186:07:2026 17:56:17.240 DEBUG: Validation Layer Count:12 -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_AMD_switchable_graphics] -186:07:2026 17:56:17.242 TRACE: Supported Layer [GalaxyOverlayVkLayer] -186:07:2026 17:56:17.242 TRACE: Supported Layer [GalaxyOverlayVkLayer_VERBOSE] -186:07:2026 17:56:17.242 TRACE: Supported Layer [GalaxyOverlayVkLayer_DEBUG] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_EOS_Overlay] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_RENDERDOC_Capture] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_OW_OVERLAY] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_OW_OBS_HOOK] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_VALVE_steam_overlay] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_VALVE_steam_fossilize] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_OBS_HOOK] -186:07:2026 17:56:17.242 TRACE: Supported Layer [VK_LAYER_ROCKSTAR_GAMES_social_club] -186:07:2026 17:56:17.242 WARN: No Layers Found to Validate, continuing without validation -186:07:2026 17:56:17.242 DEBUG: Validation:false -186:07:2026 17:56:17.246 DEBUG: Instance Extension Count:[14] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_device_group_creation] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_external_fence_capabilities] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_external_memory_capabilities] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_external_semaphore_capabilities] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_get_physical_device_properties2] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_get_surface_capabilities2] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_surface] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_win32_surface] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_EXT_debug_report] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_EXT_debug_utils] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_EXT_swapchain_colorspace] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_surface_maintenance1] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_KHR_portability_enumeration] -186:07:2026 17:56:17.249 TRACE: Supported Instance Extension [VK_LUNARG_direct_driver_loading] -186:07:2026 17:56:17.320 DEBUG: selecting physical devices -186:07:2026 17:56:17.321 DEBUG: Detected Physical Device Count: 2 -186:07:2026 17:56:17.331 DEBUG: freeing physical device [AMD Radeon(TM) Graphics] -186:07:2026 17:56:17.331 DEBUG: Selected Graphics Driver: [AMD Radeon RX 9070 XT] -186:07:2026 17:56:17.331 DEBUG: Creating Device Interface Layer -186:07:2026 17:56:17.331 TRACE: Device supports [221] number of extensions -186:07:2026 17:56:17.331 TRACE: [VK_KHR_16bit_storage] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_8bit_storage] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_acceleration_structure] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_bind_memory2] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_buffer_device_address] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_calibrated_timestamps] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_compute_shader_derivatives] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_cooperative_matrix] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_copy_commands2] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_copy_memory_indirect] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_create_renderpass2] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_dedicated_allocation] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_deferred_host_operations] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_depth_clamp_zero_one] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_depth_stencil_resolve] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_descriptor_update_template] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_device_address_commands] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_device_group] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_draw_indirect_count] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_driver_properties] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_dynamic_rendering] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_dynamic_rendering_local_read] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_external_fence] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_external_fence_win32] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_external_memory] is a supported extension -186:07:2026 17:56:17.331 TRACE: [VK_KHR_external_memory_win32] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_external_semaphore] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_external_semaphore_win32] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_format_feature_flags2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_fragment_shader_barycentric] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_fragment_shading_rate] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_get_memory_requirements2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_global_priority] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_imageless_framebuffer] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_image_format_list] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_index_type_uint8] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_line_rasterization] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_load_store_op_none] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance1] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance3] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance4] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance5] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance6] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance7] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance8] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance9] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance10] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_maintenance11] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_map_memory2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_multiview] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_pipeline_binary] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_pipeline_executable_properties] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_pipeline_library] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_present_id2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_present_mode_fifo_latest_ready] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_present_wait2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_push_descriptor] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_ray_query] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_ray_tracing_maintenance1] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_ray_tracing_pipeline] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_ray_tracing_position_fetch] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_relaxed_block_layout] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_robustness2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_sampler_mirror_clamp_to_edge] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_sampler_ycbcr_conversion] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_separate_depth_stencil_layouts] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_atomic_int64] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_bfloat16] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_clock] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_draw_parameters] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_expect_assume] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_float16_int8] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_float_controls] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_float_controls2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_fma] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_integer_dot_product] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_maximal_reconvergence] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_non_semantic_info] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_quad_control] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_subgroup_extended_types] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_subgroup_rotate] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_subgroup_uniform_control_flow] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_terminate_invocation] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_shader_untyped_pointers] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_spirv_1_4] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_storage_buffer_storage_class] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_swapchain] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_swapchain_maintenance1] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_swapchain_mutable_format] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_synchronization2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_timeline_semaphore] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_uniform_buffer_standard_layout] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_variable_pointers] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_vertex_attribute_divisor] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_decode_av1] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_decode_h264] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_decode_h265] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_decode_queue] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_decode_vp9] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_encode_av1] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_encode_h264] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_encode_h265] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_encode_intra_refresh] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_encode_quantization_map] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_encode_queue] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_maintenance1] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_video_queue] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_vulkan_memory_model] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_win32_keyed_mutex] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_workgroup_memory_explicit_layout] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_KHR_zero_initialize_workgroup_memory] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_4444_formats] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_attachment_feedback_loop_layout] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_border_color_swizzle] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_calibrated_timestamps] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_color_write_enable] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_conditional_rendering] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_conservative_rasterization] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_custom_border_color] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_depth_clamp_control] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_depth_clamp_zero_one] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_depth_clip_control] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_depth_clip_enable] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_depth_range_unrestricted] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_descriptor_buffer] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_descriptor_heap] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_descriptor_indexing] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_device_address_binding_report] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_device_fault] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_device_generated_commands] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_dynamic_rendering_unused_attachments] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_extended_dynamic_state] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_extended_dynamic_state2] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_extended_dynamic_state3] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_external_memory_host] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_fragment_shader_interlock] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_frame_boundary] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_full_screen_exclusive] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_global_priority] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_global_priority_query] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_graphics_pipeline_library] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_hdr_metadata] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_host_image_copy] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_host_query_reset] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_image_2d_view_of_3d] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_image_robustness] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_image_sliced_view_of_3d] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_image_view_min_lod] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_index_type_uint8] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_inline_uniform_block] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_line_rasterization] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_load_store_op_none] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_memory_budget] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_memory_priority] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_mesh_shader] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_mutable_descriptor_type] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_nested_command_buffer] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_non_seamless_cube_map] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_pageable_device_local_memory] is a supported extension -186:07:2026 17:56:17.332 TRACE: [VK_EXT_pipeline_creation_cache_control] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_pipeline_creation_feedback] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_pipeline_library_group_handles] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_post_depth_coverage] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_present_mode_fifo_latest_ready] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_primitive_topology_list_restart] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_primitives_generated_query] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_private_data] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_provoking_vertex] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_queue_family_foreign] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_ray_tracing_invocation_reorder] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_robustness2] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_sampler_filter_minmax] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_sample_locations] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_scalar_block_layout] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_separate_stencil_usage] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_atomic_float] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_atomic_float2] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_demote_to_helper_invocation] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_float8] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_image_atomic_int64] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_long_vector] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_module_identifier] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_object] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_replicated_composites] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_stencil_export] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_subgroup_ballot] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_subgroup_vote] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_uniform_buffer_unsized_array] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_shader_viewport_index_layer] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_subgroup_size_control] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_texel_buffer_alignment] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_tooling_info] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_transform_feedback] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_vertex_attribute_divisor] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_vertex_input_dynamic_state] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_EXT_ycbcr_image_arrays] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_anti_lag] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_buffer_marker] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_device_coherent_memory] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_display_native_hdr] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_draw_indirect_count] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_gcn_shader] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_gpa_interface] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_gpu_shader_half_float] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_gpu_shader_int16] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_memory_overallocation_behavior] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_mixed_attachment_samples] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_ballot] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_core_properties] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_core_properties2] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_early_and_late_fragment_tests] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_explicit_vertex_parameter] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_image_load_store_lod] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_info] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMD_shader_trinary_minmax] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_AMDX_dense_geometry_format] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_GOOGLE_decorate_string] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_GOOGLE_hlsl_functionality1] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_GOOGLE_user_type] is a supported extension -186:07:2026 17:56:17.333 TRACE: [VK_VALVE_mutable_descriptor_type] is a supported extension -186:07:2026 17:56:17.409 DEBUG: Creating Vulkan Surface -186:07:2026 17:56:17.413 DEBUG: Creating Vulkan SwapChain -186:07:2026 17:56:17.473 DEBUG: Creating new Vk Pipeline Cache -186:07:2026 17:56:17.475 DEBUG: Creating Descriptor Allocator -186:07:2026 17:56:17.476 DEBUG: Creating Descriptor pool -186:07:2026 17:56:17.484 DEBUG: Vulkan: Creating A Queue -186:07:2026 17:56:17.486 DEBUG: Vulkan: Creating A Queue -186:07:2026 17:56:17.487 DEBUG: Creating Vulkan Command Pool -186:07:2026 17:56:17.487 DEBUG: Creating Command Buffer -186:07:2026 17:56:17.489 DEBUG: Creating Vulkan Command Pool -186:07:2026 17:56:17.489 DEBUG: Creating Command Buffer -186:07:2026 17:56:17.515 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] -186:07:2026 17:56:17.515 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_fragment_deferred.glsl.spv] -186:07:2026 17:56:17.519 DEBUG: Creating Pipeline -186:07:2026 17:56:17.522 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.522 DEBUG: created render info -186:07:2026 17:56:17.522 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.523 DEBUG: created PipelineLayout -186:07:2026 17:56:17.523 DEBUG: created vertexInputState -186:07:2026 17:56:17.524 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.525 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.525 DEBUG: Pipeline Created -186:07:2026 17:56:17.526 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] -186:07:2026 17:56:17.527 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_opaque_fragment_deferred.glsl.spv] -186:07:2026 17:56:17.527 DEBUG: Creating Pipeline -186:07:2026 17:56:17.527 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.527 DEBUG: created render info -186:07:2026 17:56:17.527 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.527 DEBUG: created PipelineLayout -186:07:2026 17:56:17.527 DEBUG: created vertexInputState -186:07:2026 17:56:17.527 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.527 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.527 DEBUG: Pipeline Created -186:07:2026 17:56:17.528 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] -186:07:2026 17:56:17.528 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_translucent_fragment_deferred.glsl.spv] -186:07:2026 17:56:17.528 DEBUG: Creating Pipeline -186:07:2026 17:56:17.528 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.528 DEBUG: created render info -186:07:2026 17:56:17.528 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.528 DEBUG: created PipelineLayout -186:07:2026 17:56:17.528 DEBUG: created vertexInputState -186:07:2026 17:56:17.528 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.528 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.528 DEBUG: Pipeline Created -186:07:2026 17:56:17.528 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_vertex.glsl.spv] -186:07:2026 17:56:17.529 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_fragment.glsl.spv] -186:07:2026 17:56:17.529 DEBUG: Creating Pipeline -186:07:2026 17:56:17.529 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.529 DEBUG: created render info -186:07:2026 17:56:17.529 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.529 DEBUG: created PipelineLayout -186:07:2026 17:56:17.529 DEBUG: created vertexInputState -186:07:2026 17:56:17.529 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.529 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.529 DEBUG: Skybox Pipeline Created Successfully -186:07:2026 17:56:17.529 DEBUG: Deferred Renderer Pipeline -> [1447693036128] -186:07:2026 17:56:17.532 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_vertex.glsl.spv] -186:07:2026 17:56:17.533 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_frag.glsl.spv] -186:07:2026 17:56:17.535 DEBUG: Creating Pipeline -186:07:2026 17:56:17.535 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.535 DEBUG: created render info -186:07:2026 17:56:17.535 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.535 DEBUG: created PipelineLayout -186:07:2026 17:56:17.535 DEBUG: created vertexInputState -186:07:2026 17:56:17.535 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.535 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.535 DEBUG: Light Renderer Pipeline -> [1447693244496] -186:07:2026 17:56:17.538 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_vtx.glsl.spv] -186:07:2026 17:56:17.539 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_frag.glsl.spv] -186:07:2026 17:56:17.539 DEBUG: Creating Pipeline -186:07:2026 17:56:17.539 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.539 DEBUG: created render info -186:07:2026 17:56:17.539 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.539 DEBUG: created PipelineLayout -186:07:2026 17:56:17.539 DEBUG: created vertexInputState -186:07:2026 17:56:17.539 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.540 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.540 DEBUG: Post Process Renderer Pipeline -> [1447693274304] -186:07:2026 17:56:17.540 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_vertex.glsl.spv] -186:07:2026 17:56:17.540 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_frag.glsl.spv] -186:07:2026 17:56:17.542 DEBUG: Creating Pipeline -186:07:2026 17:56:17.542 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.542 DEBUG: created render info -186:07:2026 17:56:17.542 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.542 DEBUG: created PipelineLayout -186:07:2026 17:56:17.542 DEBUG: created vertexInputState -186:07:2026 17:56:17.542 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.542 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.600 DEBUG: Creating Vulkan Command Pool -186:07:2026 17:56:17.600 DEBUG: Creating Command Buffer -186:07:2026 17:56:17.612 TRACE: Destroyed Command Buffer -186:07:2026 17:56:17.613 DEBUG: Destroying Vulkan Command Pool -186:07:2026 17:56:17.616 DEBUG: GUI Renderer Pipeline -> [1447693292464] -186:07:2026 17:56:17.617 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_vtx.glsl.spv] -186:07:2026 17:56:17.617 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_frag.glsl.spv] -186:07:2026 17:56:17.617 DEBUG: Creating Pipeline -186:07:2026 17:56:17.617 DEBUG: registered Descriptor sets -186:07:2026 17:56:17.617 DEBUG: created render info -186:07:2026 17:56:17.617 DEBUG: created BlendAttributeStates -186:07:2026 17:56:17.617 DEBUG: created PipelineLayout -186:07:2026 17:56:17.617 DEBUG: created vertexInputState -186:07:2026 17:56:17.617 DEBUG: created PipelineCreateInfo -186:07:2026 17:56:17.617 DEBUG: created GraphicsPipeline -186:07:2026 17:56:17.617 DEBUG: Swap Chain Renderer Pipeline -> [1447694268672] -186:07:2026 17:56:17.620 DEBUG: Starting Render Thread -186:07:2026 17:56:17.620 DEBUG: Loading 3 Materials -186:07:2026 17:56:17.621 DEBUG: Creating Command Buffer -186:07:2026 17:56:17.622 DEBUG: Material Texture Path -> [] -186:07:2026 17:56:17.623 TRACE: MaterialData[ID=Cube-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] -186:07:2026 17:56:17.623 DEBUG: Material Texture Path -> [resources\models\cube\cubetexture.png] -186:07:2026 17:56:17.623 DEBUG: Loading Image [resources\models\cube\cubetexture.png] -186:07:2026 17:56:17.624 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] -186:07:2026 17:56:17.624 TRACE: MaterialData[ID=Cube-mat-1, TexturePath=resources\models\cube\cubetexture.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] -186:07:2026 17:56:17.624 DEBUG: Material Texture Path -> [] -186:07:2026 17:56:17.624 TRACE: MaterialData[ID=Cube-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] -186:07:2026 17:56:17.627 TRACE: Destroyed Command Buffer -186:07:2026 17:56:17.627 DEBUG: Loaded 3 Materials -186:07:2026 17:56:17.627 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] -186:07:2026 17:56:17.664 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16777216 cap=16777216]] -186:07:2026 17:56:17.672 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] -186:07:2026 17:56:17.709 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -186:07:2026 17:56:17.710 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyLeft.png] -186:07:2026 17:56:17.748 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -186:07:2026 17:56:17.749 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyUp.png] -186:07:2026 17:56:17.799 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -186:07:2026 17:56:17.800 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyDown.png] -186:07:2026 17:56:17.832 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -186:07:2026 17:56:17.833 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyFront.png] -186:07:2026 17:56:17.869 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -186:07:2026 17:56:17.870 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyBack.png] -186:07:2026 17:56:17.910 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -186:07:2026 17:56:18.095 DEBUG: Loading Image [resources/EngineResources/Texture/Terrain4JTitleImage.png] -186:07:2026 17:56:18.096 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=198720 cap=198720]] -186:07:2026 17:56:18.096 DEBUG: Loading Image [resources/EngineResources/Texture/Billy.png] -186:07:2026 17:56:18.110 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=7613760 cap=7613760]] -186:07:2026 17:56:18.110 DEBUG: Transitioning Textures -186:07:2026 17:56:18.110 DEBUG: Recording Texture Transition -186:07:2026 17:56:18.110 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.115 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.115 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.120 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.120 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.124 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.124 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.128 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.128 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.132 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.132 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.136 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.136 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.141 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.141 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.145 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.145 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.148 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.148 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.152 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.152 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.156 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.156 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.160 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.160 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.164 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.164 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.169 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.169 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.172 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.172 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.176 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.176 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.181 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.181 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.185 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.185 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.189 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.189 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.193 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.193 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.197 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.197 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.202 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.202 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.205 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.205 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.210 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.210 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.213 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.213 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.217 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.217 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.222 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.222 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.225 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.225 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.240 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.241 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.245 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.245 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.249 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.249 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.254 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.254 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.258 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.258 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.261 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.261 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.265 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.266 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.270 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.270 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.273 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.273 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.277 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.277 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.282 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.282 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.286 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.286 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.290 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.290 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.294 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.294 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.298 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.298 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.303 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.303 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.306 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.306 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.311 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.311 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.314 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.315 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.319 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.319 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.322 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.322 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.326 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.326 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.330 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.330 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.334 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.334 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.338 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.338 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.343 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.343 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.347 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.347 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.350 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.350 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.355 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.355 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.358 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.358 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.362 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.362 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.367 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.367 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.371 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.371 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.375 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.375 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.379 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.379 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.383 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.383 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.387 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.387 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.390 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.390 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.395 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.395 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.399 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.399 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.403 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.403 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.407 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.407 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.411 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.411 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.415 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.415 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.419 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.419 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.422 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.422 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.426 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.426 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.430 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.430 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.435 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.435 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.439 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.439 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.442 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.442 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.446 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.446 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.450 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.450 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.455 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.455 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.458 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.458 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.462 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.462 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.466 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.466 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.470 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.470 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.474 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.474 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.478 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.478 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.482 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.482 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.486 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.486 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.490 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.490 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.494 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.494 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.498 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.498 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.502 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.502 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.506 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.506 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.511 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.511 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.515 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.515 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.519 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.519 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.523 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.523 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.526 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.526 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.530 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.531 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.534 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.534 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.538 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.538 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.543 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.543 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.547 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.547 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.550 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.550 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.555 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.555 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.558 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.558 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.562 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.562 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.566 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.566 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.570 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.570 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.574 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.574 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.592 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.592 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.596 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.596 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.600 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.600 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.605 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.605 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.609 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.609 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.613 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.613 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.617 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.617 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.621 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.621 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.625 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.625 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.629 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.629 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.633 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.633 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -186:07:2026 17:56:18.637 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -186:07:2026 17:56:18.637 DEBUG: Creating Command Buffer -186:07:2026 17:56:18.656 TRACE: Destroyed Command Buffer -186:07:2026 17:56:18.672 DEBUG: Recorded Texture Transition -186:07:2026 17:56:18.672 DEBUG: Transitioned Textures -186:07:2026 17:56:18.672 DEBUG: Loading 1 models -186:07:2026 17:56:18.674 DEBUG: Creating Command Buffer -186:07:2026 17:56:18.674 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[mesh_0] VertexSize=[1344] -186:07:2026 17:56:18.675 TRACE: Destroyed Command Buffer -186:07:2026 17:56:18.692 DEBUG: Loaded 1 models -186:07:2026 17:56:18.692 DEBUG: Fetching Texture -> [SKYBOX_TEXTURE] -186:07:2026 17:56:18.692 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Terrain4JTitleImage.png] -186:07:2026 17:56:18.692 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Billy.png] -186:07:2026 17:56:18.772 INFO: Launched Terrain4J Engine -186:07:2026 17:56:18.772 DEBUG: Primary Thread Started -186:07:2026 17:56:18.772 DEBUG: Render Thread Started -186:07:2026 17:56:18.772 DEBUG: Main Thread Started -186:07:2026 17:56:18.772 DEBUG: Fast Thread Started -186:07:2026 17:56:32.826 DEBUG: Closing Software of name [Terrain4J Game Engine] -186:07:2026 17:56:32.826 DEBUG: Closing Main Thread, Thread: [Thread[#41,Terrain4J Main Engine Thread,5,main]] -186:07:2026 17:56:32.827 DEBUG: Waiting Vulkan Context -186:07:2026 17:56:32.827 DEBUG: destroying Pipeline -186:07:2026 17:56:32.827 DEBUG: destroying Pipeline -186:07:2026 17:56:32.827 DEBUG: destroying Pipeline -186:07:2026 17:56:32.827 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.827 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.827 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.827 DEBUG: Destroying Image View -186:07:2026 17:56:32.827 DEBUG: Destroying Image View -186:07:2026 17:56:32.828 DEBUG: Destroying Image View -186:07:2026 17:56:32.828 DEBUG: Destroying Image View -186:07:2026 17:56:32.830 DEBUG: Destroying Image View -186:07:2026 17:56:32.830 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.830 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.830 DEBUG: destroying Pipeline -186:07:2026 17:56:32.830 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.830 DEBUG: Destroying Image View -186:07:2026 17:56:32.831 DEBUG: Destroying Image View -186:07:2026 17:56:32.831 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.831 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.831 DEBUG: destroying Pipeline -186:07:2026 17:56:32.831 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.831 DEBUG: destroying Pipeline -186:07:2026 17:56:32.832 DEBUG: Destroying Image View -186:07:2026 17:56:32.832 DEBUG: Destroying Descriptor Set Layout -186:07:2026 17:56:32.832 DEBUG: destroying Pipeline -186:07:2026 17:56:32.832 DEBUG: Destroying Image View -186:07:2026 17:56:32.833 DEBUG: Destroying Image View -186:07:2026 17:56:32.833 DEBUG: Destroying Image View -186:07:2026 17:56:32.833 DEBUG: Destroying Image View -186:07:2026 17:56:32.833 DEBUG: Destroying Image View -186:07:2026 17:56:32.833 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.834 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Closing Fast Thread, Thread: [Thread[#42,Terrain4J Fast Engine Thread,5,main]] -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.835 DEBUG: Destroying Image View -186:07:2026 17:56:32.836 DEBUG: Destroying Image View -186:07:2026 17:56:32.836 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.837 DEBUG: Destroying Image View -186:07:2026 17:56:32.838 DEBUG: Destroyed Window -186:07:2026 17:56:32.845 DEBUG: Destroyed Window -186:07:2026 17:56:32.845 DEBUG: Process still running: [[Thread[#37,Notification Thread,9,system], Thread[#18,Signal Dispatcher,9,system], Thread[#38,Common-Cleaner,8,InnocuousThreadGroup], Thread[#16,Reference Handler,10,system], Thread[#65,Terrain4J Render Engine Thread,5,main], Thread[#19,Attach Listener,5,system], Thread[#3,Terrain4J Primary Runtime Thread,5,main], Thread[#17,Finalizer,8,system], Thread[#39,tinylog-WritingThread,1,main]]] -186:07:2026 17:56:32.845 DEBUG: Waiting to close Primary Thread, making sure vulkan has shut down properly first and Engine Threads are closed -Threads Open:[1] +187:07:2026 22:37:12.487 DEBUG: Loading Icon From Location [src\main\resources\WindowResources\Icon\ProgramIcon.png] +187:07:2026 22:37:12.503 DEBUG: Freeing icon Buffer +187:07:2026 22:37:12.692 DEBUG: Loading Models From [resources/models/cube/Cube.json] +187:07:2026 22:37:12.719 DEBUG: Loaded Model Data: [ModelData[ID=Cube, Meshes=[MeshData[ID=mesh_0, MaterialID=Cube-mat-1, OffsetVertex=0, VertexSize=1344, OffsetIndex=0, IndexSize=144]], VertexPath=resources/models/cube/Cube.vtx, IndexPath=resources/models/cube/Cube.idx]] +187:07:2026 22:37:12.719 DEBUG: Loading Materials From [resources/models/cube/Cube_mat.json] +187:07:2026 22:37:12.725 DEBUG: Loaded Material Data: [[MaterialData[ID=Cube-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=Cube-mat-1, TexturePath=resources\models\cube\cubetexture.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=Cube-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]]] +187:07:2026 22:37:12.732 DEBUG: Loading Models From [resources/models/musket/musket.json] +187:07:2026 22:37:12.733 DEBUG: Loaded Model Data: [ModelData[ID=musket, Meshes=[MeshData[ID=cube_0, MaterialID=musket-mat-1, OffsetVertex=0, VertexSize=25088, OffsetIndex=0, IndexSize=2880]], VertexPath=resources/models/musket/musket.vtx, IndexPath=resources/models/musket/musket.idx]] +187:07:2026 22:37:12.733 DEBUG: Loading Materials From [resources/models/musket/musket_mat.json] +187:07:2026 22:37:12.734 DEBUG: Loaded Material Data: [[MaterialData[ID=musket-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=musket-mat-1, TexturePath=resources\models\musket\Musket.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=musket-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]]] +187:07:2026 22:37:12.756 DEBUG: Starting Main Thread +187:07:2026 22:37:12.757 DEBUG: Starting Fast Thread +187:07:2026 22:37:12.759 DEBUG: Initialising Vulkan Instance +187:07:2026 22:37:12.769 DEBUG: Validation Layer Count:12 +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_AMD_switchable_graphics] +187:07:2026 22:37:12.772 TRACE: Supported Layer [GalaxyOverlayVkLayer] +187:07:2026 22:37:12.772 TRACE: Supported Layer [GalaxyOverlayVkLayer_VERBOSE] +187:07:2026 22:37:12.772 TRACE: Supported Layer [GalaxyOverlayVkLayer_DEBUG] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_EOS_Overlay] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_RENDERDOC_Capture] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_OW_OVERLAY] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_OW_OBS_HOOK] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_VALVE_steam_overlay] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_VALVE_steam_fossilize] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_OBS_HOOK] +187:07:2026 22:37:12.772 TRACE: Supported Layer [VK_LAYER_ROCKSTAR_GAMES_social_club] +187:07:2026 22:37:12.772 WARN: No Layers Found to Validate, continuing without validation +187:07:2026 22:37:12.772 DEBUG: Validation:false +187:07:2026 22:37:12.775 DEBUG: Instance Extension Count:[14] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_device_group_creation] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_external_fence_capabilities] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_external_memory_capabilities] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_external_semaphore_capabilities] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_get_physical_device_properties2] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_get_surface_capabilities2] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_surface] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_win32_surface] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_EXT_debug_report] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_EXT_debug_utils] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_EXT_swapchain_colorspace] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_surface_maintenance1] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_KHR_portability_enumeration] +187:07:2026 22:37:12.777 TRACE: Supported Instance Extension [VK_LUNARG_direct_driver_loading] +187:07:2026 22:37:12.851 DEBUG: selecting physical devices +187:07:2026 22:37:12.852 DEBUG: Detected Physical Device Count: 2 +187:07:2026 22:37:12.864 DEBUG: freeing physical device [AMD Radeon(TM) Graphics] +187:07:2026 22:37:12.864 DEBUG: Selected Graphics Driver: [AMD Radeon RX 9070 XT] +187:07:2026 22:37:12.865 DEBUG: Creating Device Interface Layer +187:07:2026 22:37:12.866 TRACE: Device supports [221] number of extensions +187:07:2026 22:37:12.866 TRACE: [VK_KHR_16bit_storage] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_8bit_storage] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_acceleration_structure] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_bind_memory2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_buffer_device_address] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_calibrated_timestamps] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_compute_shader_derivatives] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_cooperative_matrix] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_copy_commands2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_copy_memory_indirect] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_create_renderpass2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_dedicated_allocation] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_deferred_host_operations] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_depth_clamp_zero_one] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_depth_stencil_resolve] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_descriptor_update_template] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_device_address_commands] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_device_group] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_draw_indirect_count] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_driver_properties] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_dynamic_rendering] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_dynamic_rendering_local_read] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_external_fence] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_external_fence_win32] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_external_memory] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_external_memory_win32] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_external_semaphore] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_external_semaphore_win32] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_format_feature_flags2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_fragment_shader_barycentric] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_fragment_shading_rate] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_get_memory_requirements2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_global_priority] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_imageless_framebuffer] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_image_format_list] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_index_type_uint8] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_line_rasterization] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_load_store_op_none] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance1] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance3] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance4] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance5] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance6] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance7] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance8] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance9] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance10] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_maintenance11] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_map_memory2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_multiview] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_pipeline_binary] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_pipeline_executable_properties] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_pipeline_library] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_present_id2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_present_mode_fifo_latest_ready] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_present_wait2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_push_descriptor] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_ray_query] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_ray_tracing_maintenance1] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_ray_tracing_pipeline] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_ray_tracing_position_fetch] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_relaxed_block_layout] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_robustness2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_sampler_mirror_clamp_to_edge] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_sampler_ycbcr_conversion] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_separate_depth_stencil_layouts] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_atomic_int64] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_bfloat16] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_clock] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_draw_parameters] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_expect_assume] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_float16_int8] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_float_controls] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_float_controls2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_fma] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_integer_dot_product] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_maximal_reconvergence] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_non_semantic_info] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_quad_control] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_subgroup_extended_types] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_subgroup_rotate] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_subgroup_uniform_control_flow] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_terminate_invocation] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_shader_untyped_pointers] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_spirv_1_4] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_storage_buffer_storage_class] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_swapchain] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_swapchain_maintenance1] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_swapchain_mutable_format] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_synchronization2] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_timeline_semaphore] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_uniform_buffer_standard_layout] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_variable_pointers] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_vertex_attribute_divisor] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_decode_av1] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_decode_h264] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_decode_h265] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_decode_queue] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_decode_vp9] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_encode_av1] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_encode_h264] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_encode_h265] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_encode_intra_refresh] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_encode_quantization_map] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_encode_queue] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_maintenance1] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_video_queue] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_vulkan_memory_model] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_win32_keyed_mutex] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_workgroup_memory_explicit_layout] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_KHR_zero_initialize_workgroup_memory] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_4444_formats] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_attachment_feedback_loop_layout] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_border_color_swizzle] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_calibrated_timestamps] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_color_write_enable] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_conditional_rendering] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_conservative_rasterization] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_custom_border_color] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_depth_clamp_control] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_depth_clamp_zero_one] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_depth_clip_control] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_depth_clip_enable] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_depth_range_unrestricted] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_descriptor_buffer] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_descriptor_heap] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_descriptor_indexing] is a supported extension +187:07:2026 22:37:12.866 TRACE: [VK_EXT_device_address_binding_report] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_device_fault] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_device_generated_commands] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_dynamic_rendering_unused_attachments] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_extended_dynamic_state] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_extended_dynamic_state2] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_extended_dynamic_state3] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_external_memory_host] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_fragment_shader_interlock] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_frame_boundary] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_full_screen_exclusive] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_global_priority] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_global_priority_query] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_graphics_pipeline_library] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_hdr_metadata] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_host_image_copy] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_host_query_reset] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_image_2d_view_of_3d] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_image_robustness] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_image_sliced_view_of_3d] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_image_view_min_lod] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_index_type_uint8] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_inline_uniform_block] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_line_rasterization] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_load_store_op_none] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_memory_budget] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_memory_priority] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_mesh_shader] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_mutable_descriptor_type] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_nested_command_buffer] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_non_seamless_cube_map] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_pageable_device_local_memory] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_pipeline_creation_cache_control] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_pipeline_creation_feedback] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_pipeline_library_group_handles] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_post_depth_coverage] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_present_mode_fifo_latest_ready] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_primitive_topology_list_restart] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_primitives_generated_query] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_private_data] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_provoking_vertex] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_queue_family_foreign] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_ray_tracing_invocation_reorder] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_robustness2] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_sampler_filter_minmax] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_sample_locations] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_scalar_block_layout] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_separate_stencil_usage] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_atomic_float] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_atomic_float2] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_demote_to_helper_invocation] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_float8] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_image_atomic_int64] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_long_vector] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_module_identifier] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_object] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_replicated_composites] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_stencil_export] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_subgroup_ballot] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_subgroup_vote] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_uniform_buffer_unsized_array] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_shader_viewport_index_layer] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_subgroup_size_control] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_texel_buffer_alignment] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_tooling_info] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_transform_feedback] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_vertex_attribute_divisor] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_vertex_input_dynamic_state] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_EXT_ycbcr_image_arrays] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_anti_lag] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_buffer_marker] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_device_coherent_memory] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_display_native_hdr] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_draw_indirect_count] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_gcn_shader] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_gpa_interface] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_gpu_shader_half_float] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_gpu_shader_int16] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_memory_overallocation_behavior] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_mixed_attachment_samples] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_ballot] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_core_properties] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_core_properties2] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_early_and_late_fragment_tests] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_explicit_vertex_parameter] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_image_load_store_lod] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_info] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMD_shader_trinary_minmax] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_AMDX_dense_geometry_format] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_GOOGLE_decorate_string] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_GOOGLE_hlsl_functionality1] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_GOOGLE_user_type] is a supported extension +187:07:2026 22:37:12.867 TRACE: [VK_VALVE_mutable_descriptor_type] is a supported extension +187:07:2026 22:37:12.946 DEBUG: Creating Vulkan Surface +187:07:2026 22:37:12.950 DEBUG: Creating Vulkan SwapChain +187:07:2026 22:37:13.016 DEBUG: Creating new Vk Pipeline Cache +187:07:2026 22:37:13.018 DEBUG: Creating Descriptor Allocator +187:07:2026 22:37:13.019 DEBUG: Creating Descriptor pool +187:07:2026 22:37:13.027 DEBUG: Vulkan: Creating A Queue +187:07:2026 22:37:13.029 DEBUG: Vulkan: Creating A Queue +187:07:2026 22:37:13.030 DEBUG: Creating Vulkan Command Pool +187:07:2026 22:37:13.031 DEBUG: Creating Command Buffer +187:07:2026 22:37:13.032 DEBUG: Creating Vulkan Command Pool +187:07:2026 22:37:13.032 DEBUG: Creating Command Buffer +187:07:2026 22:37:13.059 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] +187:07:2026 22:37:13.059 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_fragment_deferred.glsl.spv] +187:07:2026 22:37:13.063 DEBUG: Creating Pipeline +187:07:2026 22:37:13.066 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.066 DEBUG: created render info +187:07:2026 22:37:13.066 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.067 DEBUG: created PipelineLayout +187:07:2026 22:37:13.067 DEBUG: created vertexInputState +187:07:2026 22:37:13.068 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.069 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.069 DEBUG: Pipeline Created +187:07:2026 22:37:13.070 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] +187:07:2026 22:37:13.070 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_opaque_fragment_deferred.glsl.spv] +187:07:2026 22:37:13.071 DEBUG: Creating Pipeline +187:07:2026 22:37:13.071 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.071 DEBUG: created render info +187:07:2026 22:37:13.071 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.071 DEBUG: created PipelineLayout +187:07:2026 22:37:13.071 DEBUG: created vertexInputState +187:07:2026 22:37:13.071 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.071 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.071 DEBUG: Pipeline Created +187:07:2026 22:37:13.071 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] +187:07:2026 22:37:13.071 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_translucent_fragment_deferred.glsl.spv] +187:07:2026 22:37:13.072 DEBUG: Creating Pipeline +187:07:2026 22:37:13.072 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.072 DEBUG: created render info +187:07:2026 22:37:13.072 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.072 DEBUG: created PipelineLayout +187:07:2026 22:37:13.072 DEBUG: created vertexInputState +187:07:2026 22:37:13.072 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.072 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.072 DEBUG: Pipeline Created +187:07:2026 22:37:13.072 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_vertex.glsl.spv] +187:07:2026 22:37:13.072 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_fragment.glsl.spv] +187:07:2026 22:37:13.073 DEBUG: Creating Pipeline +187:07:2026 22:37:13.073 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.073 DEBUG: created render info +187:07:2026 22:37:13.073 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.073 DEBUG: created PipelineLayout +187:07:2026 22:37:13.073 DEBUG: created vertexInputState +187:07:2026 22:37:13.073 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.073 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.073 DEBUG: Skybox Pipeline Created Successfully +187:07:2026 22:37:13.073 DEBUG: Deferred Renderer Pipeline -> [2114439569408] +187:07:2026 22:37:13.076 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_vertex.glsl.spv] +187:07:2026 22:37:13.076 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_frag.glsl.spv] +187:07:2026 22:37:13.078 DEBUG: Creating Pipeline +187:07:2026 22:37:13.078 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.078 DEBUG: created render info +187:07:2026 22:37:13.078 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.078 DEBUG: created PipelineLayout +187:07:2026 22:37:13.078 DEBUG: created vertexInputState +187:07:2026 22:37:13.078 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.078 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.078 DEBUG: Light Renderer Pipeline -> [2114070440112] +187:07:2026 22:37:13.082 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_vtx.glsl.spv] +187:07:2026 22:37:13.082 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_frag.glsl.spv] +187:07:2026 22:37:13.082 DEBUG: Creating Pipeline +187:07:2026 22:37:13.082 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.082 DEBUG: created render info +187:07:2026 22:37:13.082 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.082 DEBUG: created PipelineLayout +187:07:2026 22:37:13.082 DEBUG: created vertexInputState +187:07:2026 22:37:13.082 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.083 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.083 DEBUG: Post Process Renderer Pipeline -> [2114439814816] +187:07:2026 22:37:13.084 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_vertex.glsl.spv] +187:07:2026 22:37:13.084 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_frag.glsl.spv] +187:07:2026 22:37:13.085 DEBUG: Creating Pipeline +187:07:2026 22:37:13.085 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.085 DEBUG: created render info +187:07:2026 22:37:13.085 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.085 DEBUG: created PipelineLayout +187:07:2026 22:37:13.085 DEBUG: created vertexInputState +187:07:2026 22:37:13.085 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.085 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.147 DEBUG: Creating Vulkan Command Pool +187:07:2026 22:37:13.147 DEBUG: Creating Command Buffer +187:07:2026 22:37:13.158 TRACE: Destroyed Command Buffer +187:07:2026 22:37:13.159 DEBUG: Destroying Vulkan Command Pool +187:07:2026 22:37:13.161 DEBUG: GUI Renderer Pipeline -> [2114439967760] +187:07:2026 22:37:13.162 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_vtx.glsl.spv] +187:07:2026 22:37:13.163 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_frag.glsl.spv] +187:07:2026 22:37:13.163 DEBUG: Creating Pipeline +187:07:2026 22:37:13.163 DEBUG: registered Descriptor sets +187:07:2026 22:37:13.163 DEBUG: created render info +187:07:2026 22:37:13.163 DEBUG: created BlendAttributeStates +187:07:2026 22:37:13.163 DEBUG: created PipelineLayout +187:07:2026 22:37:13.163 DEBUG: created vertexInputState +187:07:2026 22:37:13.163 DEBUG: created PipelineCreateInfo +187:07:2026 22:37:13.163 DEBUG: created GraphicsPipeline +187:07:2026 22:37:13.163 DEBUG: Swap Chain Renderer Pipeline -> [2114440689952] +187:07:2026 22:37:13.164 DEBUG: Starting Render Thread +187:07:2026 22:37:13.164 DEBUG: Loading 6 Materials +187:07:2026 22:37:13.166 DEBUG: Creating Command Buffer +187:07:2026 22:37:13.168 DEBUG: Material Texture Path -> [] +187:07:2026 22:37:13.168 TRACE: MaterialData[ID=Cube-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +187:07:2026 22:37:13.168 DEBUG: Material Texture Path -> [resources\models\cube\cubetexture.png] +187:07:2026 22:37:13.168 DEBUG: Loading Image [resources\models\cube\cubetexture.png] +187:07:2026 22:37:13.169 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] +187:07:2026 22:37:13.169 TRACE: MaterialData[ID=Cube-mat-1, TexturePath=resources\models\cube\cubetexture.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +187:07:2026 22:37:13.169 DEBUG: Material Texture Path -> [] +187:07:2026 22:37:13.169 TRACE: MaterialData[ID=Cube-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +187:07:2026 22:37:13.169 DEBUG: Material Texture Path -> [] +187:07:2026 22:37:13.169 TRACE: MaterialData[ID=musket-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +187:07:2026 22:37:13.169 DEBUG: Material Texture Path -> [resources\models\musket\Musket.png] +187:07:2026 22:37:13.169 DEBUG: Loading Image [resources\models\musket\Musket.png] +187:07:2026 22:37:13.170 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] +187:07:2026 22:37:13.170 TRACE: MaterialData[ID=musket-mat-1, TexturePath=resources\models\musket\Musket.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +187:07:2026 22:37:13.170 DEBUG: Material Texture Path -> [] +187:07:2026 22:37:13.170 TRACE: MaterialData[ID=musket-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +187:07:2026 22:37:13.173 TRACE: Destroyed Command Buffer +187:07:2026 22:37:13.173 DEBUG: Loaded 6 Materials +187:07:2026 22:37:13.173 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] +187:07:2026 22:37:13.210 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.224 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] +187:07:2026 22:37:13.262 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.262 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyLeft.png] +187:07:2026 22:37:13.300 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.300 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyUp.png] +187:07:2026 22:37:13.352 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.352 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyDown.png] +187:07:2026 22:37:13.384 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.385 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyFront.png] +187:07:2026 22:37:13.421 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.422 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyBack.png] +187:07:2026 22:37:13.460 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +187:07:2026 22:37:13.647 DEBUG: Loading Image [resources/EngineResources/Texture/Terrain4JTitleImage.png] +187:07:2026 22:37:13.649 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=198720 cap=198720]] +187:07:2026 22:37:13.649 DEBUG: Loading Image [resources/EngineResources/Texture/Billy.png] +187:07:2026 22:37:13.660 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=7613760 cap=7613760]] +187:07:2026 22:37:13.660 DEBUG: Transitioning Textures +187:07:2026 22:37:13.660 DEBUG: Recording Texture Transition +187:07:2026 22:37:13.662 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.667 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.667 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.671 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.671 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.675 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.675 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.679 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.679 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.683 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.683 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.688 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.688 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.691 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.691 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.696 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.696 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.700 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.700 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.704 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.704 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.708 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.708 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.712 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.712 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.717 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.717 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.720 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.720 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.724 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.724 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.729 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.729 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.733 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.733 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.737 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.737 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.741 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.741 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.745 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.745 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.749 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.749 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.753 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.753 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.757 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.757 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.761 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.761 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.765 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.765 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.770 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.770 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.774 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.774 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.778 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.778 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.806 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.807 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.811 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.811 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.815 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.815 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.820 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.820 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.824 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.824 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.828 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.828 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.831 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.831 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.836 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.836 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.839 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.840 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.843 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.843 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.847 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.847 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.851 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.851 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.856 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.856 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.860 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.860 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.863 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.863 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.868 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.868 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.872 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.872 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.876 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.876 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.880 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.880 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.884 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.884 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.888 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.888 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.892 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.892 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.896 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.896 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.900 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.900 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.904 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.904 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.907 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.907 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.912 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.912 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.916 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.916 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.920 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.920 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.923 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.923 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.928 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.928 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.931 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.932 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.936 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.936 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.940 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.940 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.944 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.944 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.948 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.948 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.952 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.952 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.956 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.956 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.960 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.960 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.964 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.964 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.968 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.968 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.972 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.972 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.977 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.977 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.980 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.980 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.984 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.984 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.988 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.988 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.993 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.993 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:13.996 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:13.997 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.000 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.000 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.005 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.005 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.009 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.009 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.012 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.012 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.017 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.017 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.020 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.020 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.025 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.025 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.028 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.028 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.032 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.032 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.037 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.037 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.040 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.040 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.044 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.044 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.048 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.048 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.053 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.053 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.056 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.056 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.060 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.060 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.064 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.064 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.068 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.068 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.072 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.072 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.076 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.077 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.080 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.080 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.084 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.084 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.089 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.089 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.093 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.093 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.096 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.096 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.100 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.100 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.104 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.104 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.108 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.108 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.113 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.113 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.116 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.116 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.120 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.120 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.124 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.124 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.128 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.128 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.132 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.132 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.136 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.136 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.140 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.140 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.171 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.171 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.175 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.176 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.180 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.180 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.183 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.183 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.188 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.188 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.192 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.192 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.196 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.196 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.200 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.200 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.204 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.204 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.208 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.208 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +187:07:2026 22:37:14.212 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +187:07:2026 22:37:14.212 DEBUG: Creating Command Buffer +187:07:2026 22:37:14.231 TRACE: Destroyed Command Buffer +187:07:2026 22:37:14.254 DEBUG: Recorded Texture Transition +187:07:2026 22:37:14.254 DEBUG: Transitioned Textures +187:07:2026 22:37:14.254 DEBUG: Loading 2 models +187:07:2026 22:37:14.254 DEBUG: Creating Command Buffer +187:07:2026 22:37:14.255 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[mesh_0] VertexSize=[1344] +187:07:2026 22:37:14.256 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[cube_0] VertexSize=[25088] +187:07:2026 22:37:14.257 TRACE: Destroyed Command Buffer +187:07:2026 22:37:14.274 DEBUG: Loaded 2 models +187:07:2026 22:37:14.276 DEBUG: Fetching Texture -> [SKYBOX_TEXTURE] +187:07:2026 22:37:14.276 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Terrain4JTitleImage.png] +187:07:2026 22:37:14.276 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Billy.png] +187:07:2026 22:37:14.433 INFO: Launched Terrain4J Engine +187:07:2026 22:37:14.434 DEBUG: Primary Thread Started +187:07:2026 22:37:14.434 DEBUG: Main Thread Started +187:07:2026 22:37:14.434 DEBUG: Render Thread Started +187:07:2026 22:37:14.434 DEBUG: Fast Thread Started +187:07:2026 22:37:46.543 DEBUG: ThrottlingEngine +187:07:2026 22:38:10.941 DEBUG: UnThrottlingEngine +187:07:2026 22:38:56.609 DEBUG: Closing Software of name [Terrain4J Game Engine] +187:07:2026 22:38:56.609 DEBUG: Closing Main Thread, Thread: [Thread[#41,Terrain4J Main Engine Thread,5,main]] +187:07:2026 22:38:56.611 DEBUG: Waiting Vulkan Context +187:07:2026 22:38:56.611 DEBUG: destroying Pipeline +187:07:2026 22:38:56.611 DEBUG: destroying Pipeline +187:07:2026 22:38:56.611 DEBUG: destroying Pipeline +187:07:2026 22:38:56.611 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.612 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.612 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.612 DEBUG: Destroying Image View +187:07:2026 22:38:56.612 DEBUG: Destroying Image View +187:07:2026 22:38:56.612 DEBUG: Destroying Image View +187:07:2026 22:38:56.612 DEBUG: Destroying Image View +187:07:2026 22:38:56.614 DEBUG: Destroying Image View +187:07:2026 22:38:56.614 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.614 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.614 DEBUG: destroying Pipeline +187:07:2026 22:38:56.614 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.614 DEBUG: Destroying Image View +187:07:2026 22:38:56.615 DEBUG: Destroying Image View +187:07:2026 22:38:56.615 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.615 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.615 DEBUG: destroying Pipeline +187:07:2026 22:38:56.615 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.615 DEBUG: destroying Pipeline +187:07:2026 22:38:56.616 DEBUG: Destroying Image View +187:07:2026 22:38:56.616 DEBUG: Destroying Descriptor Set Layout +187:07:2026 22:38:56.616 DEBUG: destroying Pipeline +187:07:2026 22:38:56.617 DEBUG: Destroying Image View +187:07:2026 22:38:56.617 DEBUG: Destroying Image View +187:07:2026 22:38:56.617 DEBUG: Destroying Image View +187:07:2026 22:38:56.618 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.619 DEBUG: Destroying Image View +187:07:2026 22:38:56.620 DEBUG: Destroying Image View +187:07:2026 22:38:56.620 DEBUG: Destroying Image View +187:07:2026 22:38:56.620 DEBUG: Destroying Image View +187:07:2026 22:38:56.620 DEBUG: Destroying Image View +187:07:2026 22:38:56.620 DEBUG: Destroying Image View +187:07:2026 22:38:56.621 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.622 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.623 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.624 DEBUG: Destroying Image View +187:07:2026 22:38:56.625 DEBUG: Destroying Image View +187:07:2026 22:38:56.625 DEBUG: Destroying Image View +187:07:2026 22:38:56.625 DEBUG: Destroying Image View +187:07:2026 22:38:56.625 DEBUG: Destroying Image View +187:07:2026 22:38:56.629 DEBUG: Destroyed Window +187:07:2026 22:38:56.634 DEBUG: Destroyed Window +187:07:2026 22:38:56.634 DEBUG: Process still running: [[Thread[#37,Notification Thread,9,system], Thread[#42,Terrain4J Fast Engine Thread,5,main], Thread[#16,Reference Handler,10,system], Thread[#65,Terrain4J Render Engine Thread,5,main], Thread[#19,Attach Listener,5,system], Thread[#38,Common-Cleaner,8,InnocuousThreadGroup], Thread[#3,Terrain4J Primary Runtime Thread,5,main], Thread[#17,Finalizer,8,system], Thread[#18,Signal Dispatcher,9,system], Thread[#39,tinylog-WritingThread,1,main]]] +187:07:2026 22:38:56.634 DEBUG: Waiting to close Primary Thread, making sure vulkan has shut down properly first and Engine Threads are closed +Threads Open:[2] Vulkan Layers Open:[4] -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.855 DEBUG: Destroying Image View -186:07:2026 17:56:32.856 DEBUG: Destroying Image View -186:07:2026 17:56:32.856 DEBUG: Destroying Image View -186:07:2026 17:56:32.856 DEBUG: Destroying Image View -186:07:2026 17:56:32.856 DEBUG: Destroying Image View -186:07:2026 17:56:32.856 DEBUG: Destroying Image View -186:07:2026 17:56:32.856 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.857 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.858 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.859 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.860 DEBUG: Destroying Image View -186:07:2026 17:56:32.861 DEBUG: Destroying Image View -186:07:2026 17:56:32.861 DEBUG: Destroying Image View -186:07:2026 17:56:32.861 DEBUG: Destroying Image View -186:07:2026 17:56:32.861 DEBUG: Destroying Image View -186:07:2026 17:56:32.861 DEBUG: Destroying Image View -186:07:2026 17:56:32.871 DEBUG: Destroying Image View -186:07:2026 17:56:32.871 DEBUG: Destroying Image View -186:07:2026 17:56:32.871 DEBUG: Destroying Image View -186:07:2026 17:56:32.872 DEBUG: Destroying Image View -186:07:2026 17:56:32.872 DEBUG: Destroying Image View -186:07:2026 17:56:32.872 DEBUG: Destroying Image View -186:07:2026 17:56:32.872 DEBUG: Destroying Image View -186:07:2026 17:56:32.872 DEBUG: Destroying Image View -186:07:2026 17:56:32.873 DEBUG: Destroying Image View -186:07:2026 17:56:32.873 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.874 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.875 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Destroying Image View -186:07:2026 17:56:32.876 DEBUG: Dynamic Renderer Cleaned up -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Semaphore -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Semaphore -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Semaphore -186:07:2026 17:56:32.877 DEBUG: Render Semaphores cleaned up -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Semaphore -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Semaphore -186:07:2026 17:56:32.877 DEBUG: Present Semaphores cleaned up -186:07:2026 17:56:32.877 DEBUG: Fences cleaned up -186:07:2026 17:56:32.877 TRACE: Destroyed Command Buffer -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Command Pool -186:07:2026 17:56:32.877 TRACE: Destroyed Command Buffer -186:07:2026 17:56:32.877 DEBUG: Destroying Vulkan Command Pool -186:07:2026 17:56:32.877 DEBUG: Command pools cleaned up -186:07:2026 17:56:32.901 DEBUG: Destroying Descriptor Allocator -186:07:2026 17:56:32.901 DEBUG: Destroying Descriptor Pool -186:07:2026 17:56:32.901 DEBUG: Destroying Vulkan Swapchain -186:07:2026 17:56:32.902 DEBUG: Destroying Image View -186:07:2026 17:56:32.902 DEBUG: Destroying Image View -186:07:2026 17:56:32.902 DEBUG: Destroying Image View -186:07:2026 17:56:32.907 DEBUG: Cleaning Up Surfaces -186:07:2026 17:56:32.907 DEBUG: Destroying Vulkan Pipeline Cache -186:07:2026 17:56:32.907 DEBUG: Removing Vulkan Device -186:07:2026 17:56:33.038 DEBUG: freeing physical device [AMD Radeon RX 9070 XT] -186:07:2026 17:56:33.038 DEBUG: Closing Vulkan instance -186:07:2026 17:56:33.075 DEBUG: Render Thread Finished ending Vulkan Processes +187:07:2026 22:38:56.647 DEBUG: Destroying Image View +187:07:2026 22:38:56.647 DEBUG: Destroying Image View +187:07:2026 22:38:56.647 DEBUG: Destroying Image View +187:07:2026 22:38:56.647 DEBUG: Destroying Image View +187:07:2026 22:38:56.647 DEBUG: Destroying Image View +187:07:2026 22:38:56.648 DEBUG: Destroying Image View +187:07:2026 22:38:56.648 DEBUG: Destroying Image View +187:07:2026 22:38:56.648 DEBUG: Destroying Image View +187:07:2026 22:38:56.648 DEBUG: Destroying Image View +187:07:2026 22:38:56.648 DEBUG: Destroying Image View +187:07:2026 22:38:56.648 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.649 DEBUG: Destroying Image View +187:07:2026 22:38:56.650 DEBUG: Destroying Image View +187:07:2026 22:38:56.650 DEBUG: Destroying Image View +187:07:2026 22:38:56.650 DEBUG: Destroying Image View +187:07:2026 22:38:56.650 DEBUG: Destroying Image View +187:07:2026 22:38:56.650 DEBUG: Destroying Image View +187:07:2026 22:38:56.650 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.651 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.652 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.653 DEBUG: Destroying Image View +187:07:2026 22:38:56.654 DEBUG: Destroying Image View +187:07:2026 22:38:56.654 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.655 DEBUG: Destroying Image View +187:07:2026 22:38:56.656 DEBUG: Destroying Image View +187:07:2026 22:38:56.656 DEBUG: Destroying Image View +187:07:2026 22:38:56.656 DEBUG: Destroying Image View +187:07:2026 22:38:56.656 DEBUG: Destroying Image View +187:07:2026 22:38:56.656 DEBUG: Destroying Image View +187:07:2026 22:38:56.657 DEBUG: Destroying Image View +187:07:2026 22:38:56.657 DEBUG: Destroying Image View +187:07:2026 22:38:56.657 DEBUG: Destroying Image View +187:07:2026 22:38:56.657 DEBUG: Destroying Image View +187:07:2026 22:38:56.659 DEBUG: Dynamic Renderer Cleaned up +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Semaphore +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Semaphore +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Semaphore +187:07:2026 22:38:56.659 DEBUG: Render Semaphores cleaned up +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Semaphore +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Semaphore +187:07:2026 22:38:56.659 DEBUG: Present Semaphores cleaned up +187:07:2026 22:38:56.659 DEBUG: Fences cleaned up +187:07:2026 22:38:56.659 TRACE: Destroyed Command Buffer +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Command Pool +187:07:2026 22:38:56.659 TRACE: Destroyed Command Buffer +187:07:2026 22:38:56.659 DEBUG: Destroying Vulkan Command Pool +187:07:2026 22:38:56.659 DEBUG: Command pools cleaned up +187:07:2026 22:38:56.686 DEBUG: Destroying Descriptor Allocator +187:07:2026 22:38:56.687 DEBUG: Destroying Descriptor Pool +187:07:2026 22:38:56.687 DEBUG: Destroying Vulkan Swapchain +187:07:2026 22:38:56.687 DEBUG: Destroying Image View +187:07:2026 22:38:56.687 DEBUG: Destroying Image View +187:07:2026 22:38:56.687 DEBUG: Destroying Image View +187:07:2026 22:38:56.692 DEBUG: Cleaning Up Surfaces +187:07:2026 22:38:56.693 DEBUG: Destroying Vulkan Pipeline Cache +187:07:2026 22:38:56.693 DEBUG: Removing Vulkan Device +187:07:2026 22:38:56.797 DEBUG: Closing Fast Thread, Thread: [Thread[#42,Terrain4J Fast Engine Thread,5,main]] +187:07:2026 22:38:56.819 DEBUG: freeing physical device [AMD Radeon RX 9070 XT] +187:07:2026 22:38:56.819 DEBUG: Closing Vulkan instance +187:07:2026 22:38:56.842 DEBUG: Render Thread Finished ending Vulkan Processes Vulkan Layers Open:[All processes closed and vulkan instance removed] -186:07:2026 17:56:33.075 DEBUG: Closing Render Thread, Thread: [Thread[#65,Terrain4J Render Engine Thread,5,main]] -186:07:2026 17:56:33.075 DEBUG: Closing Primary Thread, Thread: [Thread[#3,Terrain4J Primary Runtime Thread,5,main]] -186:07:2026 17:56:33.075 INFO: Successful stable Shut Down of Terrain4J in [249.427] MilliSeconds +187:07:2026 22:38:56.842 DEBUG: Closing Render Thread, Thread: [Thread[#65,Terrain4J Render Engine Thread,5,main]] +187:07:2026 22:38:56.842 DEBUG: Closing Primary Thread, Thread: [Thread[#3,Terrain4J Primary Runtime Thread,5,main]] +187:07:2026 22:38:56.842 INFO: Successful stable Shut Down of Terrain4J in [231.982] MilliSeconds diff --git a/resources/models/musket/Musket.png b/resources/models/musket/Musket.png new file mode 100644 index 0000000..5360dc2 Binary files /dev/null and b/resources/models/musket/Musket.png differ diff --git a/resources/models/musket/musket.colmesh b/resources/models/musket/musket.colmesh new file mode 100644 index 0000000..e69de29 diff --git a/resources/models/musket/musket.idx b/resources/models/musket/musket.idx new file mode 100644 index 0000000..696ab9b Binary files /dev/null and b/resources/models/musket/musket.idx differ diff --git a/resources/models/musket/musket.json b/resources/models/musket/musket.json new file mode 100644 index 0000000..816241b --- /dev/null +++ b/resources/models/musket/musket.json @@ -0,0 +1,15 @@ +{ + "ID": "musket", + "Meshes": [ + { + "ID": "cube_0", + "MaterialID": "musket-mat-1", + "OffsetVertex": 0, + "VertexSize": 25088, + "OffsetIndex": 0, + "IndexSize": 2880 + } + ], + "VertexPath": "resources/models/musket/musket.vtx", + "IndexPath": "resources/models/musket/musket.idx" +} \ No newline at end of file diff --git a/resources/models/musket/musket.mtl b/resources/models/musket/musket.mtl new file mode 100644 index 0000000..9d4489d --- /dev/null +++ b/resources/models/musket/musket.mtl @@ -0,0 +1,4 @@ +# Made in Blockbench 5.1.4 +newmtl m_2fae0962-6878-9312-f690-fafaddc2a80c +map_Kd Musket.png +newmtl none \ No newline at end of file diff --git a/resources/models/musket/musket.obj b/resources/models/musket/musket.obj new file mode 100644 index 0000000..4b69288 --- /dev/null +++ b/resources/models/musket/musket.obj @@ -0,0 +1,923 @@ +# Made in Blockbench 5.1.4 +mtllib musket.mtl + +o cube +v 0.046875 0.58203125 0.6875 +v 0.046875 0.58203125 -0.75 +v 0.046875 0.51953125 0.6875 +v 0.046875 0.51953125 -0.75 +v -0.046875 0.58203125 -0.75 +v -0.046875 0.58203125 0.6875 +v -0.046875 0.51953125 -0.75 +v -0.046875 0.51953125 0.6875 +vt 0.59375 0.953125 +vt 0.5625 0.953125 +vt 0.5625 0.9375 +vt 0.59375 0.9375 +vt 0.625 0.640625 +vt 0.265625 0.640625 +vt 0.265625 0.625 +vt 0.625 0.625 +vt 0.609375 0.671875 +vt 0.578125 0.671875 +vt 0.578125 0.65625 +vt 0.609375 0.65625 +vt 0.671875 0.921875 +vt 0.3125 0.921875 +vt 0.3125 0.90625 +vt 0.671875 0.90625 +vt 0 0.421875 +vt 0.03125 0.421875 +vt 0.03125 0.78125 +vt 0 0.78125 +vt 0.046875 0.78125 +vt 0.078125 0.78125 +vt 0.078125 0.421875 +vt 0.046875 0.421875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o cube +v 0.046812499999999924 0.625 0.8125 +v 0.046812499999999924 0.625 0.6875 +v 0.046812499999999924 0.5 0.8125 +v 0.046812499999999924 0.5 0.6875 +v -0.046812500000000035 0.625 0.6875 +v -0.046812500000000035 0.625 0.8125 +v -0.046812500000000035 0.5 0.6875 +v -0.046812500000000035 0.5 0.8125 +vt 0.609375 0.40625 +vt 0.59375 0.40625 +vt 0.59375 0.375 +vt 0.609375 0.375 +vt 0.5625 0.5 +vt 0.53125 0.5 +vt 0.53125 0.46875 +vt 0.5625 0.46875 +vt 0.625 1 +vt 0.609375 1 +vt 0.609375 0.96875 +vt 0.625 0.96875 +vt 0.53125 0.828125 +vt 0.5 0.828125 +vt 0.5 0.796875 +vt 0.53125 0.796875 +vt 0.1875 0.359375 +vt 0.203125 0.359375 +vt 0.203125 0.390625 +vt 0.1875 0.390625 +vt 0.609375 0.78125 +vt 0.625 0.78125 +vt 0.625 0.75 +vt 0.609375 0.75 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o cube +v 0.046875 0.5293291419087276 1.0434698831278217 +v 0.046875 0.625 0.8125 +v 0.046875 0.29835925878090586 0.9477990250365492 +v 0.046875 0.3940301168721783 0.7168291419087276 +v -0.046875000000000444 0.625 0.8125 +v -0.046875000000000444 0.5293291419087276 1.0434698831278217 +v -0.046875000000000444 0.3940301168721783 0.7168291419087276 +v -0.046875000000000444 0.29835925878090586 0.9477990250365492 +vt 0.453125 1 +vt 0.421875 1 +vt 0.421875 0.9375 +vt 0.453125 0.9375 +vt 0.46875 0.71875 +vt 0.40625 0.71875 +vt 0.40625 0.65625 +vt 0.46875 0.65625 +vt 0.5 1 +vt 0.46875 1 +vt 0.46875 0.9375 +vt 0.5 0.9375 +vt 0.390625 0.609375 +vt 0.328125 0.609375 +vt 0.328125 0.546875 +vt 0.390625 0.546875 +vt 0.484375 0.65625 +vt 0.515625 0.65625 +vt 0.515625 0.71875 +vt 0.484375 0.71875 +vt 0.421875 0.515625 +vt 0.453125 0.515625 +vt 0.453125 0.453125 +vt 0.421875 0.453125 +vn 0 0.3826834323650897 -0.9238795325112867 +vn 1 0 0 +vn 0 -0.3826834323650897 0.9238795325112867 +vn -1 0 0 +vn 0 0.9238795325112867 0.3826834323650897 +vn 0 -0.9238795325112867 -0.3826834323650897 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 +o cube +v 0.046812499999999924 0.5281249999999998 1.4195312500000001 +v 0.046812499999999924 0.5281249999999998 1.0445312500000001 +v 0.046812499999999924 0.27812500000000007 1.4195312500000001 +v 0.046812499999999924 0.27812500000000007 1.0445312500000001 +v -0.046812500000000035 0.5281249999999998 1.0445312500000001 +v -0.046812500000000035 0.5281249999999998 1.4195312500000001 +v -0.046812500000000035 0.27812500000000007 1.0445312500000001 +v -0.046812500000000035 0.27812500000000007 1.4195312500000001 +vt 0.203125 0.46875 +vt 0.1875 0.46875 +vt 0.1875 0.40625 +vt 0.203125 0.40625 +vt 0.25 0.640625 +vt 0.15625 0.640625 +vt 0.15625 0.578125 +vt 0.25 0.578125 +vt 0.234375 0.453125 +vt 0.21875 0.453125 +vt 0.21875 0.390625 +vt 0.234375 0.390625 +vt 0.40625 1 +vt 0.3125 1 +vt 0.3125 0.9375 +vt 0.40625 0.9375 +vt 0.515625 0.515625 +vt 0.53125 0.515625 +vt 0.53125 0.609375 +vt 0.515625 0.609375 +vt 0.15625 0.46875 +vt 0.171875 0.46875 +vt 0.171875 0.375 +vt 0.15625 0.375 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 28/76/19 31/75/19 29/74/19 26/73/19 +f 27/80/20 28/79/20 26/78/20 25/77/20 +f 32/84/21 27/83/21 25/82/21 30/81/21 +f 31/88/22 32/87/22 30/86/22 29/85/22 +f 30/92/23 25/91/23 26/90/23 29/89/23 +f 31/96/24 28/95/24 27/94/24 32/93/24 +o cube +v 0.04675000000000007 0.36148224834027304 1.447166045473688 +v 0.04675000000000007 0.5289062499999998 1.0429687500000002 +v 0.04675000000000007 0.1305123652124517 1.351495187382416 +v 0.04675000000000007 0.2979363668721784 0.9472978919087279 +v -0.046750000000000014 0.5289062499999998 1.0429687500000002 +v -0.046750000000000014 0.36148224834027304 1.447166045473688 +v -0.046750000000000014 0.2979363668721784 0.9472978919087279 +v -0.046750000000000014 0.1305123652124517 1.351495187382416 +vt 0.5625 0.609375 +vt 0.546875 0.609375 +vt 0.546875 0.546875 +vt 0.5625 0.546875 +vt 0.390625 0.71875 +vt 0.28125 0.71875 +vt 0.28125 0.65625 +vt 0.390625 0.65625 +vt 0.546875 0.453125 +vt 0.53125 0.453125 +vt 0.53125 0.390625 +vt 0.546875 0.390625 +vt 0.265625 0.71875 +vt 0.15625 0.71875 +vt 0.15625 0.65625 +vt 0.265625 0.65625 +vt 0.46875 0.390625 +vt 0.484375 0.390625 +vt 0.484375 0.5 +vt 0.46875 0.5 +vt 0.5 0.5 +vt 0.515625 0.5 +vt 0.515625 0.390625 +vt 0.5 0.390625 +vn 0 0.3826834323650897 -0.9238795325112867 +vn 1 0 0 +vn 0 -0.3826834323650897 0.9238795325112867 +vn -1 0 0 +vn 0 0.9238795325112867 0.3826834323650897 +vn 0 -0.9238795325112867 -0.3826834323650897 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 36/100/25 39/99/25 37/98/25 34/97/25 +f 35/104/26 36/103/26 34/102/26 33/101/26 +f 40/108/27 35/107/27 33/106/27 38/105/27 +f 39/112/28 40/111/28 38/110/28 37/109/28 +f 38/116/29 33/115/29 34/114/29 37/113/29 +f 39/120/30 36/119/30 35/118/30 40/117/30 +o cube +v 0.046875 0.5281312499999998 1.4765625 +v 0.046875 0.5281312499999998 1.3515625 +v 0.046875 0.130475 1.4765625 +v 0.046875 0.130475 1.3515625 +v -0.046875 0.5281312499999998 1.3515625 +v -0.046875 0.5281312499999998 1.4765625 +v -0.046875 0.130475 1.3515625 +v -0.046875 0.130475 1.4765625 +vt 0.25 0.5625 +vt 0.21875 0.5625 +vt 0.21875 0.46875 +vt 0.25 0.46875 +vt 0.40625 0.515625 +vt 0.375 0.515625 +vt 0.375 0.421875 +vt 0.40625 0.421875 +vt 0.5 0.609375 +vt 0.46875 0.609375 +vt 0.46875 0.515625 +vt 0.5 0.515625 +vt 0.359375 0.53125 +vt 0.328125 0.53125 +vt 0.328125 0.4375 +vt 0.359375 0.4375 +vt 0.546875 0.796875 +vt 0.578125 0.796875 +vt 0.578125 0.828125 +vt 0.546875 0.828125 +vt 0.5625 1 +vt 0.59375 1 +vt 0.59375 0.96875 +vt 0.5625 0.96875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 44/124/31 47/123/31 45/122/31 42/121/31 +f 43/128/32 44/127/32 42/126/32 41/125/32 +f 48/132/33 43/131/33 41/130/33 46/129/33 +f 47/136/34 48/135/34 46/134/34 45/133/34 +f 46/140/35 41/139/35 42/138/35 45/137/35 +f 47/144/36 44/143/36 43/142/36 48/141/36 +o cube +v 0.04419417382415922 0.5754441738241592 0.75 +v 0.04419417382415922 0.5754441738241592 -1.25 +v 0 0.53125 0.75 +v 0 0.53125 -1.25 +v 6.938893903907228e-18 0.6196383476483185 -1.25 +v 6.938893903907228e-18 0.6196383476483185 0.75 +v -0.044194173824159216 0.5754441738241592 -1.25 +v -0.044194173824159216 0.5754441738241592 0.75 +vt 0.5625 0.53125 +vt 0.546875 0.53125 +vt 0.546875 0.515625 +vt 0.5625 0.515625 +vt 0.59375 0.75 +vt 0.09375 0.75 +vt 0.09375 0.734375 +vt 0.59375 0.734375 +vt 0.625 0.4375 +vt 0.609375 0.4375 +vt 0.609375 0.421875 +vt 0.625 0.421875 +vt 0.59375 0.78125 +vt 0.09375 0.78125 +vt 0.09375 0.765625 +vt 0.59375 0.765625 +vt 0.09375 0.21875 +vt 0.109375 0.21875 +vt 0.109375 0.71875 +vt 0.09375 0.71875 +vt 0.125 0.71875 +vt 0.140625 0.71875 +vt 0.140625 0.21875 +vt 0.125 0.21875 +vn 0 0 -1 +vn 0.7071067811865475 -0.7071067811865476 0 +vn 0 0 1 +vn -0.7071067811865475 0.7071067811865476 0 +vn 0.7071067811865476 0.7071067811865475 0 +vn -0.7071067811865476 -0.7071067811865475 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 52/148/37 55/147/37 53/146/37 50/145/37 +f 51/152/38 52/151/38 50/150/38 49/149/38 +f 56/156/39 51/155/39 49/154/39 54/153/39 +f 55/160/40 56/159/40 54/158/40 53/157/40 +f 54/164/41 49/163/41 50/162/41 53/161/41 +f 55/168/42 52/167/42 51/166/42 56/165/42 +o cube +v 0 0.53125 -0.3125 +v 0 0.53125 -1.5 +v 0 0.34375 -0.3125 +v 0 0.34375 -1.5 +v 0 0.53125 -1.5 +v 0 0.53125 -0.3125 +v 0 0.34375 -1.5 +v 0 0.34375 -0.3125 +vt 0.25 0.40625 +vt 0.25 0.40625 +vt 0.25 0.359375 +vt 0.25 0.359375 +vt 0.296875 0.9375 +vt 0 0.9375 +vt 0 0.890625 +vt 0.296875 0.890625 +vt 0.359375 0.375 +vt 0.359375 0.375 +vt 0.359375 0.328125 +vt 0.359375 0.328125 +vt 0.296875 1 +vt 0 1 +vt 0 0.953125 +vt 0.296875 0.953125 +vt 0.53125 0.078125 +vt 0.53125 0.078125 +vt 0.53125 0.375 +vt 0.53125 0.375 +vt 0.546875 0.375 +vt 0.546875 0.375 +vt 0.546875 0.078125 +vt 0.546875 0.078125 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 60/172/43 63/171/43 61/170/43 58/169/43 +f 59/176/44 60/175/44 58/174/44 57/173/44 +f 64/180/45 59/179/45 57/178/45 62/177/45 +f 63/184/46 64/183/46 62/182/46 61/181/46 +f 62/188/47 57/187/47 58/186/47 61/185/47 +f 63/192/48 60/191/48 59/190/48 64/189/48 +o cube +v 0.03125 0.69140625 -1.1875 +v 0.03125 0.69140625 -1.1875 +v 0.03125 0.56640625 -1.1875 +v 0.03125 0.56640625 -1.1875 +v -0.03125 0.69140625 -1.1875 +v -0.03125 0.69140625 -1.1875 +v -0.03125 0.56640625 -1.1875 +v -0.03125 0.56640625 -1.1875 +vt 0.609375 0.828125 +vt 0.59375 0.828125 +vt 0.59375 0.796875 +vt 0.609375 0.796875 +vt 0.078125 0.40625 +vt 0.078125 0.40625 +vt 0.078125 0.375 +vt 0.078125 0.375 +vt 0.578125 0.40625 +vt 0.5625 0.40625 +vt 0.5625 0.375 +vt 0.578125 0.375 +vt 0.25 0.453125 +vt 0.25 0.453125 +vt 0.25 0.421875 +vt 0.25 0.421875 +vt 0.3125 0.890625 +vt 0.328125 0.890625 +vt 0.328125 0.890625 +vt 0.3125 0.890625 +vt 0.34375 0.890625 +vt 0.359375 0.890625 +vt 0.359375 0.890625 +vt 0.34375 0.890625 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 68/196/49 71/195/49 69/194/49 66/193/49 +f 67/200/50 68/199/50 66/198/50 65/197/50 +f 72/204/51 67/203/51 65/202/51 70/201/51 +f 71/208/52 72/207/52 70/206/52 69/205/52 +f 70/212/53 65/211/53 66/210/53 69/209/53 +f 71/216/54 68/215/54 67/214/54 72/213/54 +o cube +v 0.08838834764831843 0.5625 -1.21875 +v 0.08838834764831843 0.5625 -1.21875 +v -6.938893903907228e-18 0.47411165235168157 -1.21875 +v -6.938893903907228e-18 0.47411165235168157 -1.21875 +v 6.938893903907228e-18 0.6508883476483185 -1.21875 +v 6.938893903907228e-18 0.6508883476483185 -1.21875 +v -0.08838834764831843 0.5625 -1.21875 +v -0.08838834764831843 0.5625 -1.21875 +vt 0.453125 0.4375 +vt 0.421875 0.4375 +vt 0.421875 0.40625 +vt 0.453125 0.40625 +vt 0 0.359375 +vt 0 0.359375 +vt 0 0.328125 +vt 0 0.328125 +vt 0.59375 0.453125 +vt 0.5625 0.453125 +vt 0.5625 0.421875 +vt 0.59375 0.421875 +vt 0.625 0.40625 +vt 0.625 0.40625 +vt 0.625 0.375 +vt 0.625 0.375 +vt 0.515625 0.9375 +vt 0.546875 0.9375 +vt 0.546875 0.9375 +vt 0.515625 0.9375 +vt 0.53125 0.65625 +vt 0.5625 0.65625 +vt 0.5625 0.65625 +vt 0.53125 0.65625 +vn 0 0 -1 +vn 0.7071067811865475 -0.7071067811865476 0 +vn 0 0 1 +vn -0.7071067811865475 0.7071067811865476 0 +vn 0.7071067811865476 0.7071067811865475 0 +vn -0.7071067811865476 -0.7071067811865475 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 76/220/55 79/219/55 77/218/55 74/217/55 +f 75/224/56 76/223/56 74/222/56 73/221/56 +f 80/228/57 75/227/57 73/226/57 78/225/57 +f 79/232/58 80/231/58 78/230/58 77/229/58 +f 78/236/59 73/235/59 74/234/59 77/233/59 +f 79/240/60 76/239/60 75/238/60 80/237/60 +o cube +v 0.08838834764831843 0.5625 -0.796875 +v 0.08838834764831843 0.5625 -0.796875 +v -6.938893903907228e-18 0.47411165235168157 -0.796875 +v -6.938893903907228e-18 0.47411165235168157 -0.796875 +v 6.938893903907228e-18 0.6508883476483185 -0.796875 +v 6.938893903907228e-18 0.6508883476483185 -0.796875 +v -0.08838834764831843 0.5625 -0.796875 +v -0.08838834764831843 0.5625 -0.796875 +vt 0.609375 0.71875 +vt 0.578125 0.71875 +vt 0.578125 0.6875 +vt 0.609375 0.6875 +vt 0.015625 0.359375 +vt 0.015625 0.359375 +vt 0.015625 0.328125 +vt 0.015625 0.328125 +vt 0.359375 0.421875 +vt 0.328125 0.421875 +vt 0.328125 0.390625 +vt 0.359375 0.390625 +vt 0.640625 1 +vt 0.640625 1 +vt 0.640625 0.96875 +vt 0.640625 0.96875 +vt 0.625 0.5 +vt 0.65625 0.5 +vt 0.65625 0.5 +vt 0.625 0.5 +vt 0.625 0.484375 +vt 0.65625 0.484375 +vt 0.65625 0.484375 +vt 0.625 0.484375 +vn 0 0 -1 +vn 0.7071067811865475 -0.7071067811865476 0 +vn 0 0 1 +vn -0.7071067811865475 0.7071067811865476 0 +vn 0.7071067811865476 0.7071067811865475 0 +vn -0.7071067811865476 -0.7071067811865475 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 84/244/61 87/243/61 85/242/61 82/241/61 +f 83/248/62 84/247/62 82/246/62 81/245/62 +f 88/252/63 83/251/63 81/250/63 86/249/63 +f 87/256/64 88/255/64 86/254/64 85/253/64 +f 86/260/65 81/259/65 82/258/65 85/257/65 +f 87/264/66 84/263/66 83/262/66 88/261/66 +o cube +v -8.326672684688674e-17 0.566069173824159 0.6875 +v -8.326672684688674e-17 0.566069173824159 -0.75 +v 0.04640388251536694 0.519665291308792 0.6875 +v 0.04640388251536694 0.519665291308792 -0.75 +v -0.04695630968816933 0.5191128641359898 -0.75 +v -0.04695630968816933 0.5191128641359898 0.6875 +v -0.0005524271728023084 0.4727089816206228 -0.75 +v -0.0005524271728023084 0.4727089816206228 0.6875 +vt 0.640625 0.5625 +vt 0.625 0.5625 +vt 0.625 0.546875 +vt 0.640625 0.546875 +vt 0.734375 0.859375 +vt 0.375 0.859375 +vt 0.375 0.84375 +vt 0.734375 0.84375 +vt 0.484375 0.375 +vt 0.46875 0.375 +vt 0.46875 0.359375 +vt 0.484375 0.359375 +vt 0.734375 0.890625 +vt 0.375 0.890625 +vt 0.375 0.875 +vt 0.734375 0.875 +vt 0.265625 0.25 +vt 0.28125 0.25 +vt 0.28125 0.609375 +vt 0.265625 0.609375 +vt 0.296875 0.609375 +vt 0.3125 0.609375 +vt 0.3125 0.25 +vt 0.296875 0.25 +vn 0 0 -1 +vn 0.7071067811865475 0.7071067811865476 0 +vn 0 0 1 +vn -0.7071067811865475 -0.7071067811865476 0 +vn -0.7071067811865476 0.7071067811865475 0 +vn 0.7071067811865476 -0.7071067811865475 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 92/268/67 95/267/67 93/266/67 90/265/67 +f 91/272/68 92/271/68 90/270/68 89/269/68 +f 96/276/69 91/275/69 89/274/69 94/273/69 +f 95/280/70 96/279/70 94/278/70 93/277/70 +f 94/284/71 89/283/71 90/282/71 93/281/71 +f 95/288/72 92/287/72 91/286/72 96/285/72 +o cube +v 0.04675000000000007 0.5095150584360891 0.7646645709543638 +v 0.04675000000000007 0.5812682020045434 0.5914371586084975 +v 0.04675000000000007 0.3940301168721783 0.7168291419087276 +v 0.04675000000000007 0.4657832604406327 0.5436017295628613 +v -0.046750000000000014 0.5812682020045434 0.5914371586084975 +v -0.046750000000000014 0.5095150584360891 0.7646645709543638 +v -0.046750000000000014 0.4657832604406327 0.5436017295628613 +v -0.046750000000000014 0.3940301168721783 0.7168291419087276 +vt 0.421875 0.390625 +vt 0.40625 0.390625 +vt 0.40625 0.359375 +vt 0.421875 0.359375 +vt 0.484375 0.828125 +vt 0.4375 0.828125 +vt 0.4375 0.796875 +vt 0.484375 0.796875 +vt 0.453125 0.390625 +vt 0.4375 0.390625 +vt 0.4375 0.359375 +vt 0.453125 0.359375 +vt 0.421875 0.828125 +vt 0.375 0.828125 +vt 0.375 0.796875 +vt 0.421875 0.796875 +vt 0.046875 0.359375 +vt 0.0625 0.359375 +vt 0.0625 0.40625 +vt 0.046875 0.40625 +vt 0.375 0.40625 +vt 0.390625 0.40625 +vt 0.390625 0.359375 +vt 0.375 0.359375 +vn 0 0.3826834323650897 -0.9238795325112867 +vn 1 0 0 +vn 0 -0.3826834323650897 0.9238795325112867 +vn -1 0 0 +vn 0 0.9238795325112867 0.3826834323650897 +vn 0 -0.9238795325112867 -0.3826834323650897 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 100/292/73 103/291/73 101/290/73 98/289/73 +f 99/296/74 100/295/74 98/294/74 97/293/74 +f 104/300/75 99/299/75 97/298/75 102/297/75 +f 103/304/76 104/303/76 102/302/76 101/301/76 +f 102/308/77 97/307/77 98/306/77 101/305/77 +f 103/312/78 100/311/78 99/310/78 104/309/78 +o cube +v 0.04675000000000007 0.523525731222588 0.5675194440856794 +v 0.04675000000000007 0.576144703172788 0.44048600836537743 +v 0.04675000000000007 0.4657832604406327 0.5436017295628613 +v 0.04675000000000007 0.5184022323908325 0.41656829384255933 +v -0.046750000000000014 0.576144703172788 0.44048600836537743 +v -0.046750000000000014 0.523525731222588 0.5675194440856794 +v -0.046750000000000014 0.5184022323908325 0.41656829384255933 +v -0.046750000000000014 0.4657832604406327 0.5436017295628613 +vt 0.640625 0.53125 +vt 0.625 0.53125 +vt 0.625 0.515625 +vt 0.640625 0.515625 +vt 0.640625 0.46875 +vt 0.609375 0.46875 +vt 0.609375 0.453125 +vt 0.640625 0.453125 +vt 0.515625 0.375 +vt 0.5 0.375 +vt 0.5 0.359375 +vt 0.515625 0.359375 +vt 0.640625 0.953125 +vt 0.609375 0.953125 +vt 0.609375 0.9375 +vt 0.640625 0.9375 +vt 0.625 0.796875 +vt 0.640625 0.796875 +vt 0.640625 0.828125 +vt 0.625 0.828125 +vt 0.21875 0.375 +vt 0.234375 0.375 +vt 0.234375 0.34375 +vt 0.21875 0.34375 +vn 0 0.3826834323650897 -0.9238795325112867 +vn 1 0 0 +vn 0 -0.3826834323650897 0.9238795325112867 +vn -1 0 0 +vn 0 0.9238795325112867 0.3826834323650897 +vn 0 -0.9238795325112867 -0.3826834323650897 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 108/316/79 111/315/79 109/314/79 106/313/79 +f 107/320/80 108/319/80 106/318/80 105/317/80 +f 112/324/81 107/323/81 105/322/81 110/321/81 +f 111/328/82 112/327/82 110/326/82 109/325/82 +f 110/332/83 105/331/83 106/330/83 109/329/83 +f 111/336/84 108/335/84 107/334/84 112/333/84 +o cube +v -0.046937500000000076 0.7982274123458662 0.6782468564315457 +v -0.046937500000000076 0.75039198330023 0.5627619148676348 +v -0.046937500000000076 0.625 0.75 +v -0.046937500000000076 0.5771645709543638 0.6345150584360891 +v -0.046937500000000076 0.75039198330023 0.5627619148676348 +v -0.046937500000000076 0.7982274123458662 0.6782468564315457 +v -0.046937500000000076 0.5771645709543638 0.6345150584360891 +v -0.046937500000000076 0.625 0.75 +vt 0.03125 0.359375 +vt 0.03125 0.359375 +vt 0.03125 0.3125 +vt 0.03125 0.3125 +vt 0.5625 0.71875 +vt 0.53125 0.71875 +vt 0.53125 0.671875 +vt 0.5625 0.671875 +vt 0.078125 0.359375 +vt 0.078125 0.359375 +vt 0.078125 0.3125 +vt 0.078125 0.3125 +vt 0.546875 1 +vt 0.515625 1 +vt 0.515625 0.953125 +vt 0.546875 0.953125 +vt 0.15625 0.328125 +vt 0.15625 0.328125 +vt 0.15625 0.359375 +vt 0.15625 0.359375 +vt 0.171875 0.359375 +vt 0.171875 0.359375 +vt 0.171875 0.328125 +vt 0.171875 0.328125 +vn 0 -0.3826834323650897 -0.9238795325112867 +vn 1 0 0 +vn 0 0.3826834323650897 0.9238795325112867 +vn -1 0 0 +vn 0 0.9238795325112867 -0.3826834323650897 +vn 0 -0.9238795325112867 0.3826834323650897 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 116/340/85 119/339/85 117/338/85 114/337/85 +f 115/344/86 116/343/86 114/342/86 113/341/86 +f 120/348/87 115/347/87 113/346/87 118/345/87 +f 119/352/88 120/351/88 118/350/88 117/349/88 +f 118/356/89 113/355/89 114/354/89 117/353/89 +f 119/360/90 116/359/90 115/358/90 120/357/90 +o cube +v -0.00006250000000007638 0.640625 0.875 +v -0.00006250000000007638 0.640625 0.75 +v -0.00006250000000007638 0.515625 0.875 +v -0.00006250000000007638 0.515625 0.75 +v -0.062437500000000035 0.640625 0.75 +v -0.062437500000000035 0.640625 0.875 +v -0.062437500000000035 0.515625 0.75 +v -0.062437500000000035 0.515625 0.875 +vt 0.640625 0.734375 +vt 0.625 0.734375 +vt 0.625 0.703125 +vt 0.640625 0.703125 +vt 0.609375 0.5625 +vt 0.578125 0.5625 +vt 0.578125 0.53125 +vt 0.609375 0.53125 +vt 0.640625 0.6875 +vt 0.625 0.6875 +vt 0.625 0.65625 +vt 0.640625 0.65625 +vt 0.609375 0.609375 +vt 0.578125 0.609375 +vt 0.578125 0.578125 +vt 0.609375 0.578125 +vt 0.328125 0.34375 +vt 0.34375 0.34375 +vt 0.34375 0.375 +vt 0.328125 0.375 +vt 0.625 0.609375 +vt 0.640625 0.609375 +vt 0.640625 0.578125 +vt 0.625 0.578125 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 124/364/91 127/363/91 125/362/91 122/361/91 +f 123/368/92 124/367/92 122/366/92 121/365/92 +f 128/372/93 123/371/93 121/370/93 126/369/93 +f 127/376/94 128/375/94 126/374/94 125/373/94 +f 126/380/95 121/379/95 122/378/95 125/377/95 +f 127/384/96 124/383/96 123/382/96 128/381/96 +o cube +v -0.031312500000000076 0.828125 0.9375 +v -0.031312500000000076 0.828125 0.75 +v -0.031312500000000076 0.515625 0.9375 +v -0.031312500000000076 0.515625 0.75 +v -0.031312500000000076 0.828125 0.75 +v -0.031312500000000076 0.828125 0.9375 +v -0.031312500000000076 0.515625 0.75 +v -0.031312500000000076 0.515625 0.9375 +vt 0.5625 0.359375 +vt 0.5625 0.359375 +vt 0.5625 0.28125 +vt 0.5625 0.28125 +vt 0.203125 0.5625 +vt 0.15625 0.5625 +vt 0.15625 0.484375 +vt 0.203125 0.484375 +vt 0.640625 0.4375 +vt 0.640625 0.4375 +vt 0.640625 0.359375 +vt 0.640625 0.359375 +vt 0.453125 0.609375 +vt 0.40625 0.609375 +vt 0.40625 0.53125 +vt 0.453125 0.53125 +vt 0.578125 0.3125 +vt 0.578125 0.3125 +vt 0.578125 0.359375 +vt 0.578125 0.359375 +vt 0.59375 0.359375 +vt 0.59375 0.359375 +vt 0.59375 0.3125 +vt 0.59375 0.3125 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 132/388/97 135/387/97 133/386/97 130/385/97 +f 131/392/98 132/391/98 130/390/98 129/389/98 +f 136/396/99 131/395/99 129/394/99 134/393/99 +f 135/400/100 136/399/100 134/398/100 133/397/100 +f 134/404/101 129/403/101 130/402/101 133/401/101 +f 135/408/102 132/407/102 131/406/102 136/405/102 +o cube +v -0.00006250000000007638 0.5 0.9375 +v -0.00006250000000007638 0.5 0.25 +v -0.00006250000000007638 0.1875 0.9375 +v -0.00006250000000007638 0.1875 0.25 +v -0.00006250000000007638 0.5 0.25 +v -0.00006250000000007638 0.5 0.9375 +v -0.00006250000000007638 0.1875 0.25 +v -0.00006250000000007638 0.1875 0.9375 +vt 0.609375 0.359375 +vt 0.609375 0.359375 +vt 0.609375 0.28125 +vt 0.609375 0.28125 +vt 0.359375 0.875 +vt 0.1875 0.875 +vt 0.1875 0.796875 +vt 0.359375 0.796875 +vt 0.625 0.359375 +vt 0.625 0.359375 +vt 0.625 0.28125 +vt 0.625 0.28125 +vt 0.171875 0.875 +vt 0 0.875 +vt 0 0.796875 +vt 0.171875 0.796875 +vt 0.046875 0.171875 +vt 0.046875 0.171875 +vt 0.046875 0.34375 +vt 0.046875 0.34375 +vt 0.0625 0.34375 +vt 0.0625 0.34375 +vt 0.0625 0.171875 +vt 0.0625 0.171875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 140/412/103 143/411/103 141/410/103 138/409/103 +f 139/416/104 140/415/104 138/414/104 137/413/104 +f 144/420/105 139/419/105 137/418/105 142/417/105 +f 143/424/106 144/423/106 142/422/106 141/421/106 +f 142/428/107 137/427/107 138/426/107 141/425/107 +f 143/432/108 140/431/108 139/430/108 144/429/108 +o cube +v 0.08838834764831843 0.5 -0.546875 +v 0.08838834764831843 0.5 -0.546875 +v -6.938893903907228e-18 0.41161165235168157 -0.546875 +v -6.938893903907228e-18 0.41161165235168157 -0.546875 +v 6.938893903907228e-18 0.5883883476483185 -0.546875 +v 6.938893903907228e-18 0.5883883476483185 -0.546875 +v -0.08838834764831843 0.5 -0.546875 +v -0.08838834764831843 0.5 -0.546875 +vt 0.609375 0.515625 +vt 0.578125 0.515625 +vt 0.578125 0.484375 +vt 0.609375 0.484375 +vt 0.65625 1 +vt 0.65625 1 +vt 0.65625 0.96875 +vt 0.65625 0.96875 +vt 0.03125 0.40625 +vt 0 0.40625 +vt 0 0.375 +vt 0.03125 0.375 +vt 0.640625 0.78125 +vt 0.640625 0.78125 +vt 0.640625 0.75 +vt 0.640625 0.75 +vt 0.640625 0.640625 +vt 0.671875 0.640625 +vt 0.671875 0.640625 +vt 0.640625 0.640625 +vt 0.640625 0.625 +vt 0.671875 0.625 +vt 0.671875 0.625 +vt 0.640625 0.625 +vn 0 0 -1 +vn 0.7071067811865475 -0.7071067811865476 0 +vn 0 0 1 +vn -0.7071067811865475 0.7071067811865476 0 +vn 0.7071067811865476 0.7071067811865475 0 +vn -0.7071067811865476 -0.7071067811865475 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 148/436/109 151/435/109 149/434/109 146/433/109 +f 147/440/110 148/439/110 146/438/110 145/437/110 +f 152/444/111 147/443/111 145/442/111 150/441/111 +f 151/448/112 152/447/112 150/446/112 149/445/112 +f 150/452/113 145/451/113 146/450/113 149/449/113 +f 151/456/114 148/455/114 147/454/114 152/453/114 +o cube +v -8.326672684688674e-17 0.628569173824159 0.6875 +v -8.326672684688674e-17 0.628569173824159 -0.75 +v 0.04640388251536698 0.582165291308792 0.6875 +v 0.04640388251536698 0.582165291308792 -0.75 +v -0.04695630968816933 0.5816128641359898 -0.75 +v -0.04695630968816933 0.5816128641359898 0.6875 +v -0.0005524271728022702 0.5352089816206227 -0.75 +v -0.0005524271728022702 0.5352089816206227 0.6875 +vt 0.640625 0.5625 +vt 0.625 0.5625 +vt 0.625 0.546875 +vt 0.640625 0.546875 +vt 0.734375 0.875 +vt 0.375 0.875 +vt 0.375 0.859375 +vt 0.734375 0.859375 +vt 0.484375 0.375 +vt 0.46875 0.375 +vt 0.46875 0.359375 +vt 0.484375 0.359375 +vt 0.734375 0.890625 +vt 0.375 0.890625 +vt 0.375 0.875 +vt 0.734375 0.875 +vt 0.28125 0.25 +vt 0.296875 0.25 +vt 0.296875 0.609375 +vt 0.28125 0.609375 +vt 0.296875 0.609375 +vt 0.3125 0.609375 +vt 0.3125 0.25 +vt 0.296875 0.25 +vn 0 0 -1 +vn 0.7071067811865475 0.7071067811865476 0 +vn 0 0 1 +vn -0.7071067811865475 -0.7071067811865476 0 +vn -0.7071067811865476 0.7071067811865475 0 +vn 0.7071067811865476 -0.7071067811865475 0 +usemtl m_2fae0962-6878-9312-f690-fafaddc2a80c +f 156/460/115 159/459/115 157/458/115 154/457/115 +f 155/464/116 156/463/116 154/462/116 153/461/116 +f 160/468/117 155/467/117 153/466/117 158/465/117 +f 159/472/118 160/471/118 158/470/118 157/469/118 +f 158/476/119 153/475/119 154/474/119 157/473/119 +f 159/480/120 156/479/120 155/478/120 160/477/120 \ No newline at end of file diff --git a/resources/models/musket/musket.vtx b/resources/models/musket/musket.vtx new file mode 100644 index 0000000..2372f41 Binary files /dev/null and b/resources/models/musket/musket.vtx differ diff --git a/resources/models/musket/musket_mat.json b/resources/models/musket/musket_mat.json new file mode 100644 index 0000000..16a84ff --- /dev/null +++ b/resources/models/musket/musket_mat.json @@ -0,0 +1,44 @@ +[ + { + "ID": "musket-mat-0", + "TexturePath": "", + "NormalTexturePath": "", + "MetalRoughnessMap": "", + "DiffuseColour": { + "X": 0.6, + "Y": 0.6, + "Z": 0.6, + "W": 1.0 + }, + "Roughness": 0.0, + "Metallic": 0.0 + }, + { + "ID": "musket-mat-1", + "TexturePath": "resources\\models\\musket\\Musket.png", + "NormalTexturePath": "", + "MetalRoughnessMap": "", + "DiffuseColour": { + "X": 0.6, + "Y": 0.6, + "Z": 0.6, + "W": 1.0 + }, + "Roughness": 0.0, + "Metallic": 0.0 + }, + { + "ID": "musket-mat-2", + "TexturePath": "", + "NormalTexturePath": "", + "MetalRoughnessMap": "", + "DiffuseColour": { + "X": 0.6, + "Y": 0.6, + "Z": 0.6, + "W": 1.0 + }, + "Roughness": 0.0, + "Metallic": 0.0 + } +] \ No newline at end of file diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/IPhysicsController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/IPhysicsController.java index 84c9a72..790ed72 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/IPhysicsController.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/IPhysicsController.java @@ -7,6 +7,7 @@ import org.joml.Vector3f; import java.util.List; public interface IPhysicsController { + public boolean ApplyRotationalForce(); public String ID(); public String ActorID(); public String MeshID(); diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/LegacyPhysicsController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/LegacyPhysicsController.java index 9675194..2b8e19d 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/LegacyPhysicsController.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/LegacyPhysicsController.java @@ -22,6 +22,7 @@ public class LegacyPhysicsController implements IPhysicsController { Sensor } + public List collisionSensors; public Vector3f Velocities = new Vector3f(0,0,0); public Vector3f WeightBalance = new Vector3f(0,0,0); @@ -93,6 +94,11 @@ public class LegacyPhysicsController implements IPhysicsController { return this; } + @Override + public boolean ApplyRotationalForce() { + return false; + } + @Override public String ID() { return ""; diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/ConvexMesh.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/ConvexMesh.java index 827d9f3..6053281 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/ConvexMesh.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/ConvexMesh.java @@ -2,6 +2,7 @@ package net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody; import org.joml.Quaternionf; import org.joml.Vector3f; +import org.joml.primitives.AABBf; import java.util.ArrayList; import java.util.Arrays; @@ -34,6 +35,17 @@ public class ConvexMesh { return vertex; } + public AABBf GetWorldAABB() { + float minX = Float.MAX_VALUE, minY = Float.MAX_VALUE, minZ = Float.MAX_VALUE; + float maxX = -Float.MAX_VALUE, maxY = -Float.MAX_VALUE, maxZ = -Float.MAX_VALUE; + for (int i = 0; i < LocalVertices.size(); i++) { + Vector3f w = WorldVertex(i); + minX = Math.min(minX, w.x); minY = Math.min(minY, w.y); minZ = Math.min(minZ, w.z); + maxX = Math.max(maxX, w.x); maxY = Math.max(maxY, w.y); maxZ = Math.max(maxZ, w.z); + } + return new AABBf(minX, minY, minZ, maxX, maxY, maxZ); + } + public Vector3f WorldFaceNormal(Face f) { Vector3f normal = new Vector3f(f.LocalNormal); Orientation.transform(normal); diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidBody.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidBody.java index ad04333..32ec31d 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidBody.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidBody.java @@ -1,6 +1,7 @@ package net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody; import net.halbear.Terrain4J.EngineCore.Logic.Physics.IPhysicsController; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.LegacyPhysicsController; import org.joml.Matrix3f; import org.joml.Quaternionf; import org.joml.Vector3f; @@ -21,6 +22,8 @@ public class RigidBody { public AABBf BoundingBox; + public boolean OnGround = false; + public Vector3f LastPosition = new Vector3f(); public final Vector3f Position; public final Quaternionf Rotation; public Vector3f WeightBalance = new Vector3f(0,0,0); @@ -44,6 +47,14 @@ public class RigidBody { public float Friction = 0.5f; public boolean IsStatic = false; + public boolean RotationLocked = false; + + public boolean UsesFrictionResolution = true; + + public final Vector3f PreviousPosition = new Vector3f(); + + public boolean Grounded = false; + public String PhysicsControllerID = "NULL"; public final String RigidBodyID; @@ -57,6 +68,13 @@ public class RigidBody { SetMass(MassKG); } + public RigidBody LockRotation(){ + RotationLocked = true; + InverseInertiaLocal.zero(); + InverseInertiaWorld.zero(); + return this; + } + public void SetMass(float mass) { this.MassKG = mass; if (mass <= 0f) { @@ -70,7 +88,7 @@ public class RigidBody { } public void SetRigidBoxInertia(float x, float y, float z){ - if(IsStatic) return; + if(IsStatic || RotationLocked) return; float width = 2 * x, height = 2 * y, depth = 2 * z; float ix = (MassKG/12.0f) * (height * height + depth * depth); float iy = (MassKG/12.0f) * (width * width + depth * depth); @@ -83,7 +101,7 @@ public class RigidBody { } public void UpdateInertiaWorld(){ - if(IsStatic) { + if(IsStatic || RotationLocked) { InverseInertiaWorld.zero(); return; } @@ -115,8 +133,11 @@ public class RigidBody { private final Vector3f GravityToAdd = new Vector3f(); private final Vector3f VelocityToAdd = new Vector3f(); public void Integrate(float DeltaTime, Vector3f Gravity){ + PreviousPosition.set(Position); if(IsStatic) return; - LinearVelocity.add(GravityToAdd.set(Gravity).mul(DeltaTime)); + if(!Grounded) { + LinearVelocity.add(GravityToAdd.set(Gravity).mul(DeltaTime)); + } Position.add(VelocityToAdd.set(LinearVelocity).mul(DeltaTime)); Quaternionf Spin = new Quaternionf( diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidCollision.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidCollision.java index 795bb6b..4ce2612 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidCollision.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidCollision.java @@ -5,8 +5,11 @@ import org.joml.Vector3f; //Resolves the Separating Axis Theorem Test into reaction forces in impulses and position correction public class RigidCollision { - private static final float CORRECTION_THRESHOLD = 0.9f; //how much it gets corrected positionally per physics step - private static final float SLOP = 0.001f; // amount of overlap can happen before collision gets corrected + private static final float CORRECTION_THRESHOLD = 1.0f; + private static final float SLOP = 0.00f; + + private static final float GROUNDED_DOT_THRESHOLD = 0.7f; + private static final Vector3f WorldUp = new Vector3f(0, 1, 0); public synchronized static void ResolveCollision(RigidBody body1, RigidBody body2, SeparatingAxisTheoremTester.CollisionResult collisionResult){ Vector3f Normal = collisionResult.Normal; @@ -15,6 +18,9 @@ public class RigidCollision { } CorrectPositioning(body1,body2,Normal,collisionResult.Penetration); + + if(Normal.dot(WorldUp) > GROUNDED_DOT_THRESHOLD && !body2.IsStatic) body2.Grounded = true; + if(-Normal.dot(WorldUp) > GROUNDED_DOT_THRESHOLD && !body1.IsStatic) body1.Grounded = true; } private static final Vector3f Dist1 = new Vector3f(); @@ -24,7 +30,6 @@ public class RigidCollision { private static final Vector3f RelativeVelocity = new Vector3f(); private synchronized static void ResolveContact(RigidBody body1, RigidBody body2, Vector3f normal, SeparatingAxisTheoremTester.Contact contact){ Vector3f Point = contact.Point; - Dist1.set(Point).sub(body1.Position); Dist2.set(Point).sub(body2.Position); @@ -43,8 +48,8 @@ public class RigidCollision { float j = -(1 + Restitution) * VelocityAlongNormal / InverseMassSum; Impulse.set(normal).mul(j); - body1.LinearVelocity.mul(-1,body1.LinearVelocity.y < 0 ? 1 : -1,-1).mul(body1.Bounciness,body1.LinearVelocity.y < 0 ? 1 : body1.Bounciness,body1.Bounciness); - body2.LinearVelocity.mul(-1,body2.LinearVelocity.y < 0 ? 1 : -1,-1).mul(body2.Bounciness,body2.LinearVelocity.y < 0 ? 1 : body2.Bounciness,body2.Bounciness); + // body1.LinearVelocity.mul(-1,body1.LinearVelocity.y < 0 ? 1 : -1,-1).mul(body1.Bounciness,body1.LinearVelocity.y < 0 ? 1 : body1.Bounciness,body1.Bounciness); + // body2.LinearVelocity.mul(-1,body2.LinearVelocity.y < 0 ? 1 : -1,-1).mul(body2.Bounciness,body2.LinearVelocity.y < 0 ? 1 : body2.Bounciness,body2.Bounciness); body1.ApplyImpulse(NegatedImpulse.set(Impulse).negate(), Point); diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidPhysicsController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidPhysicsController.java index 1776eb0..18489c4 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidPhysicsController.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/RigidPhysicsController.java @@ -23,6 +23,7 @@ public class RigidPhysicsController implements IPhysicsController { return RigidControllerRegister.get(ID); } public final List Collisions = new ArrayList<>(); + public boolean ApplyRotation = true; public static RigidBody Ground = new RigidBody("FLOOR",ConvexMesh.Box(100,100f,100),0); public static RigidBody Wall = new RigidBody("WALL",ConvexMesh.Box(100,100f,10),0); @@ -78,6 +79,11 @@ public class RigidPhysicsController implements IPhysicsController { return this; } + @Override + public boolean ApplyRotationalForce() { + return ApplyRotation; + } + @Override public String ID() { return ControllerID; @@ -103,7 +109,7 @@ public class RigidPhysicsController implements IPhysicsController { rigidBody.Integrate(DeltaTime, new Vector3f(0,-1.8f,0)); if(Actor.Actors.get(ActorID) != null) { Actor.Actors.get(ActorID).SetPosition(new Vector3f(rigidBody.Position)); - Actor.Actors.get(ActorID).SetRotation(rigidBody.Rotation); + if(ApplyRotation) Actor.Actors.get(ActorID).SetRotation(rigidBody.Rotation); } } /* diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/SeparatingAxisTheoremTester.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/SeparatingAxisTheoremTester.java index 9c50aa6..8df545d 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/SeparatingAxisTheoremTester.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/RigidBody/SeparatingAxisTheoremTester.java @@ -115,6 +115,7 @@ public class SeparatingAxisTheoremTester { //Face collision/clipping ConvexMesh ReferenceMesh = BestFaceOwner; + if(ReferenceMesh == null) return null; ConvexMesh IncidentMesh = (ReferenceMesh == Mesh1) ? Mesh2 : Mesh1; ConvexMesh.Face ReferenceFace = BestFace; Vector3f ReferenceFaceNormalWorld = ReferenceMesh.WorldFaceNormal(ReferenceFace); diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/SpatialHashGrid.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/SpatialHashGrid.java new file mode 100644 index 0000000..aa761a1 --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/SpatialHashGrid.java @@ -0,0 +1,45 @@ +package net.halbear.Terrain4J.EngineCore.Logic.Physics; + +import org.joml.primitives.AABBf; + +import java.util.*; + +public class SpatialHashGrid { + public static float CellSize = 3f; + + private static final Map> Cells = new HashMap<>(); + + public static void Clear() { + Cells.clear(); + } + + public static void Insert(String bodyID, AABBf worldBounds) { + int minX = (int) Math.floor(worldBounds.minX / CellSize); + int minY = (int) Math.floor(worldBounds.minY / CellSize); + int minZ = (int) Math.floor(worldBounds.minZ / CellSize); + int maxX = (int) Math.floor(worldBounds.maxX / CellSize); + int maxY = (int) Math.floor(worldBounds.maxY / CellSize); + int maxZ = (int) Math.floor(worldBounds.maxZ / CellSize); + + for (int x = minX; x <= maxX; x++) { + for (int y = minY; y <= maxY; y++) { + for (int z = minZ; z <= maxZ; z++) { + long key = HashCell(x, y, z); + Cells.computeIfAbsent(key, k -> new ArrayList<>()).add(bodyID); + } + } + } + } + + private static long HashCell(int x, int y, int z) { + long xi = ((long) x) & 0x1FFFFFL; + long yi = ((long) y) & 0x1FFFFFL; + long zi = ((long) z) & 0x1FFFFFL; + return (xi << 42) | (yi << 21) | zi; + } + + public static Collection> Buckets() { + return Cells.values(); + } + +} diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/WorldPhysicsManager.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/WorldPhysicsManager.java index 1d1ecbd..d83d7b1 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/WorldPhysicsManager.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Logic/Physics/WorldPhysicsManager.java @@ -1,15 +1,17 @@ package net.halbear.Terrain4J.EngineCore.Logic.Physics; import net.halbear.Terrain4J.EngineCore.Logic.EngineConfig; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.ConvexMesh; import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidBody; import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidCollision; import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.SeparatingAxisTheoremTester; import net.halbear.Terrain4J.EngineCore.Threads.PhysicsThread; +import org.joml.Vector2f; +import org.joml.Vector3f; +import org.joml.primitives.AABBf; +import org.joml.primitives.Intersectionf; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class WorldPhysicsManager { public static float GravityMS = 9.8f; @@ -75,6 +77,8 @@ public class WorldPhysicsManager { for (int i = 0; i < ActiveControllers.size(); i++) { PhysicsObjects.get(ActiveControllers.get(i)).PhysicsTick(FixedTimeStep, TargetFrameTime); } + SweepForTunneling(); + ResetGroundedFlags(); ResolveAllCollisions(); Accumulator -= FixedTimeStep; stepsRun++; @@ -86,20 +90,61 @@ public class WorldPhysicsManager { } private static void ResolveAllCollisions() { List ids = RigidBody.RigidBodies; - for (int i = 0; i < ids.size(); i++) { - RigidBody a = RigidBody.RigidBodyRegister.get(ids.get(i)); - if (a == null) continue; - for (int j = i + 1; j < ids.size(); j++) { - RigidBody b = RigidBody.RigidBodyRegister.get(ids.get(j)); - if (b == null) continue; - if (a.IsStatic && b.IsStatic) continue; - SeparatingAxisTheoremTester.CollisionResult result = SeparatingAxisTheoremTester.TestCollision(a.shape, b.shape); - if (result != null) { - RigidCollision.ResolveCollision(a, b, result); + List dynamicBodies = new ArrayList<>(); + List staticBodies = new ArrayList<>(); + Map worldBounds = new HashMap<>(); + + SpatialHashGrid.Clear(); + for (int i = 0; i < ids.size(); i++) { + RigidBody body = RigidBody.RigidBodyRegister.get(ids.get(i)); + if (body == null) continue; + + AABBf bounds = body.shape.GetWorldAABB(); + worldBounds.put(body.RigidBodyID, bounds); + + if (body.IsStatic) { + staticBodies.add(body); + } else { + dynamicBodies.add(body); + SpatialHashGrid.Insert(body.RigidBodyID, bounds); + } + } + + Set testedPairs = new HashSet<>(); + + for (List bucket : SpatialHashGrid.Buckets()) { + int size = bucket.size(); + for (int i = 0; i < size; i++) { + RigidBody a = RigidBody.RigidBodyRegister.get(bucket.get(i)); + if (a == null) continue; + for (int j = i + 1; j < size; j++) { + RigidBody b = RigidBody.RigidBodyRegister.get(bucket.get(j)); + if (b == null || a == b) continue; + TryResolve(a, b, worldBounds, testedPairs); } } } + + for (RigidBody dyn : dynamicBodies) { + for (RigidBody stat : staticBodies) { + TryResolve(dyn, stat, worldBounds, testedPairs); + } + } + } + + private static void TryResolve(RigidBody a, RigidBody b, Map worldBounds, Set testedPairs) { + String key = a.RigidBodyID.compareTo(b.RigidBodyID) < 0 + ? a.RigidBodyID + "|" + b.RigidBodyID + : b.RigidBodyID + "|" + a.RigidBodyID; + if (!testedPairs.add(key)) return; + + if (!worldBounds.get(a.RigidBodyID).intersectsAABB(worldBounds.get(b.RigidBodyID))) return; + + SeparatingAxisTheoremTester.CollisionResult result = SeparatingAxisTheoremTester.TestCollision(a.shape, b.shape); + if (result != null) { + RigidCollision.ResolveCollision(a, b, result); + } } public static void PhysicsTick2(float DeltaTime, float TargetFrameTime){ @@ -109,6 +154,8 @@ public class WorldPhysicsManager { for (int i = 0; i < ActiveControllers.size(); i++) { PhysicsObjects.get(ActiveControllers.get(i)).PhysicsTick(DeltaTime, TargetFrameTime); } + SweepForTunneling(); + ResetGroundedFlags(); ResolveAllCollisions(); for (int i = 0; i < ActiveControllers.size(); i++) { PhysicsObjects.get(ActiveControllers.get(i)).Collisions().clear(); @@ -130,4 +177,67 @@ public class WorldPhysicsManager { } } + private static void ResetGroundedFlags() { + List ids = RigidBody.RigidBodies; + for (int i = 0; i < ids.size(); i++) { + RigidBody body = RigidBody.RigidBodyRegister.get(ids.get(i)); + if (body != null) body.Grounded = false; + } + } + + public static float MinSweepDistanceFactor = 0.5f; + + public static float SweepMarginFactor = 0.5f; + private static void SweepForTunneling() { + List ids = RigidBody.RigidBodies; + for (int i = 0; i < ids.size(); i++) { + RigidBody body = RigidBody.RigidBodyRegister.get(ids.get(i)); + if (body == null || body.IsStatic) continue; + + Vector3f from = body.PreviousPosition; + Vector3f to = body.Position; + float movedDistanceSq = from.distanceSquared(to); + if (movedDistanceSq < 1e-8f) continue; + + float radius = BoundingRadius(body.shape); + float minSweepDistSq = (radius * radius) * (MinSweepDistanceFactor * MinSweepDistanceFactor); + if (movedDistanceSq < minSweepDistSq) continue; // moved a normal, slow amount - discrete SAT already handles this fine + + float margin = radius * SweepMarginFactor; + Float earliestT = null; + + for (int j = 0; j < ids.size(); j++) { + if (i == j) continue; + RigidBody other = RigidBody.RigidBodyRegister.get(ids.get(j)); + if (other == null) continue; + + Float t = RaySweepAABB(from, to, other.shape.GetWorldAABB(), margin); + if (t != null && (earliestT == null || t < earliestT)) { + earliestT = t; + } + } + + if (earliestT != null) { + Vector3f safePosition = new Vector3f(from).lerp(to, Math.max(0f, earliestT - 0.01f)); + body.Position.set(safePosition); + } + } + } + + private static Float RaySweepAABB(Vector3f from, Vector3f to, AABBf bounds, float margin) { + Vector3f dir = new Vector3f(to).sub(from); + Vector3f min = new Vector3f(bounds.minX - margin, bounds.minY - margin, bounds.minZ - margin); + Vector3f max = new Vector3f(bounds.maxX + margin, bounds.maxY + margin, bounds.maxZ + margin); + Vector2f result = new Vector2f(); + boolean hit = Intersectionf.intersectRayAab(from, dir, min, max, result); + if (!hit) return null; + if (result.x < 0f || result.x > 1f) return null; + return result.x; + } + + private static float BoundingRadius(ConvexMesh shape) { + Vector3f half = new Vector3f(shape.TopRightForward).sub(shape.BottomLeftBack).mul(0.5f); + return half.length(); + } + } diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/GameCore.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/GameCore.java index 8b28a97..dbe1ab3 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/GameCore.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/GameCore.java @@ -45,7 +45,7 @@ import static org.lwjgl.glfw.GLFW.*; public class GameCore implements GameLogic { private static final float MOUSE_SENSITIVITY = 0.1f; - private static final float MOVEMENT_SPEED = 0.025f; + private static final float MOVEMENT_SPEED = 0.01f; public static boolean LoadingLevel = false; public List CubeActors = new ArrayList<>(); @@ -67,6 +67,7 @@ public class GameCore implements GameLogic { public List ActorEditorComponents = new ArrayList<>(); private Gimbal gimbal; private Vector2f DeltaPos = new Vector2f(0,0); + private String PlayerActorID = "NULL"; public Vector2f GetDeltaPos(){return DeltaPos;} @Override @@ -101,6 +102,17 @@ public class GameCore implements GameLogic { CollisionMesh mesh = new CollisionMesh("Super Collision Mesh","NULL"); mesh.AddNewCollisionPoly(new Vector3f(-100,-5,100),new Vector3f(-100,-5.5f,-100),new Vector3f(100,-6,-100)); mesh.AddNewCollisionPoly(new Vector3f(100,-5.5f,100),new Vector3f(100,-6,-100),new Vector3f(-100,-5,100)); + + ModelData MusketData = ModelLoader.LoadModel("resources/models/musket/musket.json"); + List MusketMat = ModelLoader.LoadMaterials("resources/models/musket/musket_mat.json"); + var Musket = new PlayerActor("DebugCamera","Player", MusketData.ID(), new Vector3f(0,5f,-5f)).SetCameraOffset(new Vector3f(0,1.0f,0)); + Musket.SetPositionOffset(new Vector3f(0.5f,1.0f,-1.25f)); + Musket.SetRotation(0,(float)Math.toRadians(180),0); + Musket.CreatePhysicsController( ConvexMesh.Box(0.5f,0.75f,0.5f),200f); + PlayerActorID = "Player"; + + RigidPhysicsController physicsController = (RigidPhysicsController) Musket.GetPhysicsController(); + RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LockRotation(); try { Melona.GenerateCollisionMesh(MelonaData); Melona.SetPhysicsType(Actor.PhysicsControllerType.T4JLegacyCollision); @@ -110,12 +122,15 @@ public class GameCore implements GameLogic { } mesh.RegisterMesh(); scene.AddActor(Melona); + scene.AddActor(Musket); ActorEditorComponents.add(new EditorActorComponent(Melona,new Vector3f(0,0f,-5f),new Vector3f(1.0f,1.8f,1.0f))); CubeActors.forEach(scene::AddActor); List materials = new ArrayList<>(); materials.addAll(MelonaDataMat); + materials.addAll(MusketMat); models.add(MelonaData); + models.add(MusketData); Camera camera = scene.GetCamera(); camera.SetPosition(0,0,0); camera.SetRotation(0,0,0); @@ -170,7 +185,7 @@ public class GameCore implements GameLogic { Melona.CreatePhysicsController( ConvexMesh.Box(0.5f,0.5f,0.5f),20); RigidPhysicsController physicsController = (RigidPhysicsController) Melona.GetPhysicsController(); - RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LinearVelocity.set(0,0,-20f -(40f * (float)Math.random())); + //RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LinearVelocity.set(0,0,-20f -(40f * (float)Math.random())); scene.AddActor(Melona); } @@ -224,6 +239,10 @@ public class GameCore implements GameLogic { @Override public void RenderThreadInput(EngineInstance engineInstance, long FrameDiffNanoSeconds) { + Actor player = Actor.Actors.get(PlayerActorID); + if(player != null){ + player.TickUpdate(); + } engineInstance.scene().CameraTick(FrameDiffNanoSeconds); if(ChangeGraphicsSettings){ if(NextAAMode != -1){ @@ -248,6 +267,8 @@ public class GameCore implements GameLogic { KeyboardInput input = window.getKeyboardInput(); float MovementDist = (float)(FrameDiffNanoSeconds / 1000000L) * MOVEMENT_SPEED; Camera camera = scene.GetCamera(); + PlayerActor playerActor = (PlayerActor) Actor.Actors.get(PlayerActorID); + if(playerActor!= null)camera = Camera.GetCamera(playerActor.AttachedCameraID); if(input.keyPressed(GLFW_KEY_ENTER)) { SpawnNewActor(engineInstance, new Vector3f( (float)(5 * Math.random()),20 + (float)(10 * Math.random()), (float)(5 * Math.random())),new Vector3f(-1f + (float)(2 * Math.random()),-1f + (float)(2 * Math.random()),-1f + (float)(2 * Math.random())),new Vector3f((float)Math.random(),(float)Math.random(),(float)Math.random())); } @@ -269,22 +290,30 @@ public class GameCore implements GameLogic { EngineConfig.getInstance().SetRenderCollisionMesh(!EngineConfig.getInstance().RenderCollisionMeshes()); } if(input.keyPressed(GLFW_KEY_W)){ - camera.MoveForward(MovementDist); + if(playerActor == null)camera.MoveForward(MovementDist); + else playerActor.Move(new Vector3f(MovementDist* (float)Math.sin((camera.GetRotation().y)),0,-MovementDist* (float)Math.cos((camera.GetRotation().y)))); } if(input.keyPressed(GLFW_KEY_S)){ - camera.MoveBackward(MovementDist); + if(playerActor == null)camera.MoveBackward(MovementDist); + else playerActor.Move(new Vector3f(-MovementDist* (float)Math.sin((camera.GetRotation().y)),0,MovementDist * (float)Math.cos((camera.GetRotation().y)))); } if(input.keyPressed(GLFW_KEY_A)){ - camera.MoveLeft(MovementDist); + if(playerActor == null) camera.MoveLeft(MovementDist); + else playerActor.Move(new Vector3f(-MovementDist * (float)Math.cos((camera.GetRotation().y)),0,-MovementDist * (float)Math.sin((camera.GetRotation().y)))); } if(input.keyPressed(GLFW_KEY_D)){ - camera.MoveRight(MovementDist); + if(playerActor == null)camera.MoveRight(MovementDist); + else playerActor.Move(new Vector3f(MovementDist * (float)Math.cos((camera.GetRotation().y)),0,MovementDist * (float)Math.sin((camera.GetRotation().y)))); } if(input.keyPressed(GLFW_KEY_SPACE)){ - camera.MoveUp(MovementDist); + if(playerActor == null)camera.MoveUp(MovementDist); + } + if(input.keySinglePress(GLFW_KEY_SPACE)){ + // camera.MoveUp(MovementDist); + if(playerActor != null)playerActor.Move(new Vector3f(0,5f,0)); } if(input.keyPressed(GLFW_KEY_LEFT_SHIFT)){ - camera.MoveDown(MovementDist); + if(playerActor == null)camera.MoveDown(MovementDist); } if(input.keyPressed(GLFW_KEY_LEFT_CONTROL)){ camera.Sprint(true); @@ -340,7 +369,7 @@ public class GameCore implements GameLogic { if(PrimaryRuntime.GetFastThread().Ticks(20)==0){ //CollisionManager.UpdateCollisionChunks(); } - WorldPhysicsManager.SteppedPhysicsTick2(DeltaTime, PhysicsFramerate); + WorldPhysicsManager.PhysicsTick2(DeltaTime, PhysicsFramerate); } @Override diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Actor.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Actor.java index 0bfec34..f66bb05 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Actor.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Actor.java @@ -29,6 +29,7 @@ public class Actor{ private final String ModelID; private final Matrix4f ModelMatrix; private final Vector3f Position; + private final Vector3f PositionOffset; private final Quaternionf Rotation; private CollisionMesh collisionMesh; private Vector3f Scale; @@ -51,6 +52,7 @@ public class Actor{ ActorNames.add(ID); this.ModelID = ModelID; this.Position = Position; + this.PositionOffset = new Vector3f(); TemporaryVector = new Vector3f(); PivotOffset = new Vector3f(); AdditionalPivotOffset = new Vector3f(); @@ -61,6 +63,20 @@ public class Actor{ Actors.put(ID,this); } + public Vector3f GetPositionOffset(){ + return PositionOffset; + } + + public Actor SetPositionOffset(Vector3f PositionOffset){ + this.PositionOffset.set(PositionOffset); + return this; + } + + public Actor SetPositionOffset(float x, float y, float z){ + this.PositionOffset.set(x,y,z); + return this; + } + public Vector3f GetAditionalPivotOffset(){return AdditionalPivotOffset;} public Actor SetAditionalPivotOffset(Vector3f offset){ @@ -75,6 +91,10 @@ public class Actor{ return this; } + public void TickUpdate() { + + } + public IPhysicsController GetPhysicsController(){return physicsController;} public Actor CreatePhysicsController(ConvexMesh mesh, float Mass){ @@ -106,6 +126,13 @@ public class Actor{ UpdateModelMatrix(); return this; } + + public Actor SetRotMatrix(Vector3f rot){ + Rotation.set(0,0,0,1.0f); + SetRotation(rot); + return this; + } + public Actor SetRotation(Vector3f rot){ Rotation.rotateX(rot.x); Rotation.rotateY(rot.y); @@ -146,7 +173,8 @@ public class Actor{ public void UpdateModelMatrix(){ ModelMatrix.translateLocal(TemporaryVector.set(PivotOffset).add(AdditionalPivotOffset)); - ModelMatrix.translationRotateScale(Position, Rotation, Scale); + ModelMatrix.translationRotateScale(new Vector3f(Position), Rotation, Scale); + ModelMatrix.translate(PositionOffset); ModelMatrix.translateLocal(TemporaryVector.negate()); } diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Camera.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Camera.java index 3d6ca69..e5ac7dc 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Camera.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Camera.java @@ -4,7 +4,12 @@ import net.halbear.Terrain4J.EngineCore.Logic.EngineConfig; import org.joml.Matrix4f; import org.joml.Vector3f; +import java.util.HashMap; +import java.util.Map; + public class Camera { + public static final Map CameraRegistry = new HashMap<>(); + private final Vector3f Direction; private final Vector3f Position; private final Vector3f Right; @@ -13,12 +18,13 @@ public class Camera { private final Matrix4f ViewMatrix; private float FOV = (float) (60 * EngineConfig.DegToRad); private boolean Sprint; + private final String ID; public Vector3f GetDirection(){ return Direction; } - public Camera CloneCamera(){ - Camera NewCam = new Camera(); + public Camera CloneCamera(String CameraName){ + Camera NewCam = new Camera(CameraName); NewCam.SetPosition(Position.x, Position.y, Position.z); NewCam.SetRotation(Rotation.x, Rotation.y, Rotation.z); NewCam.Right.set(new Vector3f(Right)); @@ -29,13 +35,23 @@ public class Camera { return NewCam; } - public Camera(){ + public static Camera GetCamera(String CameraID){ + return CameraRegistry.get(CameraID); + } + + public String GetID(){ + return ID; + } + + public Camera(String CameraName){ Direction = new Vector3f(); Position = new Vector3f(); Right = new Vector3f(); Rotation = new Vector3f(); Up = new Vector3f(); ViewMatrix = new Matrix4f(); + ID = CameraName; + CameraRegistry.put(CameraName,this); } public Camera SetFOVrad(float FOVradians){ diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerActor.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerActor.java new file mode 100644 index 0000000..3113053 --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerActor.java @@ -0,0 +1,70 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene; + +import net.halbear.Terrain4J.EngineCore.Logic.EngineConfig; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.ConvexMesh; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidBody; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidPhysicsController; +import org.joml.Quaternionf; +import org.joml.Vector3f; +import org.tinylog.Logger; + +public class PlayerActor extends Actor{ + + public String AttachedCameraID; + public final Vector3f CameraOffset = new Vector3f(0,0,0); + Camera PlayerCam; + + public PlayerActor(String AttachedCameraID, String ID, String ModelID, Vector3f Position) { + this.AttachedCameraID = AttachedCameraID; + PlayerCam = Camera.CameraRegistry.get(AttachedCameraID); + super(ID, ModelID, Position); + } + + @Override + public Actor CreatePhysicsController(ConvexMesh mesh, float Mass){ + super.CreatePhysicsController(mesh,Mass); + RigidPhysicsController controller = (RigidPhysicsController)GetPhysicsController(); + controller.ApplyRotation = false; + return this; + } + + + + public PlayerActor SetCameraOffset(Vector3f Offset){ + CameraOffset.set(Offset); + return this; + } + + @Override + public void TickUpdate(){ + Vector3f Rotation = PlayerCam.GetRotation(); + Vector3f Position = new Vector3f(GetPosition()); + GetRotation().identity().rotateYXZ(-Rotation.y, -Rotation.x, Rotation.z); + UpdateModelMatrix(); + if(Position == null || CameraOffset == null) return; + Position.add(CameraOffset); + PlayerCam.SetPosition(Position.x, Position.y, Position.z); + } + + public void Move(Vector3f Velocity){ + if(PhysicsType == PhysicsControllerType.RigidBodySeparatingAxisTheory) { + RigidPhysicsController physicsController = (RigidPhysicsController) GetPhysicsController(); + RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LinearVelocity.add(Velocity); + } + } + + /* @Override + public void UpdateModelMatrix(){ + if(PlayerCam != null){ + Vector3f Rotation = PlayerCam.GetRotation(); + Vector3f Position = new Vector3f(GetPosition()); + SetRotMatrix(new Vector3f(Rotation.x,Rotation.y,Rotation.z)); + super.UpdateModelMatrix(); + if(Position == null || CameraOffset == null) return; + Position.add(CameraOffset); + PlayerCam.SetPosition(Position.x, Position.y, Position.z); + } else{ + super.UpdateModelMatrix(); + } + }*/ +} diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Scene.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Scene.java index a44199e..c233a21 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Scene.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/Scene.java @@ -81,7 +81,7 @@ public class Scene implements IScene { ActiveActors = new ArrayList<>(); CameraFrames = new HashMap<>(); var EngConfig = EngineConfig.getInstance(); - camera = new Camera(); + camera = new Camera("DebugCamera"); LastCameraFrame = new CameraFrame(camera.GetPosition(),camera.GetRotation(),camera.GetFOV(), "NO_FRAME"); Projection = new Project3D(camera.GetFOV(),EngConfig.GetZNearPlane(), EngConfig.GetZFarPlane(), window.getWidth(), window.getHeight());