diff --git a/LastSession.t4jlog b/LastSession.t4jlog index ab510c1..0d820b1 100644 --- a/LastSession.t4jlog +++ b/LastSession.t4jlog @@ -1,749 +1,892 @@ -188:07:2026 18:27:48.827 INFO: +189:07:2026 13:41:46.751 INFO: Launching New Terrain4J Powered Software! -188:07:2026 18:27:48.833 DEBUG: File [terrain4j.properties] read -188:07:2026 18:27:48.838 DEBUG: +189:07:2026 13:41:46.754 DEBUG: File [terrain4j.properties] read +189:07:2026 13:41:46.758 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} -188:07:2026 18:27:49.286 DEBUG: Loading Icon From Location [src\main\resources\WindowResources\Icon\ProgramIcon.png] -188:07:2026 18:27:49.305 DEBUG: Freeing icon Buffer -188:07:2026 18:27:49.466 DEBUG: Loading Models From [resources/models/cube/Cube.json] -188:07:2026 18:27:49.519 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]] -188:07:2026 18:27:49.519 DEBUG: Loading Materials From [resources/models/cube/Cube_mat.json] -188:07:2026 18:27:49.540 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]]] -188:07:2026 18:27:49.555 DEBUG: Loading Models From [resources/models/musket/musket.json] -188:07:2026 18:27:49.555 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]] -188:07:2026 18:27:49.556 DEBUG: Loading Materials From [resources/models/musket/musket_mat.json] -188:07:2026 18:27:49.557 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]]] -188:07:2026 18:27:49.560 DEBUG: Loading Models From [resources/models/Revolver/Revolver.json] -188:07:2026 18:27:49.561 DEBUG: Loaded Model Data: [ModelData[ID=Revolver, Meshes=[MeshData[ID=cube_0, MaterialID=Revolver-mat-1, OffsetVertex=0, VertexSize=21280, OffsetIndex=0, IndexSize=2304]], VertexPath=resources/models/Revolver/Revolver.vtx, IndexPath=resources/models/Revolver/Revolver.idx]] -188:07:2026 18:27:49.561 DEBUG: Loading Materials From [resources/models/Revolver/Revolver_mat.json] -188:07:2026 18:27:49.562 DEBUG: Loaded Material Data: [[MaterialData[ID=Revolver-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=Revolver-mat-1, TexturePath=resources\models\Revolver\Revolver.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=Revolver-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]]] -188:07:2026 18:27:49.597 DEBUG: Starting Main Thread -188:07:2026 18:27:49.597 DEBUG: Starting Fast Thread -188:07:2026 18:27:49.601 DEBUG: Initialising Vulkan Instance -188:07:2026 18:27:49.618 DEBUG: Validation Layer Count:5 -188:07:2026 18:27:49.620 TRACE: Supported Layer [VK_LAYER_AMD_switchable_graphics] -188:07:2026 18:27:49.620 TRACE: Supported Layer [VK_LAYER_NV_optimus] -188:07:2026 18:27:49.620 TRACE: Supported Layer [VK_LAYER_NV_present] -188:07:2026 18:27:49.620 TRACE: Supported Layer [VK_LAYER_VALVE_steam_overlay] -188:07:2026 18:27:49.620 TRACE: Supported Layer [VK_LAYER_VALVE_steam_fossilize] -188:07:2026 18:27:49.620 WARN: No Layers Found to Validate, continuing without validation -188:07:2026 18:27:49.621 DEBUG: Validation:false -188:07:2026 18:27:49.626 DEBUG: Instance Extension Count:[20] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_device_group_creation] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_external_fence_capabilities] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_external_memory_capabilities] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_external_semaphore_capabilities] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_get_physical_device_properties2] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_get_surface_capabilities2] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_surface] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_KHR_win32_surface] -188:07:2026 18:27:49.630 TRACE: Supported Instance Extension [VK_EXT_debug_report] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_EXT_debug_utils] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_EXT_swapchain_colorspace] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_KHR_display] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_KHR_get_display_properties2] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_KHR_surface_maintenance1] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_KHR_surface_protected_capabilities] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_EXT_direct_mode_display] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_EXT_surface_maintenance1] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_NV_external_memory_capabilities] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_KHR_portability_enumeration] -188:07:2026 18:27:49.631 TRACE: Supported Instance Extension [VK_LUNARG_direct_driver_loading] -188:07:2026 18:27:49.703 DEBUG: selecting physical devices -188:07:2026 18:27:49.705 DEBUG: Detected Physical Device Count: 2 -188:07:2026 18:27:49.720 DEBUG: freeing physical device [AMD Radeon(TM) Graphics] -188:07:2026 18:27:49.720 DEBUG: Selected Graphics Driver: [NVIDIA GeForce RTX 3050 OEM] -188:07:2026 18:27:49.720 DEBUG: Creating Device Interface Layer -188:07:2026 18:27:49.721 TRACE: Device supports [272] number of extensions -188:07:2026 18:27:49.721 TRACE: [VK_KHR_16bit_storage] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_8bit_storage] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_acceleration_structure] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_bind_memory2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_buffer_device_address] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_calibrated_timestamps] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_compute_shader_derivatives] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_cooperative_matrix] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_copy_commands2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_copy_memory_indirect] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_create_renderpass2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_dedicated_allocation] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_deferred_host_operations] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_depth_clamp_zero_one] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_depth_stencil_resolve] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_descriptor_update_template] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_device_group] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_draw_indirect_count] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_driver_properties] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_dynamic_rendering] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_dynamic_rendering_local_read] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_external_fence] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_external_fence_win32] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_external_memory] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_external_memory_win32] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_external_semaphore] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_external_semaphore_win32] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_format_feature_flags2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_fragment_shader_barycentric] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_fragment_shading_rate] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_get_memory_requirements2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_global_priority] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_image_format_list] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_imageless_framebuffer] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_index_type_uint8] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_line_rasterization] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_load_store_op_none] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance1] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance10] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance3] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance4] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance5] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance6] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance7] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance8] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_maintenance9] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_map_memory2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_multiview] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_pipeline_binary] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_pipeline_executable_properties] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_pipeline_library] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_present_id] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_present_id2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_present_mode_fifo_latest_ready] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_present_wait] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_present_wait2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_push_descriptor] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_ray_query] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_ray_tracing_maintenance1] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_ray_tracing_pipeline] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_ray_tracing_position_fetch] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_relaxed_block_layout] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_robustness2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_sampler_mirror_clamp_to_edge] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_sampler_ycbcr_conversion] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_separate_depth_stencil_layouts] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_atomic_int64] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_bfloat16] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_clock] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_draw_parameters] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_expect_assume] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_float16_int8] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_float_controls] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_float_controls2] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_fma] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_integer_dot_product] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_maximal_reconvergence] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_non_semantic_info] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_quad_control] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_relaxed_extended_instruction] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_subgroup_extended_types] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_subgroup_rotate] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_subgroup_uniform_control_flow] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_terminate_invocation] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_shader_untyped_pointers] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_spirv_1_4] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_storage_buffer_storage_class] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_swapchain] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_swapchain_maintenance1] is a supported extension -188:07:2026 18:27:49.721 TRACE: [VK_KHR_swapchain_mutable_format] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_synchronization2] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_timeline_semaphore] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_unified_image_layouts] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_uniform_buffer_standard_layout] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_variable_pointers] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_vertex_attribute_divisor] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_decode_av1] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_decode_h264] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_decode_h265] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_decode_queue] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_decode_vp9] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_encode_h264] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_encode_h265] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_encode_intra_refresh] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_encode_quantization_map] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_encode_queue] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_maintenance1] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_maintenance2] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_video_queue] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_vulkan_memory_model] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_win32_keyed_mutex] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_workgroup_memory_explicit_layout] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_KHR_zero_initialize_workgroup_memory] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_4444_formats] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_attachment_feedback_loop_dynamic_state] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_attachment_feedback_loop_layout] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_blend_operation_advanced] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_border_color_swizzle] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_buffer_device_address] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_calibrated_timestamps] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_color_write_enable] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_conditional_rendering] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_conservative_rasterization] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_custom_border_color] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_custom_resolve] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_depth_bias_control] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_depth_clamp_control] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_depth_clamp_zero_one] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_depth_clip_control] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_depth_clip_enable] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_depth_range_unrestricted] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_descriptor_buffer] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_descriptor_heap] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_descriptor_indexing] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_device_address_binding_report] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_device_fault] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_device_generated_commands] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_discard_rectangles] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_dynamic_rendering_unused_attachments] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_extended_dynamic_state] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_extended_dynamic_state2] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_extended_dynamic_state3] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_external_memory_host] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_fragment_shader_interlock] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_full_screen_exclusive] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_global_priority] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_global_priority_query] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_graphics_pipeline_library] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_hdr_metadata] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_host_image_copy] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_host_query_reset] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_image_2d_view_of_3d] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_image_robustness] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_image_sliced_view_of_3d] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_image_view_min_lod] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_index_type_uint8] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_inline_uniform_block] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_legacy_vertex_attributes] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_line_rasterization] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_load_store_op_none] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_memory_budget] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_memory_decompression] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_memory_priority] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_mesh_shader] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_multi_draw] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_mutable_descriptor_type] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_nested_command_buffer] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_non_seamless_cube_map] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_opacity_micromap] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_pageable_device_local_memory] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_pci_bus_info] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_pipeline_creation_cache_control] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_pipeline_creation_feedback] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_pipeline_library_group_handles] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_pipeline_robustness] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_post_depth_coverage] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_present_mode_fifo_latest_ready] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_present_timing] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_primitive_topology_list_restart] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_primitives_generated_query] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_private_data] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_provoking_vertex] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_queue_family_foreign] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_ray_tracing_invocation_reorder] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_robustness2] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_sample_locations] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_sampler_filter_minmax] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_scalar_block_layout] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_separate_stencil_usage] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_64bit_indexing] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_atomic_float] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_demote_to_helper_invocation] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_image_atomic_int64] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_module_identifier] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_object] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_replicated_composites] is a supported extension -188:07:2026 18:27:49.722 TRACE: [VK_EXT_shader_subgroup_ballot] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_shader_subgroup_vote] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_shader_uniform_buffer_unsized_array] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_shader_viewport_index_layer] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_subgroup_size_control] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_swapchain_maintenance1] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_texel_buffer_alignment] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_tooling_info] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_transform_feedback] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_vertex_attribute_divisor] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_vertex_attribute_robustness] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_vertex_input_dynamic_state] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_ycbcr_2plane_444_formats] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_ycbcr_image_arrays] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_EXT_zero_initialize_device_memory] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_acquire_winrt_display] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_clip_space_w_scaling] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_cluster_acceleration_structure] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_compute_occupancy_priority] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_compute_shader_derivatives] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_cooperative_matrix] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_cooperative_matrix2] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_cooperative_vector] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_copy_memory_indirect] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_corner_sampled_image] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_coverage_reduction_mode] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_cuda_kernel_launch] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_dedicated_allocation] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_dedicated_allocation_image_aliasing] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_descriptor_pool_overallocation] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_device_diagnostic_checkpoints] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_device_diagnostics_config] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_device_generated_commands] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_device_generated_commands_compute] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_disk_cache_utils] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_external_compute_queue] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_external_memory] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_external_memory_win32] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_fill_rectangle] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_fragment_coverage_to_color] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_fragment_shader_barycentric] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_fragment_shading_rate_enums] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_framebuffer_mixed_samples] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_geometry_shader_passthrough] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_inherited_viewport_scissor] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_internal_nvpresent] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_linear_color_attachment] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_low_latency] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_low_latency2] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_memory_decompression] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_mesh_shader] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_optical_flow] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_partitioned_acceleration_structure] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_present_metering] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_raw_access_chains] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_ray_tracing] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_ray_tracing_invocation_reorder] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_ray_tracing_motion_blur] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_representative_fragment_test] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_sample_mask_override_coverage] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_scissor_exclusive] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_shader_atomic_float16_vector] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_shader_image_footprint] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_shader_sm_builtins] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_shader_subgroup_partitioned] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_shading_rate_image] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_viewport_array2] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_viewport_swizzle] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NV_win32_keyed_mutex] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NVX_binary_import] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NVX_image_view_handle] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_NVX_multiview_per_view_attributes] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_AMD_buffer_marker] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_GOOGLE_hlsl_functionality1] is a supported extension -188:07:2026 18:27:49.723 TRACE: [VK_GOOGLE_user_type] is a supported extension -188:07:2026 18:27:50.088 DEBUG: Creating Vulkan Surface -188:07:2026 18:27:50.096 DEBUG: Creating Vulkan SwapChain -188:07:2026 18:27:50.114 DEBUG: Creating new Vk Pipeline Cache -188:07:2026 18:27:50.115 DEBUG: Creating Descriptor Allocator -188:07:2026 18:27:50.115 DEBUG: Creating Descriptor pool -188:07:2026 18:27:50.124 DEBUG: Vulkan: Creating A Queue -188:07:2026 18:27:50.127 DEBUG: Vulkan: Creating A Queue -188:07:2026 18:27:50.130 DEBUG: Creating Vulkan Command Pool -188:07:2026 18:27:50.130 DEBUG: Creating Command Buffer -188:07:2026 18:27:50.132 DEBUG: Creating Vulkan Command Pool -188:07:2026 18:27:50.132 DEBUG: Creating Command Buffer -188:07:2026 18:27:50.162 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] -188:07:2026 18:27:50.162 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_fragment_deferred.glsl.spv] -188:07:2026 18:27:50.166 DEBUG: Creating Pipeline -188:07:2026 18:27:50.169 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.169 DEBUG: created render info -188:07:2026 18:27:50.170 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.172 DEBUG: created PipelineLayout -188:07:2026 18:27:50.172 DEBUG: created vertexInputState -188:07:2026 18:27:50.173 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.180 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.180 DEBUG: Pipeline Created -188:07:2026 18:27:50.181 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] -188:07:2026 18:27:50.181 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_opaque_fragment_deferred.glsl.spv] -188:07:2026 18:27:50.182 DEBUG: Creating Pipeline -188:07:2026 18:27:50.182 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.182 DEBUG: created render info -188:07:2026 18:27:50.182 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.182 DEBUG: created PipelineLayout -188:07:2026 18:27:50.182 DEBUG: created vertexInputState -188:07:2026 18:27:50.182 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.184 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.184 DEBUG: Pipeline Created -188:07:2026 18:27:50.184 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] -188:07:2026 18:27:50.184 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_translucent_fragment_deferred.glsl.spv] -188:07:2026 18:27:50.185 DEBUG: Creating Pipeline -188:07:2026 18:27:50.185 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.185 DEBUG: created render info -188:07:2026 18:27:50.185 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.185 DEBUG: created PipelineLayout -188:07:2026 18:27:50.185 DEBUG: created vertexInputState -188:07:2026 18:27:50.185 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.186 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.186 DEBUG: Pipeline Created -188:07:2026 18:27:50.187 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_vertex.glsl.spv] -188:07:2026 18:27:50.187 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_fragment.glsl.spv] -188:07:2026 18:27:50.187 DEBUG: Creating Pipeline -188:07:2026 18:27:50.187 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.187 DEBUG: created render info -188:07:2026 18:27:50.187 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.188 DEBUG: created PipelineLayout -188:07:2026 18:27:50.188 DEBUG: created vertexInputState -188:07:2026 18:27:50.188 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.189 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.189 DEBUG: Skybox Pipeline Created Successfully -188:07:2026 18:27:50.189 DEBUG: Deferred Renderer Pipeline -> [1671037344160] -188:07:2026 18:27:50.191 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_vertex.glsl.spv] -188:07:2026 18:27:50.191 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_frag.glsl.spv] -188:07:2026 18:27:50.193 DEBUG: Creating Pipeline -188:07:2026 18:27:50.193 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.193 DEBUG: created render info -188:07:2026 18:27:50.193 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.194 DEBUG: created PipelineLayout -188:07:2026 18:27:50.194 DEBUG: created vertexInputState -188:07:2026 18:27:50.194 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.195 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.195 DEBUG: Light Renderer Pipeline -> [1671037728880] -188:07:2026 18:27:50.200 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_vtx.glsl.spv] -188:07:2026 18:27:50.200 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_frag.glsl.spv] -188:07:2026 18:27:50.200 DEBUG: Creating Pipeline -188:07:2026 18:27:50.200 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.200 DEBUG: created render info -188:07:2026 18:27:50.200 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.201 DEBUG: created PipelineLayout -188:07:2026 18:27:50.201 DEBUG: created vertexInputState -188:07:2026 18:27:50.201 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.202 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.203 DEBUG: Post Process Renderer Pipeline -> [1671038017488] -188:07:2026 18:27:50.204 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_vertex.glsl.spv] -188:07:2026 18:27:50.204 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_frag.glsl.spv] -188:07:2026 18:27:50.205 DEBUG: Creating Pipeline -188:07:2026 18:27:50.205 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.205 DEBUG: created render info -188:07:2026 18:27:50.205 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.206 DEBUG: created PipelineLayout -188:07:2026 18:27:50.206 DEBUG: created vertexInputState -188:07:2026 18:27:50.206 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.207 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.351 DEBUG: Creating Vulkan Command Pool -188:07:2026 18:27:50.351 DEBUG: Creating Command Buffer -188:07:2026 18:27:50.369 TRACE: Destroyed Command Buffer -188:07:2026 18:27:50.371 DEBUG: Destroying Vulkan Command Pool -188:07:2026 18:27:50.374 DEBUG: GUI Renderer Pipeline -> [1671038509712] -188:07:2026 18:27:50.375 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_vtx.glsl.spv] -188:07:2026 18:27:50.375 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_frag.glsl.spv] -188:07:2026 18:27:50.376 DEBUG: Creating Pipeline -188:07:2026 18:27:50.376 DEBUG: registered Descriptor sets -188:07:2026 18:27:50.376 DEBUG: created render info -188:07:2026 18:27:50.376 DEBUG: created BlendAttributeStates -188:07:2026 18:27:50.376 DEBUG: created PipelineLayout -188:07:2026 18:27:50.376 DEBUG: created vertexInputState -188:07:2026 18:27:50.376 DEBUG: created PipelineCreateInfo -188:07:2026 18:27:50.377 DEBUG: created GraphicsPipeline -188:07:2026 18:27:50.377 DEBUG: Swap Chain Renderer Pipeline -> [1671037697952] -188:07:2026 18:27:50.381 DEBUG: Starting Render Thread -188:07:2026 18:27:50.381 DEBUG: Loading 9 Materials -188:07:2026 18:27:50.381 DEBUG: Creating Command Buffer -188:07:2026 18:27:50.382 DEBUG: Material Texture Path -> [] -188:07:2026 18:27:50.383 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] -188:07:2026 18:27:50.383 DEBUG: Material Texture Path -> [resources\models\cube\cubetexture.png] -188:07:2026 18:27:50.383 DEBUG: Loading Image [resources\models\cube\cubetexture.png] -188:07:2026 18:27:50.384 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] -188:07:2026 18:27:50.384 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] -188:07:2026 18:27:50.384 DEBUG: Material Texture Path -> [] -188:07:2026 18:27:50.384 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] -188:07:2026 18:27:50.384 DEBUG: Material Texture Path -> [] -188:07:2026 18:27:50.384 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] -188:07:2026 18:27:50.384 DEBUG: Material Texture Path -> [resources\models\musket\Musket.png] -188:07:2026 18:27:50.384 DEBUG: Loading Image [resources\models\musket\Musket.png] -188:07:2026 18:27:50.385 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] -188:07:2026 18:27:50.385 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] -188:07:2026 18:27:50.385 DEBUG: Material Texture Path -> [] -188:07:2026 18:27:50.385 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] -188:07:2026 18:27:50.385 DEBUG: Material Texture Path -> [] -188:07:2026 18:27:50.385 TRACE: MaterialData[ID=Revolver-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] -188:07:2026 18:27:50.385 DEBUG: Material Texture Path -> [resources\models\Revolver\Revolver.png] -188:07:2026 18:27:50.385 DEBUG: Loading Image [resources\models\Revolver\Revolver.png] -188:07:2026 18:27:50.385 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=4096 cap=4096]] -188:07:2026 18:27:50.385 TRACE: MaterialData[ID=Revolver-mat-1, TexturePath=resources\models\Revolver\Revolver.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] -188:07:2026 18:27:50.385 DEBUG: Material Texture Path -> [] -188:07:2026 18:27:50.386 TRACE: MaterialData[ID=Revolver-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] -188:07:2026 18:27:50.390 TRACE: Destroyed Command Buffer -188:07:2026 18:27:50.390 DEBUG: Loaded 9 Materials -188:07:2026 18:27:50.390 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] -188:07:2026 18:27:50.443 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16777216 cap=16777216]] -188:07:2026 18:27:50.445 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] -188:07:2026 18:27:50.499 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -188:07:2026 18:27:50.500 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyLeft.png] -188:07:2026 18:27:50.557 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -188:07:2026 18:27:50.558 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyUp.png] -188:07:2026 18:27:50.633 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -188:07:2026 18:27:50.634 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyDown.png] -188:07:2026 18:27:50.682 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -188:07:2026 18:27:50.683 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyFront.png] -188:07:2026 18:27:50.738 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -188:07:2026 18:27:50.739 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyBack.png] -188:07:2026 18:27:50.796 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] -188:07:2026 18:27:51.449 DEBUG: Loading Image [resources/EngineResources/Texture/Terrain4JTitleImage.png] -188:07:2026 18:27:51.450 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=198720 cap=198720]] -188:07:2026 18:27:51.450 DEBUG: Loading Image [resources/EngineResources/Texture/Billy.png] -188:07:2026 18:27:51.468 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=7613760 cap=7613760]] -188:07:2026 18:27:51.468 DEBUG: Transitioning Textures -188:07:2026 18:27:51.468 DEBUG: Recording Texture Transition -188:07:2026 18:27:51.469 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.475 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.476 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.481 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.481 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.486 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.486 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.491 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.491 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.496 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.496 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.501 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.501 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.506 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.506 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.517 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.518 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.524 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.524 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.528 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.529 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.534 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.534 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.540 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.540 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.545 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.545 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.551 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.551 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.556 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.556 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.562 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.563 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.569 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.569 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.575 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.575 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.581 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.581 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.586 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.586 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.592 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.592 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.598 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.598 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.603 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.603 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.608 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.608 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.614 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.614 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.618 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.618 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.624 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.624 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.630 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.630 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.651 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.651 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.657 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.657 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.662 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.662 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.667 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.667 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.672 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.672 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.677 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.677 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.683 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.683 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.688 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.688 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.693 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.693 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.699 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.699 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.704 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.704 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.709 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.709 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.715 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.715 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.721 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.721 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.726 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.726 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.730 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.730 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.736 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.736 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.741 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.741 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.747 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.747 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.751 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.751 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.756 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.756 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.762 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.762 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.767 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.767 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.772 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.772 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.777 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.777 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.783 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.783 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.788 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.788 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.793 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.793 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.799 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.799 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.804 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.804 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.809 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.809 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.814 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.814 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.820 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.821 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.826 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.826 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.831 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.831 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.836 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.836 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.841 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.841 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.846 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.846 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.852 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.852 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.858 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.858 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.862 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.863 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.868 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.868 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.917 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.918 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.924 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.924 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.929 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.929 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.935 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.935 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.941 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.941 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.946 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.946 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.951 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.951 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.957 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.957 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.962 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.962 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.967 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.967 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.972 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.972 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.977 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.977 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.982 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.982 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.987 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.987 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.992 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.992 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:51.996 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:51.996 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.002 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.002 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.006 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.006 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.011 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.011 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.016 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.016 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.022 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.022 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.027 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.027 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.032 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.032 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.037 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.037 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.042 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.042 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.047 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.047 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.052 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.052 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.057 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.057 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.062 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.062 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.067 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.067 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.071 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.071 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.076 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.076 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.081 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.081 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.086 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.086 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.090 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.090 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.096 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.096 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.100 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.100 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.105 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.105 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.110 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.110 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.115 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.115 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.120 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.120 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.125 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.125 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.129 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.129 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.134 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.134 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.140 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.140 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.145 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.145 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.150 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.150 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.155 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.155 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.160 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.160 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.164 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.164 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.169 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.169 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] -188:07:2026 18:27:52.174 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] -188:07:2026 18:27:52.174 DEBUG: Creating Command Buffer -188:07:2026 18:27:52.268 TRACE: Destroyed Command Buffer -188:07:2026 18:27:52.313 DEBUG: Recorded Texture Transition -188:07:2026 18:27:52.313 DEBUG: Transitioned Textures -188:07:2026 18:27:52.313 DEBUG: Loading 3 models -188:07:2026 18:27:52.314 DEBUG: Creating Command Buffer -188:07:2026 18:27:52.314 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[mesh_0] VertexSize=[1344] -188:07:2026 18:27:52.315 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[cube_0] VertexSize=[25088] -188:07:2026 18:27:52.317 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[cube_0] VertexSize=[21280] -188:07:2026 18:27:52.318 TRACE: Destroyed Command Buffer -188:07:2026 18:27:52.320 DEBUG: Loaded 3 models -188:07:2026 18:27:52.321 DEBUG: Fetching Texture -> [SKYBOX_TEXTURE] -188:07:2026 18:27:52.321 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Terrain4JTitleImage.png] -188:07:2026 18:27:52.321 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Billy.png] -188:07:2026 18:27:52.325 INFO: Launched Terrain4J Engine -188:07:2026 18:27:52.326 DEBUG: Primary Thread Started -188:07:2026 18:27:52.326 DEBUG: Main Thread Started -188:07:2026 18:27:52.326 DEBUG: Render Thread Started -188:07:2026 18:27:52.326 DEBUG: Fast Thread Started +189:07:2026 13:41:47.001 DEBUG: Loading Icon From Location [src\main\resources\WindowResources\Icon\ProgramIcon.png] +189:07:2026 13:41:47.016 DEBUG: Freeing icon Buffer +189:07:2026 13:41:47.203 DEBUG: Loading Models From [resources/models/cube/Cube.json] +189:07:2026 13:41:47.230 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]] +189:07:2026 13:41:47.230 DEBUG: Loading Materials From [resources/models/cube/Cube_mat.json] +189:07:2026 13:41:47.236 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]]] +189:07:2026 13:41:47.239 DEBUG: Loading Models From [resources/models/musket/musket.json] +189:07:2026 13:41:47.241 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]] +189:07:2026 13:41:47.241 DEBUG: Loading Materials From [resources/models/musket/musket_mat.json] +189:07:2026 13:41:47.242 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]]] +189:07:2026 13:41:47.245 DEBUG: Loading Models From [resources/models/Revolver/Revolver.json] +189:07:2026 13:41:47.245 DEBUG: Loaded Model Data: [ModelData[ID=Revolver, Meshes=[MeshData[ID=cube_0, MaterialID=Revolver-mat-1, OffsetVertex=0, VertexSize=21280, OffsetIndex=0, IndexSize=2304]], VertexPath=resources/models/Revolver/Revolver.vtx, IndexPath=resources/models/Revolver/Revolver.idx]] +189:07:2026 13:41:47.245 DEBUG: Loading Materials From [resources/models/Revolver/Revolver_mat.json] +189:07:2026 13:41:47.246 DEBUG: Loaded Material Data: [[MaterialData[ID=Revolver-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=Revolver-mat-1, TexturePath=resources\models\Revolver\Revolver.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=Revolver-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]]] +189:07:2026 13:41:47.437 DEBUG: Starting Main Thread +189:07:2026 13:41:47.437 DEBUG: Starting Fast Thread +189:07:2026 13:41:47.440 DEBUG: Initialising Vulkan Instance +189:07:2026 13:41:47.449 DEBUG: Validation Layer Count:12 +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_AMD_switchable_graphics] +189:07:2026 13:41:47.452 TRACE: Supported Layer [GalaxyOverlayVkLayer] +189:07:2026 13:41:47.452 TRACE: Supported Layer [GalaxyOverlayVkLayer_VERBOSE] +189:07:2026 13:41:47.452 TRACE: Supported Layer [GalaxyOverlayVkLayer_DEBUG] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_EOS_Overlay] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_RENDERDOC_Capture] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_OW_OVERLAY] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_OW_OBS_HOOK] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_VALVE_steam_overlay] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_VALVE_steam_fossilize] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_OBS_HOOK] +189:07:2026 13:41:47.452 TRACE: Supported Layer [VK_LAYER_ROCKSTAR_GAMES_social_club] +189:07:2026 13:41:47.452 WARN: No Layers Found to Validate, continuing without validation +189:07:2026 13:41:47.452 DEBUG: Validation:false +189:07:2026 13:41:47.456 DEBUG: Instance Extension Count:[14] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_device_group_creation] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_external_fence_capabilities] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_external_memory_capabilities] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_external_semaphore_capabilities] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_get_physical_device_properties2] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_get_surface_capabilities2] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_surface] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_win32_surface] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_EXT_debug_report] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_EXT_debug_utils] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_EXT_swapchain_colorspace] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_surface_maintenance1] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_KHR_portability_enumeration] +189:07:2026 13:41:47.458 TRACE: Supported Instance Extension [VK_LUNARG_direct_driver_loading] +189:07:2026 13:41:47.530 DEBUG: selecting physical devices +189:07:2026 13:41:47.532 DEBUG: Detected Physical Device Count: 2 +189:07:2026 13:41:47.542 DEBUG: freeing physical device [AMD Radeon(TM) Graphics] +189:07:2026 13:41:47.542 DEBUG: Selected Graphics Driver: [AMD Radeon RX 9070 XT] +189:07:2026 13:41:47.543 DEBUG: Creating Device Interface Layer +189:07:2026 13:41:47.543 TRACE: Device supports [221] number of extensions +189:07:2026 13:41:47.543 TRACE: [VK_KHR_16bit_storage] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_8bit_storage] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_acceleration_structure] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_bind_memory2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_buffer_device_address] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_calibrated_timestamps] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_compute_shader_derivatives] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_cooperative_matrix] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_copy_commands2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_copy_memory_indirect] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_create_renderpass2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_dedicated_allocation] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_deferred_host_operations] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_depth_clamp_zero_one] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_depth_stencil_resolve] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_descriptor_update_template] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_device_address_commands] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_device_group] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_draw_indirect_count] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_driver_properties] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_dynamic_rendering] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_dynamic_rendering_local_read] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_external_fence] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_external_fence_win32] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_external_memory] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_external_memory_win32] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_external_semaphore] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_external_semaphore_win32] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_format_feature_flags2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_fragment_shader_barycentric] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_fragment_shading_rate] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_get_memory_requirements2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_global_priority] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_imageless_framebuffer] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_image_format_list] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_index_type_uint8] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_line_rasterization] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_load_store_op_none] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance1] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance3] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance4] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance5] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance6] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance7] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance8] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance9] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance10] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_maintenance11] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_map_memory2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_multiview] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_pipeline_binary] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_pipeline_executable_properties] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_pipeline_library] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_present_id2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_present_mode_fifo_latest_ready] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_present_wait2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_push_descriptor] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_ray_query] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_ray_tracing_maintenance1] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_ray_tracing_pipeline] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_ray_tracing_position_fetch] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_relaxed_block_layout] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_robustness2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_sampler_mirror_clamp_to_edge] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_sampler_ycbcr_conversion] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_separate_depth_stencil_layouts] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_atomic_int64] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_bfloat16] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_clock] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_draw_parameters] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_expect_assume] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_float16_int8] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_float_controls] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_float_controls2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_fma] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_integer_dot_product] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_maximal_reconvergence] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_non_semantic_info] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_quad_control] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_subgroup_extended_types] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_subgroup_rotate] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_subgroup_uniform_control_flow] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_terminate_invocation] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_shader_untyped_pointers] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_spirv_1_4] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_storage_buffer_storage_class] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_swapchain] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_swapchain_maintenance1] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_swapchain_mutable_format] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_synchronization2] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_timeline_semaphore] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_uniform_buffer_standard_layout] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_variable_pointers] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_vertex_attribute_divisor] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_video_decode_av1] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_video_decode_h264] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_video_decode_h265] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_video_decode_queue] is a supported extension +189:07:2026 13:41:47.543 TRACE: [VK_KHR_video_decode_vp9] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_encode_av1] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_encode_h264] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_encode_h265] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_encode_intra_refresh] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_encode_quantization_map] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_encode_queue] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_maintenance1] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_video_queue] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_vulkan_memory_model] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_win32_keyed_mutex] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_workgroup_memory_explicit_layout] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_KHR_zero_initialize_workgroup_memory] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_4444_formats] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_attachment_feedback_loop_layout] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_border_color_swizzle] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_calibrated_timestamps] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_color_write_enable] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_conditional_rendering] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_conservative_rasterization] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_custom_border_color] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_depth_clamp_control] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_depth_clamp_zero_one] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_depth_clip_control] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_depth_clip_enable] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_depth_range_unrestricted] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_descriptor_buffer] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_descriptor_heap] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_descriptor_indexing] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_device_address_binding_report] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_device_fault] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_device_generated_commands] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_dynamic_rendering_unused_attachments] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_extended_dynamic_state] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_extended_dynamic_state2] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_extended_dynamic_state3] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_external_memory_host] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_fragment_shader_interlock] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_frame_boundary] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_full_screen_exclusive] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_global_priority] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_global_priority_query] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_graphics_pipeline_library] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_hdr_metadata] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_host_image_copy] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_host_query_reset] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_image_2d_view_of_3d] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_image_robustness] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_image_sliced_view_of_3d] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_image_view_min_lod] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_index_type_uint8] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_inline_uniform_block] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_line_rasterization] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_load_store_op_none] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_memory_budget] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_memory_priority] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_mesh_shader] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_mutable_descriptor_type] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_nested_command_buffer] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_non_seamless_cube_map] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_pageable_device_local_memory] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_pipeline_creation_cache_control] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_pipeline_creation_feedback] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_pipeline_library_group_handles] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_post_depth_coverage] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_present_mode_fifo_latest_ready] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_primitive_topology_list_restart] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_primitives_generated_query] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_private_data] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_provoking_vertex] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_queue_family_foreign] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_ray_tracing_invocation_reorder] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_robustness2] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_sampler_filter_minmax] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_sample_locations] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_scalar_block_layout] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_separate_stencil_usage] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_atomic_float] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_atomic_float2] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_demote_to_helper_invocation] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_float8] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_image_atomic_int64] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_long_vector] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_module_identifier] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_object] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_replicated_composites] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_stencil_export] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_subgroup_ballot] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_subgroup_vote] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_uniform_buffer_unsized_array] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_shader_viewport_index_layer] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_subgroup_size_control] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_texel_buffer_alignment] is a supported extension +189:07:2026 13:41:47.544 TRACE: [VK_EXT_tooling_info] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_EXT_transform_feedback] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_EXT_vertex_attribute_divisor] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_EXT_vertex_input_dynamic_state] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_EXT_ycbcr_image_arrays] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_anti_lag] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_buffer_marker] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_device_coherent_memory] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_display_native_hdr] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_draw_indirect_count] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_gcn_shader] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_gpa_interface] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_gpu_shader_half_float] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_gpu_shader_int16] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_memory_overallocation_behavior] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_mixed_attachment_samples] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_ballot] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_core_properties] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_core_properties2] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_early_and_late_fragment_tests] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_explicit_vertex_parameter] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_image_load_store_lod] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_info] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMD_shader_trinary_minmax] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_AMDX_dense_geometry_format] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_GOOGLE_decorate_string] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_GOOGLE_hlsl_functionality1] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_GOOGLE_user_type] is a supported extension +189:07:2026 13:41:47.545 TRACE: [VK_VALVE_mutable_descriptor_type] is a supported extension +189:07:2026 13:41:47.619 DEBUG: Creating Vulkan Surface +189:07:2026 13:41:47.623 DEBUG: Creating Vulkan SwapChain +189:07:2026 13:41:47.685 DEBUG: Creating new Vk Pipeline Cache +189:07:2026 13:41:47.687 DEBUG: Creating Descriptor Allocator +189:07:2026 13:41:47.688 DEBUG: Creating Descriptor pool +189:07:2026 13:41:47.695 DEBUG: Vulkan: Creating A Queue +189:07:2026 13:41:47.697 DEBUG: Vulkan: Creating A Queue +189:07:2026 13:41:47.698 DEBUG: Creating Vulkan Command Pool +189:07:2026 13:41:47.698 DEBUG: Creating Command Buffer +189:07:2026 13:41:47.700 DEBUG: Creating Vulkan Command Pool +189:07:2026 13:41:47.700 DEBUG: Creating Command Buffer +189:07:2026 13:41:47.723 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] +189:07:2026 13:41:47.724 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_fragment_deferred.glsl.spv] +189:07:2026 13:41:47.727 DEBUG: Creating Pipeline +189:07:2026 13:41:47.730 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.730 DEBUG: created render info +189:07:2026 13:41:47.730 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.731 DEBUG: created PipelineLayout +189:07:2026 13:41:47.731 DEBUG: created vertexInputState +189:07:2026 13:41:47.732 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.735 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.735 DEBUG: Pipeline Created +189:07:2026 13:41:47.735 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] +189:07:2026 13:41:47.735 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_opaque_fragment_deferred.glsl.spv] +189:07:2026 13:41:47.736 DEBUG: Creating Pipeline +189:07:2026 13:41:47.736 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.736 DEBUG: created render info +189:07:2026 13:41:47.736 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.736 DEBUG: created PipelineLayout +189:07:2026 13:41:47.736 DEBUG: created vertexInputState +189:07:2026 13:41:47.736 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.736 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.736 DEBUG: Pipeline Created +189:07:2026 13:41:47.737 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv] +189:07:2026 13:41:47.737 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_translucent_fragment_deferred.glsl.spv] +189:07:2026 13:41:47.737 DEBUG: Creating Pipeline +189:07:2026 13:41:47.737 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.737 DEBUG: created render info +189:07:2026 13:41:47.737 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.737 DEBUG: created PipelineLayout +189:07:2026 13:41:47.737 DEBUG: created vertexInputState +189:07:2026 13:41:47.737 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.737 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.737 DEBUG: Pipeline Created +189:07:2026 13:41:47.738 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_vertex.glsl.spv] +189:07:2026 13:41:47.738 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_fragment.glsl.spv] +189:07:2026 13:41:47.738 DEBUG: Creating Pipeline +189:07:2026 13:41:47.738 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.738 DEBUG: created render info +189:07:2026 13:41:47.738 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.738 DEBUG: created PipelineLayout +189:07:2026 13:41:47.738 DEBUG: created vertexInputState +189:07:2026 13:41:47.738 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.738 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.738 DEBUG: Skybox Pipeline Created Successfully +189:07:2026 13:41:47.739 DEBUG: Deferred Renderer Pipeline -> [2555858326960] +189:07:2026 13:41:47.742 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_vertex.glsl.spv] +189:07:2026 13:41:47.742 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_frag.glsl.spv] +189:07:2026 13:41:47.744 DEBUG: Creating Pipeline +189:07:2026 13:41:47.744 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.744 DEBUG: created render info +189:07:2026 13:41:47.744 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.744 DEBUG: created PipelineLayout +189:07:2026 13:41:47.744 DEBUG: created vertexInputState +189:07:2026 13:41:47.744 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.744 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.744 DEBUG: Light Renderer Pipeline -> [2555858441504] +189:07:2026 13:41:47.749 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_vtx.glsl.spv] +189:07:2026 13:41:47.749 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_frag.glsl.spv] +189:07:2026 13:41:47.749 DEBUG: Creating Pipeline +189:07:2026 13:41:47.749 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.749 DEBUG: created render info +189:07:2026 13:41:47.749 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.749 DEBUG: created PipelineLayout +189:07:2026 13:41:47.749 DEBUG: created vertexInputState +189:07:2026 13:41:47.749 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.749 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.749 DEBUG: Post Process Renderer Pipeline -> [2555858626704] +189:07:2026 13:41:47.751 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_vertex.glsl.spv] +189:07:2026 13:41:47.751 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_frag.glsl.spv] +189:07:2026 13:41:47.752 DEBUG: Creating Pipeline +189:07:2026 13:41:47.752 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.752 DEBUG: created render info +189:07:2026 13:41:47.752 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.752 DEBUG: created PipelineLayout +189:07:2026 13:41:47.752 DEBUG: created vertexInputState +189:07:2026 13:41:47.752 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.752 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.947 DEBUG: Creating Vulkan Command Pool +189:07:2026 13:41:47.947 DEBUG: Creating Command Buffer +189:07:2026 13:41:47.958 TRACE: Destroyed Command Buffer +189:07:2026 13:41:47.960 DEBUG: Destroying Vulkan Command Pool +189:07:2026 13:41:47.961 DEBUG: GUI Renderer Pipeline -> [2555858743232] +189:07:2026 13:41:47.963 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_vtx.glsl.spv] +189:07:2026 13:41:47.963 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_frag.glsl.spv] +189:07:2026 13:41:47.964 DEBUG: Creating Pipeline +189:07:2026 13:41:47.964 DEBUG: registered Descriptor sets +189:07:2026 13:41:47.964 DEBUG: created render info +189:07:2026 13:41:47.964 DEBUG: created BlendAttributeStates +189:07:2026 13:41:47.964 DEBUG: created PipelineLayout +189:07:2026 13:41:47.964 DEBUG: created vertexInputState +189:07:2026 13:41:47.964 DEBUG: created PipelineCreateInfo +189:07:2026 13:41:47.964 DEBUG: created GraphicsPipeline +189:07:2026 13:41:47.964 DEBUG: Swap Chain Renderer Pipeline -> [2555859482064] +189:07:2026 13:41:47.966 DEBUG: Starting Render Thread +189:07:2026 13:41:47.966 DEBUG: Loading 9 Materials +189:07:2026 13:41:47.967 DEBUG: Creating Command Buffer +189:07:2026 13:41:47.968 DEBUG: Material Texture Path -> [] +189:07:2026 13:41:47.968 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] +189:07:2026 13:41:47.969 DEBUG: Material Texture Path -> [resources\models\musket\Musket.png] +189:07:2026 13:41:47.969 DEBUG: Loading Image [resources\models\musket\Musket.png] +189:07:2026 13:41:47.970 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] +189:07:2026 13:41:47.970 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] +189:07:2026 13:41:47.970 DEBUG: Material Texture Path -> [] +189:07:2026 13:41:47.970 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] +189:07:2026 13:41:47.970 DEBUG: Material Texture Path -> [] +189:07:2026 13:41:47.970 TRACE: MaterialData[ID=Revolver-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +189:07:2026 13:41:47.970 DEBUG: Material Texture Path -> [resources\models\Revolver\Revolver.png] +189:07:2026 13:41:47.970 DEBUG: Loading Image [resources\models\Revolver\Revolver.png] +189:07:2026 13:41:47.970 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=4096 cap=4096]] +189:07:2026 13:41:47.970 TRACE: MaterialData[ID=Revolver-mat-1, TexturePath=resources\models\Revolver\Revolver.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +189:07:2026 13:41:47.970 DEBUG: Material Texture Path -> [] +189:07:2026 13:41:47.970 TRACE: MaterialData[ID=Revolver-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0] +189:07:2026 13:41:47.970 DEBUG: Material Texture Path -> [] +189:07:2026 13:41:47.971 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] +189:07:2026 13:41:47.971 DEBUG: Material Texture Path -> [resources\models\cube\cubetexture.png] +189:07:2026 13:41:47.971 DEBUG: Loading Image [resources\models\cube\cubetexture.png] +189:07:2026 13:41:47.972 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]] +189:07:2026 13:41:47.972 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] +189:07:2026 13:41:47.972 DEBUG: Material Texture Path -> [] +189:07:2026 13:41:47.972 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] +189:07:2026 13:41:47.974 TRACE: Destroyed Command Buffer +189:07:2026 13:41:47.974 DEBUG: Loaded 9 Materials +189:07:2026 13:41:47.974 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] +189:07:2026 13:41:48.012 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.020 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png] +189:07:2026 13:41:48.057 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.057 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyLeft.png] +189:07:2026 13:41:48.096 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.096 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyUp.png] +189:07:2026 13:41:48.147 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.148 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyDown.png] +189:07:2026 13:41:48.180 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.180 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyFront.png] +189:07:2026 13:41:48.217 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.217 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyBack.png] +189:07:2026 13:41:48.255 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]] +189:07:2026 13:41:48.440 DEBUG: Loading Image [resources/EngineResources/Texture/Terrain4JTitleImage.png] +189:07:2026 13:41:48.442 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=198720 cap=198720]] +189:07:2026 13:41:48.442 DEBUG: Loading Image [resources/EngineResources/Texture/Billy.png] +189:07:2026 13:41:48.455 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=7613760 cap=7613760]] +189:07:2026 13:41:48.455 DEBUG: Transitioning Textures +189:07:2026 13:41:48.455 DEBUG: Recording Texture Transition +189:07:2026 13:41:48.456 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.461 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.461 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.465 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.465 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.469 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.469 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.474 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.474 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.478 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.478 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.482 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.482 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.487 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.487 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.490 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.490 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.495 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.495 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.500 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.500 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.504 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.504 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.507 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.507 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.512 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.512 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.516 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.516 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.519 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.519 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.524 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.524 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.528 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.528 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.532 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.532 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.536 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.536 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.539 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.539 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.543 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.543 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.548 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.548 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.551 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.551 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.556 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.556 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.559 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.559 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.564 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.564 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.568 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.568 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.572 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.572 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.585 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.585 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.590 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.590 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.593 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.593 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.598 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.598 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.603 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.603 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.606 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.606 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.610 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.610 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.615 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.615 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.619 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.619 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.623 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.623 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.627 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.627 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.631 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.631 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.636 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.636 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.640 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.640 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.644 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.644 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.648 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.648 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.652 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.652 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.656 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.657 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.660 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.660 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.664 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.664 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.668 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.668 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.672 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.672 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.676 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.676 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.680 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.680 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.684 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.684 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.688 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.688 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.692 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.692 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.696 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.696 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.699 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.699 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.704 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.704 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.708 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.708 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.712 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.712 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.716 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.716 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.720 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.720 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.724 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.724 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.729 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.729 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.733 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.733 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.737 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.737 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.741 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.741 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.745 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.745 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.749 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.749 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.753 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.753 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.758 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.758 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.762 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.762 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.766 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.766 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.771 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.771 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.774 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.774 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.779 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.779 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.782 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.783 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.787 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.787 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.791 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.791 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.795 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.795 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.799 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.799 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.803 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.803 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.807 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.807 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.811 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.811 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.815 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.815 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.819 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.819 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.824 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.824 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.828 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.828 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.831 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.831 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.835 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.835 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.840 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.840 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.844 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.844 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.848 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.848 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.852 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.852 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.856 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.856 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.860 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.860 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.864 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.864 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.868 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.868 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.872 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.872 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.876 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.876 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.880 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.880 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.884 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.884 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.888 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.888 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.892 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.892 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.896 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.896 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.899 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.899 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.903 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.903 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.907 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.907 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.912 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.912 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.915 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.915 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.920 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.920 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.924 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.924 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.941 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.941 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.945 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.945 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.949 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.949 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.953 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.953 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.958 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.958 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.961 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.961 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.966 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.966 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.970 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.970 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.974 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.974 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png] +189:07:2026 13:41:48.978 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]] +189:07:2026 13:41:48.978 DEBUG: Creating Command Buffer +189:07:2026 13:41:48.998 TRACE: Destroyed Command Buffer +189:07:2026 13:41:49.013 DEBUG: Recorded Texture Transition +189:07:2026 13:41:49.013 DEBUG: Transitioned Textures +189:07:2026 13:41:49.013 DEBUG: Loading 3 models +189:07:2026 13:41:49.014 DEBUG: Creating Command Buffer +189:07:2026 13:41:49.014 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[mesh_0] VertexSize=[1344] +189:07:2026 13:41:49.015 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[cube_0] VertexSize=[25088] +189:07:2026 13:41:49.017 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[cube_0] VertexSize=[21280] +189:07:2026 13:41:49.018 TRACE: Destroyed Command Buffer +189:07:2026 13:41:49.032 DEBUG: Loaded 3 models +189:07:2026 13:41:49.032 DEBUG: Fetching Texture -> [SKYBOX_TEXTURE] +189:07:2026 13:41:49.032 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Terrain4JTitleImage.png] +189:07:2026 13:41:49.032 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Billy.png] +189:07:2026 13:41:49.136 INFO: Launched Terrain4J Engine +189:07:2026 13:41:49.136 DEBUG: Primary Thread Started +189:07:2026 13:41:49.137 DEBUG: Main Thread Started +189:07:2026 13:41:49.137 DEBUG: Render Thread Started +189:07:2026 13:41:49.137 DEBUG: Fast Thread Started +189:07:2026 13:42:04.795 DEBUG: Closing Software of name [Terrain4J Game Engine] +189:07:2026 13:42:04.796 DEBUG: Closing Main Thread, Thread: [Thread[#41,Terrain4J Main Engine Thread,5,main]] +189:07:2026 13:42:04.796 DEBUG: Closing Fast Thread, Thread: [Thread[#42,Terrain4J Fast Engine Thread,5,main]] +189:07:2026 13:42:04.796 DEBUG: Waiting Vulkan Context +189:07:2026 13:42:04.796 DEBUG: destroying Pipeline +189:07:2026 13:42:04.796 DEBUG: destroying Pipeline +189:07:2026 13:42:04.796 DEBUG: destroying Pipeline +189:07:2026 13:42:04.796 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.796 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.796 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.796 DEBUG: Destroying Image View +189:07:2026 13:42:04.796 DEBUG: Destroying Image View +189:07:2026 13:42:04.797 DEBUG: Destroying Image View +189:07:2026 13:42:04.797 DEBUG: Destroying Image View +189:07:2026 13:42:04.798 DEBUG: Destroying Image View +189:07:2026 13:42:04.798 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.799 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.799 DEBUG: destroying Pipeline +189:07:2026 13:42:04.799 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.799 DEBUG: Destroying Image View +189:07:2026 13:42:04.800 DEBUG: Destroying Image View +189:07:2026 13:42:04.800 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.800 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.800 DEBUG: destroying Pipeline +189:07:2026 13:42:04.800 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.800 DEBUG: destroying Pipeline +189:07:2026 13:42:04.800 DEBUG: Destroying Image View +189:07:2026 13:42:04.800 DEBUG: Destroying Descriptor Set Layout +189:07:2026 13:42:04.800 DEBUG: destroying Pipeline +189:07:2026 13:42:04.801 DEBUG: Destroying Image View +189:07:2026 13:42:04.802 DEBUG: Destroying Image View +189:07:2026 13:42:04.802 DEBUG: Destroying Image View +189:07:2026 13:42:04.802 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.803 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.804 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.805 DEBUG: Destroying Image View +189:07:2026 13:42:04.806 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.807 DEBUG: Destroying Image View +189:07:2026 13:42:04.808 DEBUG: Destroying Image View +189:07:2026 13:42:04.808 DEBUG: Destroying Image View +189:07:2026 13:42:04.808 DEBUG: Destroying Image View +189:07:2026 13:42:04.808 DEBUG: Destroying Image View +189:07:2026 13:42:04.808 DEBUG: Destroying Image View +189:07:2026 13:42:04.810 DEBUG: Destroyed Window +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.832 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroyed Window +189:07:2026 13:42:04.833 DEBUG: Process still running: [[Thread[#17,Finalizer,8,system], Thread[#65,Terrain4J Render Engine Thread,5,main], Thread[#39,tinylog-WritingThread,1,main], Thread[#18,Signal Dispatcher,9,system], Thread[#19,Attach Listener,5,system], Thread[#37,Notification Thread,9,system], Thread[#38,Common-Cleaner,8,InnocuousThreadGroup], Thread[#3,Terrain4J Primary Runtime Thread,5,main], Thread[#16,Reference Handler,10,system]]] +189:07:2026 13:42:04.833 DEBUG: Waiting to close Primary Thread, making sure vulkan has shut down properly first and Engine Threads are closed +Threads Open:[1] +Vulkan Layers Open:[4] +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.833 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.834 DEBUG: Destroying Image View +189:07:2026 13:42:04.835 DEBUG: Destroying Image View +189:07:2026 13:42:04.835 DEBUG: Destroying Image View +189:07:2026 13:42:04.835 DEBUG: Destroying Image View +189:07:2026 13:42:04.835 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.836 DEBUG: Destroying Image View +189:07:2026 13:42:04.837 DEBUG: Destroying Image View +189:07:2026 13:42:04.837 DEBUG: Destroying Image View +189:07:2026 13:42:04.837 DEBUG: Destroying Image View +189:07:2026 13:42:04.837 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.838 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.839 DEBUG: Destroying Image View +189:07:2026 13:42:04.840 DEBUG: Dynamic Renderer Cleaned up +189:07:2026 13:42:04.841 DEBUG: Destroying Vulkan Semaphore +189:07:2026 13:42:04.841 DEBUG: Destroying Vulkan Semaphore +189:07:2026 13:42:04.841 DEBUG: Destroying Vulkan Semaphore +189:07:2026 13:42:04.841 DEBUG: Render Semaphores cleaned up +189:07:2026 13:42:04.841 DEBUG: Destroying Vulkan Semaphore +189:07:2026 13:42:04.842 DEBUG: Destroying Vulkan Semaphore +189:07:2026 13:42:04.842 DEBUG: Present Semaphores cleaned up +189:07:2026 13:42:04.842 DEBUG: Fences cleaned up +189:07:2026 13:42:04.842 TRACE: Destroyed Command Buffer +189:07:2026 13:42:04.842 DEBUG: Destroying Vulkan Command Pool +189:07:2026 13:42:04.842 TRACE: Destroyed Command Buffer +189:07:2026 13:42:04.842 DEBUG: Destroying Vulkan Command Pool +189:07:2026 13:42:04.842 DEBUG: Command pools cleaned up +189:07:2026 13:42:04.861 DEBUG: Destroying Descriptor Allocator +189:07:2026 13:42:04.862 DEBUG: Destroying Descriptor Pool +189:07:2026 13:42:04.862 DEBUG: Destroying Vulkan Swapchain +189:07:2026 13:42:04.862 DEBUG: Destroying Image View +189:07:2026 13:42:04.862 DEBUG: Destroying Image View +189:07:2026 13:42:04.862 DEBUG: Destroying Image View +189:07:2026 13:42:04.868 DEBUG: Cleaning Up Surfaces +189:07:2026 13:42:04.868 DEBUG: Destroying Vulkan Pipeline Cache +189:07:2026 13:42:04.868 DEBUG: Removing Vulkan Device +189:07:2026 13:42:05.000 DEBUG: freeing physical device [AMD Radeon RX 9070 XT] +189:07:2026 13:42:05.000 DEBUG: Closing Vulkan instance +189:07:2026 13:42:05.023 DEBUG: Render Thread Finished ending Vulkan Processes +Vulkan Layers Open:[All processes closed and vulkan instance removed] +189:07:2026 13:42:05.023 DEBUG: Closing Render Thread, Thread: [Thread[#65,Terrain4J Render Engine Thread,5,main]] +189:07:2026 13:42:05.023 DEBUG: Closing Primary Thread, Thread: [Thread[#3,Terrain4J Primary Runtime Thread,5,main]] +189:07:2026 13:42:05.023 INFO: Successful stable Shut Down of Terrain4J in [227.593] MilliSeconds diff --git a/resources/EngineResources/audio/music/BAR_FIGHT_boogieparty.ogg b/resources/EngineResources/audio/music/BAR_FIGHT_boogieparty.ogg new file mode 100644 index 0000000..d743d8f Binary files /dev/null and b/resources/EngineResources/audio/music/BAR_FIGHT_boogieparty.ogg differ diff --git a/resources/EngineResources/audio/music/CHILL_REGGAE_2_StealthGroover.ogg b/resources/EngineResources/audio/music/CHILL_REGGAE_2_StealthGroover.ogg new file mode 100644 index 0000000..eea65c6 Binary files /dev/null and b/resources/EngineResources/audio/music/CHILL_REGGAE_2_StealthGroover.ogg differ diff --git a/resources/EngineResources/audio/music/CHILL_REGGAE_Firmament.ogg b/resources/EngineResources/audio/music/CHILL_REGGAE_Firmament.ogg new file mode 100644 index 0000000..c542870 Binary files /dev/null and b/resources/EngineResources/audio/music/CHILL_REGGAE_Firmament.ogg differ diff --git a/resources/EngineResources/audio/music/GuitarSpam (1).mp3 b/resources/EngineResources/audio/music/GuitarSpam (1).mp3 new file mode 100644 index 0000000..0100812 Binary files /dev/null and b/resources/EngineResources/audio/music/GuitarSpam (1).mp3 differ diff --git a/resources/EngineResources/audio/music/GuitarSpam (1).ogg b/resources/EngineResources/audio/music/GuitarSpam (1).ogg new file mode 100644 index 0000000..93278ee Binary files /dev/null and b/resources/EngineResources/audio/music/GuitarSpam (1).ogg differ diff --git a/resources/EngineResources/audio/music/INTENSE_THEME_ZombieChase.ogg b/resources/EngineResources/audio/music/INTENSE_THEME_ZombieChase.ogg new file mode 100644 index 0000000..b5558bf Binary files /dev/null and b/resources/EngineResources/audio/music/INTENSE_THEME_ZombieChase.ogg differ diff --git a/resources/EngineResources/audio/music/MENUMUSIC_RetroFutureClean.ogg b/resources/EngineResources/audio/music/MENUMUSIC_RetroFutureClean.ogg new file mode 100644 index 0000000..597781a Binary files /dev/null and b/resources/EngineResources/audio/music/MENUMUSIC_RetroFutureClean.ogg differ diff --git a/resources/EngineResources/audio/music/You Fought The Rain mp3.mp3 b/resources/EngineResources/audio/music/You Fought The Rain mp3.mp3 new file mode 100644 index 0000000..fe4eaf6 Binary files /dev/null and b/resources/EngineResources/audio/music/You Fought The Rain mp3.mp3 differ diff --git a/resources/EngineResources/audio/music/You Fought The Rain mp3.ogg b/resources/EngineResources/audio/music/You Fought The Rain mp3.ogg new file mode 100644 index 0000000..de25802 Binary files /dev/null and b/resources/EngineResources/audio/music/You Fought The Rain mp3.ogg differ diff --git a/resources/EngineResources/audio/music/theshiteventhefar.mp3 b/resources/EngineResources/audio/music/theshiteventhefar.mp3 new file mode 100644 index 0000000..6d5e819 Binary files /dev/null and b/resources/EngineResources/audio/music/theshiteventhefar.mp3 differ diff --git a/resources/EngineResources/audio/music/theshiteventhefar.ogg b/resources/EngineResources/audio/music/theshiteventhefar.ogg new file mode 100644 index 0000000..96f1304 Binary files /dev/null and b/resources/EngineResources/audio/music/theshiteventhefar.ogg differ diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/AudioInstance.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/AudioInstance.java index 99e196a..d1c1594 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/AudioInstance.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/AudioInstance.java @@ -19,7 +19,7 @@ public class AudioInstance { this.InstanceName = InstanceName; SoundBuffer buffer = new SoundBuffer(AudioSourcePath); manager.AddSoundBuffer(BUFFER_ID, buffer); - AudioSource audioSource = new AudioSource(loop,true); + this.audioSource = new AudioSource(loop,true); audioSource.SetBuffer(buffer.GetBufferID()); manager.AddSoundSource(SOURCE_ID,audioSource); } @@ -30,7 +30,7 @@ public class AudioInstance { this.InstanceName = InstanceName; SoundBuffer buffer = new SoundBuffer(AudioSourcePath); manager.AddSoundBuffer(BUFFER_ID, buffer); - AudioSource audioSource = new AudioSource(loop,false); + this.audioSource = new AudioSource(loop,false); audioSource.SetPosition(new Vector3f(X,Y,Z)); audioSource.SetBuffer(buffer.GetBufferID()); manager.AddSoundSource(SOURCE_ID,audioSource); 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 2cf09f4..0ff70b3 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/GameCore.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/GameCore.java @@ -77,27 +77,11 @@ public class GameCore implements GameLogic { @Override public InitData Initialise(EngineInstance engineInstance) { - IScene scene = engineInstance.scene(); + Scene scene = (Scene) engineInstance.scene(); List models = new ArrayList<>(); - MelonaData = ModelLoader.LoadModel("resources/models/cube/Cube.json"); - List MelonaDataMat = ModelLoader.LoadMaterials("resources/models/cube/Cube_mat.json"); - var Melona = new Actor("Melona", MelonaData.ID(), new Vector3f(0,0f,-5f)).SetRotation(0,(float)Math.toRadians(180),0); - Melona.CreatePhysicsController(LegacyPhysicsController.CollisionType.Sensor); - /* Melona.GetPhysicsController() - .AddCollisionSensor(new Vector3f(0,0,0)) - .AddCollisionSensor(new Vector3f(0,2.4f,0)) - .AddCollisionSensor(new Vector3f(0.5f,0,0)) - .AddCollisionSensor(new Vector3f(-0.5f,0,0)) - .AddCollisionSensor(new Vector3f(0.5f,1.8f,0)) - .AddCollisionSensor(new Vector3f(-0.5f,1.8f,0)) - .AddCollisionSensor(new Vector3f(0.5f,1.8f,0.5f)) - .AddCollisionSensor(new Vector3f(-0.5f,1.8f,0.5f)) - .AddCollisionSensor(new Vector3f(-0.5f,1.8f,-0.5f)) - .AddCollisionSensor(new Vector3f(0.5f,1.8f,-0.5f)) - .AddCollisionSensor(new Vector3f(0f,1.8f,0.5f)) - .AddCollisionSensor(new Vector3f(-0f,1.8f,-0.5f)) - .AddCollisionSensor(new Vector3f(-0f,0f,-0.5f)) - .AddCollisionSensor(new Vector3f(0f,0f,0.5f));*/ + + MelonaData = ModelLoader.LoadModel("resources/models/cube/Cube.json"); + List MelonaMat = ModelLoader.LoadMaterials("resources/models/cube/Cube_mat.json"); 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)); @@ -110,6 +94,9 @@ public class GameCore implements GameLogic { Musket.SetRotation(0,(float)Math.toRadians(180),0); Musket.CreatePhysicsController( ConvexMesh.Box(0.5f,0.75f,0.5f),200f); PlayerActorID = "Player_Musket"; + scene.Musket = Musket; + scene.CreatePlayerController(scene.Musket); + RigidPhysicsController physicsController = (RigidPhysicsController) Musket.GetPhysicsController(); RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LockRotation(); @@ -120,28 +107,18 @@ public class GameCore implements GameLogic { Revolver.SetPositionOffset(new Vector3f(0.5f,1.0f,-1.25f)); Revolver.SetRotation(0,(float)Math.toRadians(180),0); Revolver.CreatePhysicsController( ConvexMesh.Box(0.5f,0.75f,0.5f),200f); + scene.Revolver = Revolver; + PlayerActorID = "Player_Revolver"; // if I put PlayerActorID = "Player_Revolver" it just crashes - - - - try { - Melona.GenerateCollisionMesh(MelonaData); - Melona.SetPhysicsType(Actor.PhysicsControllerType.T4JLegacyCollision); - Melona.GetCollisionMesh().GenerateSensorsFromVertices(); - } catch(IOException e){ - Logger.error("Could Not Generate Collison Mesh [{}]",e); - } mesh.RegisterMesh(); - scene.AddActor(Melona); scene.AddActor(Musket); scene.AddActor(Revolver); - 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); materials.addAll(RevolverMat); + materials.addAll(MelonaMat); models.add(MelonaData); models.add(MusketData); models.add(RevolverData); @@ -246,6 +223,7 @@ public class GameCore implements GameLogic { Camera camera = engineInstance.scene().GetCamera(); audioManager.SetAttenuationModel(AL11.AL_EXPONENT_DISTANCE); audioManager.SetListener(new SoundListener(camera.GetPosition())); + engineInstance.scene().SetUpAudio(engineInstance,audioManager); } @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 f66bb05..879b921 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 @@ -18,6 +18,7 @@ import java.util.List; import java.util.Map; public class Actor{ + public enum PhysicsControllerType{ RigidBodySeparatingAxisTheory, T4JLegacyCollision @@ -25,18 +26,18 @@ public class Actor{ public static final Map Actors = new HashMap<>(); public static final List ActorNames = new ArrayList<>(); - private final String ID; - 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; + protected final String ID; + protected final String ModelID; + protected final Matrix4f ModelMatrix; + protected final Vector3f Position; + protected final Vector3f PositionOffset; + protected final Quaternionf Rotation; + protected CollisionMesh collisionMesh; + protected Vector3f Scale; private IPhysicsController physicsController; - private final Vector3f PivotOffset; - private final Vector3f AdditionalPivotOffset; - private final Vector3f TemporaryVector; + protected final Vector3f PivotOffset; + protected final Vector3f AdditionalPivotOffset; + protected final Vector3f TemporaryVector; public PhysicsControllerType PhysicsType = PhysicsControllerType.RigidBodySeparatingAxisTheory; public void SetPhysicsType(PhysicsControllerType type){ diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/ActorElement.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/ActorElement.java new file mode 100644 index 0000000..14e2a80 --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/ActorElement.java @@ -0,0 +1,82 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene; + +import net.halbear.Terrain4J.EngineCore.Logic.Physics.IPhysicsController; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.LegacyCollision.CollisionMesh; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.LegacyPhysicsController; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.ConvexMesh; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidPhysicsController; +import net.halbear.Terrain4J.EngineCore.Vulkan.Rendering.VkModel.ModelData; +import org.joml.Matrix4f; +import org.joml.Quaternionf; +import org.joml.Vector3f; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ActorElement extends Actor { + + public static Map ActorElementRegistry = new HashMap<>(); + public static List ElementNames = new ArrayList<>(); + + private String ParentID = "NULL"; + + + public ActorElement(String ID, String ModelID, String ParentID, Vector3f PositionOffset){ + super(ID,ModelID,PositionOffset); + ElementNames.add(ID); + this.ParentID = ParentID; + SetPositionOffset(PositionOffset); + UpdateModelMatrix(); + ActorElementRegistry.put(ID,this); + } + + @Override + public IPhysicsController GetPhysicsController(){return null;} + @Override + + public Actor CreatePhysicsController(ConvexMesh mesh, float Mass){ + return this; + } + @Override + + public Actor CreatePhysicsController(LegacyPhysicsController.CollisionType collisionType){ + return this; + } + @Override + + public Actor GenerateCollisionMesh(ModelData modelData) { + return this; + } + + @Override + public Actor SetPosition(Vector3f position){ + return this; + } + @Override + public Actor SetPosition(float x, float y, float z){ + return this; + } + + @Override + public Vector3f GetPosition(){ + Actor Parent = Actor.Actors.get(ParentID); + if(Parent == null) return null; + return new Vector3f(Parent.GetPosition()).add(PositionOffset); + } + + @Override + public void UpdateModelMatrix(){ + Actor Parent = Actor.Actors.get(ParentID); + if(Parent == null) return; + ModelMatrix.translateLocal(TemporaryVector.set(PivotOffset).add(AdditionalPivotOffset)); + ModelMatrix.translationRotateScale(new Vector3f(Parent.GetPosition()), new Quaternionf(Parent.GetRotation()).add(Rotation), Scale); + ModelMatrix.translate(PositionOffset); + ModelMatrix.translateLocal(TemporaryVector.negate()); + + } + + public String GetParentID(){return ParentID;} +} diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IPlayerController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IPlayerController.java new file mode 100644 index 0000000..4255ddd --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IPlayerController.java @@ -0,0 +1,9 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene; + +public interface IPlayerController { + public void SetPlayerControls(IPlayerInputEvents Controls); + public IPlayerInputEvents GetControls(); + public void SetPlayerCamera(String camera); + public Camera GetPlayerCamera(); + public void SwitchActor(PlayerActor newActor); +} diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IPlayerInputEvents.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IPlayerInputEvents.java new file mode 100644 index 0000000..e1368fa --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IPlayerInputEvents.java @@ -0,0 +1,9 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene; + +import net.halbear.Terrain4J.EngineCore.Input.KeyboardInput; +import net.halbear.Terrain4J.EngineCore.Logic.EngineInstance; +import net.halbear.Terrain4J.EngineCore.Main.GameCore; + +public interface IPlayerInputEvents { + void Input(KeyboardInput input, long FrameDiffNanoSeconds, PlayerActor playerActor, float MOVEMENT_SPEED, GameCore GameCore, IScene ParentScene); +} diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IScene.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IScene.java index 680e0ee..b251c8e 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IScene.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/IScene.java @@ -1,5 +1,6 @@ package net.halbear.Terrain4J.EngineCore.Main.Scene; +import net.halbear.Terrain4J.EngineCore.Audio.AudioManager; import net.halbear.Terrain4J.EngineCore.Logic.EngineInstance; import net.halbear.Terrain4J.EngineCore.Logic.Rendering.SkyBox; import net.halbear.Terrain4J.EngineCore.Main.GameCore; @@ -31,7 +32,7 @@ public interface IScene { public void RenderGUIs(EngineInstance engineInstance, long frameTimeNS, GameCore parent); public void CameraInput(EngineInstance engineInstance, long FrameDiffNanoSeconds); public String GetActiveCameraFrame(); - public void SetUpAudio(EngineInstance engineInstance); + public void SetUpAudio(EngineInstance engineInstance, AudioManager manager); public ISceneLightingManager GetLightingManager(); public SkyBox GetSkyBox(); public void SetSkyBox(SkyBox skyBox); diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/InputEvents/DebugCameraController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/InputEvents/DebugCameraController.java new file mode 100644 index 0000000..9579f54 --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/InputEvents/DebugCameraController.java @@ -0,0 +1,39 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene.InputEvents; + +import net.halbear.Terrain4J.EngineCore.Input.KeyboardInput; +import net.halbear.Terrain4J.EngineCore.Logic.EngineConfig; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidBody; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidPhysicsController; +import net.halbear.Terrain4J.EngineCore.Main.GameCore; +import net.halbear.Terrain4J.EngineCore.Main.Scene.*; +import net.halbear.Terrain4J.EngineCore.Main.Scene.GUIs.Gimbal; +import org.joml.Vector3f; + +import static org.lwjgl.glfw.GLFW.*; + +public class DebugCameraController implements IPlayerInputEvents { + @Override + public void Input(KeyboardInput input, long FrameDiffNanoSeconds, PlayerActor playerActor, float MOVEMENT_SPEED, GameCore GameCore, IScene ParentScene) { + Scene scene = (Scene)ParentScene; + float MovementDist = (float)(FrameDiffNanoSeconds / 1000000L) * MOVEMENT_SPEED; + Camera camera = scene.GetCamera(); + if(input.keyPressed(GLFW_KEY_W)){ + camera.MoveForward(MovementDist); + } + if(input.keyPressed(GLFW_KEY_S)){ + camera.MoveBackward(MovementDist); + } + if(input.keyPressed(GLFW_KEY_A)){ + camera.MoveLeft(MovementDist); + } + if(input.keyPressed(GLFW_KEY_D)){ + camera.MoveRight(MovementDist); + } + if(input.keyPressed(GLFW_KEY_SPACE)){ + camera.MoveUp(MovementDist); + } + if(input.keyPressed(GLFW_KEY_LEFT_CONTROL)){ + camera.Sprint(true); + } else camera.Sprint(false); + } +} diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/InputEvents/PhysicsPlayerController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/InputEvents/PhysicsPlayerController.java new file mode 100644 index 0000000..512cace --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/InputEvents/PhysicsPlayerController.java @@ -0,0 +1,61 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene.InputEvents; + +import net.halbear.Terrain4J.EngineCore.Display.Window; +import net.halbear.Terrain4J.EngineCore.Input.KeyboardInput; +import net.halbear.Terrain4J.EngineCore.Logic.EngineConfig; +import net.halbear.Terrain4J.EngineCore.Logic.EngineInstance; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidBody; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidPhysicsController; +import net.halbear.Terrain4J.EngineCore.Main.GameCore; +import net.halbear.Terrain4J.EngineCore.Main.Scene.*; +import net.halbear.Terrain4J.EngineCore.Main.Scene.GUIs.Gimbal; +import org.joml.Vector3f; + +import static org.lwjgl.glfw.GLFW.*; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_1; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_2; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_3; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_A; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_D; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_F2; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_LEFT_CONTROL; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_M; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_S; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_SPACE; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_TAB; +import static org.lwjgl.glfw.GLFW.GLFW_KEY_W; + +public class PhysicsPlayerController implements IPlayerInputEvents { + @Override + public void Input(KeyboardInput input, long FrameDiffNanoSeconds, PlayerActor playerActor, float MOVEMENT_SPEED, GameCore GameCore, IScene ParentScene) { + Scene scene = (Scene)ParentScene; + float MovementDist = (float)(FrameDiffNanoSeconds / 1000000L) * MOVEMENT_SPEED; + Camera camera = scene.GetCamera(); + if(playerActor!= null)camera = Camera.GetCamera(playerActor.AttachedCameraID); + if(input.keyPressed(GLFW_KEY_W)){ + 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)){ + 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)){ + 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)){ + playerActor.Move(new Vector3f(MovementDist * (float)Math.cos((camera.GetRotation().y)),0,MovementDist * (float)Math.sin((camera.GetRotation().y)))); + } + if (playerActor != null) { + RigidPhysicsController physicsController = (RigidPhysicsController) playerActor.GetPhysicsController(); + RigidBody body = RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID); + if (body != null && body.Grounded) { + scene.Jumps = 0; + } + } + if (input.keySinglePress(GLFW_KEY_SPACE)) { + if (scene.Jumps < scene.MaxJumps) { + if (playerActor != null) playerActor.Move(new Vector3f(0, 5f, 0)); + scene.Jumps++; + } + } + } +} 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 index 3113053..00dd78f 100644 --- a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerActor.java +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerActor.java @@ -28,15 +28,50 @@ public class PlayerActor extends Actor{ return this; } - + public Camera GetPlayerCamera(){ + return PlayerCam; + } public PlayerActor SetCameraOffset(Vector3f Offset){ CameraOffset.set(Offset); return this; } + public void SetNewAngularVelocity(Vector3f Velocity){ + if(PhysicsType == PhysicsControllerType.RigidBodySeparatingAxisTheory) { + RigidPhysicsController physicsController = (RigidPhysicsController) GetPhysicsController(); + RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).AngularVelocity.set(Velocity); + } + } + + public void SetNewVelocity(Vector3f Velocity){ + if(PhysicsType == PhysicsControllerType.RigidBodySeparatingAxisTheory) { + RigidPhysicsController physicsController = (RigidPhysicsController) GetPhysicsController(); + RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LinearVelocity.set(Velocity); + } + } + + public void SetNewRotation(Quaternionf Rotation){ + if(PhysicsType == PhysicsControllerType.RigidBodySeparatingAxisTheory) { + RigidPhysicsController physicsController = (RigidPhysicsController) GetPhysicsController(); + RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).Rotation.set(Rotation); + } + } + + public void SetNewPosition(Vector3f Position){ + if(PhysicsType == PhysicsControllerType.RigidBodySeparatingAxisTheory) { + RigidPhysicsController physicsController = (RigidPhysicsController) GetPhysicsController(); + RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).Position.set(Position); + } + } + @Override public void TickUpdate(){ + if(PlayerCam == null) + { + PlayerCam = Camera.CameraRegistry.get(AttachedCameraID); + if(PlayerCam == null) return; + } Vector3f Rotation = PlayerCam.GetRotation(); Vector3f Position = new Vector3f(GetPosition()); GetRotation().identity().rotateYXZ(-Rotation.y, -Rotation.x, Rotation.z); diff --git a/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerController.java b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerController.java new file mode 100644 index 0000000..62fd56c --- /dev/null +++ b/src/main/java/net/halbear/Terrain4J/EngineCore/Main/Scene/PlayerController.java @@ -0,0 +1,68 @@ +package net.halbear.Terrain4J.EngineCore.Main.Scene; + +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidBody; +import net.halbear.Terrain4J.EngineCore.Logic.Physics.RigidBody.RigidPhysicsController; +import net.halbear.Terrain4J.EngineCore.Main.Scene.InputEvents.PhysicsPlayerController; +import org.joml.Quaternionf; +import org.joml.Vector3f; + +import java.util.HashMap; +import java.util.Map; + +public class PlayerController implements IPlayerController{ + + public static Map ControllerRegistry = new HashMap<>(); + + PlayerActor playerActor; + Vector3f Position; + Quaternionf Rotation; + Map Elements = new HashMap<>(); + IPlayerInputEvents InputEvents = new PhysicsPlayerController(); + String PlayerCamera = "DebugCamera"; + final String ID; + + public PlayerController(PlayerActor Player, String ContollerID){ + this.playerActor = Player; + PlayerCamera = Player.PlayerCam.GetID(); + ID = ContollerID; + ControllerRegistry.put(ContollerID,this); + } + + public void SwitchActor(PlayerActor newActor){ + if(newActor.PlayerCam == null) return; + if(playerActor.PhysicsType == Actor.PhysicsControllerType.RigidBodySeparatingAxisTheory) { + RigidPhysicsController physicsController = (RigidPhysicsController) playerActor.GetPhysicsController(); + newActor.SetNewPosition(RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).Position); + newActor.SetNewRotation(RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).Rotation); + newActor.SetNewVelocity(RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).LinearVelocity); + newActor.SetNewAngularVelocity(RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID).AngularVelocity); + } + playerActor = newActor; + PlayerCamera = newActor.PlayerCam.GetID(); + } + + public PlayerController AddActorElement(ActorElement newActor){ + Elements.put(newActor.GetID(), newActor); + return this; + } + + @Override + public void SetPlayerControls(IPlayerInputEvents Controls) { + this.InputEvents = Controls; + } + + @Override + public IPlayerInputEvents GetControls() { + return InputEvents; + } + + @Override + public void SetPlayerCamera(String camera) { + PlayerCamera = camera; + } + + @Override + public Camera GetPlayerCamera() { + return Camera.CameraRegistry.get(PlayerCamera); + } +} 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 4caaa8b..34825a2 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 @@ -1,5 +1,6 @@ package net.halbear.Terrain4J.EngineCore.Main.Scene; +import net.halbear.Terrain4J.EngineCore.Audio.AudioManager; import net.halbear.Terrain4J.EngineCore.Display.Window; import net.halbear.Terrain4J.EngineCore.Input.KeyboardInput; import net.halbear.Terrain4J.EngineCore.Input.MouseListener; @@ -44,13 +45,15 @@ public class Scene implements IScene { private CameraFrame LastCameraFrame; public int TotalTransitionTicks = 1000; public float CurrentTransitionTick = 0; - private Vector2f LastMousePos = new Vector2f(0, 0); + private Vector2f LastMousePos = new Vector2f(0,0); private final ISceneLightingManager lightingManager; private SkyBox skyBox; - private Map audioInstances; + private Map audioInstances; private DynamicTerrainMesh terrainMesh; - private int Jumps = 0; - private final int MaxJumps = 2; + public IPlayerController playerController; + + public int Jumps = 0; + public final int MaxJumps = 2; public PlayerActor CurrentWeapon; public PlayerActor Musket; public PlayerActor Revolver; @@ -58,7 +61,7 @@ public class Scene implements IScene { public List ActiveGUIs = new ArrayList<>(); public Map GUIReg = new HashMap<>(); - public void SetSkyBox(SkyBox skyBox) { + public void SetSkyBox(SkyBox skyBox){ this.skyBox = skyBox; } @@ -72,161 +75,140 @@ public class Scene implements IScene { int Width = 32; int Height = 32; float[] Heights = new float[Width * Height]; - for (int i = 0; i < Heights.length; i++) { - Heights[i] = 3 * (float) Math.random(); + for(int i = 0; i < Heights.length; i++){ + Heights[i] = 3 * (float)Math.random(); } terrainMesh = new DynamicTerrainMesh(PrimaryRuntime.GetRenderThread().GetRenderer().GetVulkanContext().GetDevice(), Heights, Width, Height); } - public SkyBox GetSkyBox() { - return skyBox; - } + public SkyBox GetSkyBox(){return skyBox;} public Scene(Window window) { - // CreateTerrainMesh(); - lightingManager = new SceneLightingManager(1000, new Vector3f(1f, 1f, 1f), 0.5f); + // CreateTerrainMesh(); + lightingManager = new SceneLightingManager(1000,new Vector3f(1f,1f,1f), 0.5f); Actors = new HashMap<>(); audioInstances = new HashMap<>(); ActiveActors = new ArrayList<>(); CameraFrames = new HashMap<>(); var EngConfig = EngineConfig.getInstance(); camera = new Camera("DebugCamera"); - LastCameraFrame = new CameraFrame(camera.GetPosition(), camera.GetRotation(), camera.GetFOV(), "NO_FRAME"); - Projection = new Project3D(camera.GetFOV(), EngConfig.GetZNearPlane(), EngConfig.GetZFarPlane(), + LastCameraFrame = new CameraFrame(camera.GetPosition(),camera.GetRotation(),camera.GetFOV(), "NO_FRAME"); + Projection = new Project3D(camera.GetFOV(),EngConfig.GetZNearPlane(), EngConfig.GetZFarPlane(), window.getWidth(), window.getHeight()); - GUIReg.put("PerformanceOverlay", new PerformanceOverlay()); + GUIReg.put("PerformanceOverlay",new PerformanceOverlay()); ActiveGUIs.add("PerformanceOverlay"); } - public ISceneLightingManager GetLightingManager() { - return lightingManager; - } + public ISceneLightingManager GetLightingManager(){return lightingManager;} - public void CameraTick(long FrameDiffNanoSeconds) { - float FrameTimeMS = FrameDiffNanoSeconds / 1000000.0f; - float DeltaTime = FrameTimeMS / (60.0f / 240.0f); - if (TransitionCameraFrame && TotalTransitionTicks > CurrentTransitionTick && !Objects.equals(SetCameraFrame, "NO_FRAME")) { + public void CameraTick(long FrameDiffNanoSeconds){ + float FrameTimeMS = FrameDiffNanoSeconds/1000000.0f; + float DeltaTime = FrameTimeMS/(60.0f/240.0f); + if(TransitionCameraFrame && TotalTransitionTicks > CurrentTransitionTick && !Objects.equals(SetCameraFrame, "NO_FRAME")){ float StartFOV = LastCameraFrame.FOV(); Vector3f StartPos = LastCameraFrame.Position(); Vector3f StartRot = LastCameraFrame.Rotation(); CameraFrame StartFrame; - if (CameraFrames.containsKey(ActiveCameraFrame)) { + if(CameraFrames.containsKey(ActiveCameraFrame)){ StartFrame = CameraFrames.get(ActiveCameraFrame); - } else StartFrame = new CameraFrame(StartPos, StartRot, StartFOV, "NO_FRAME"); + } else StartFrame = new CameraFrame(StartPos,StartRot,StartFOV, "NO_FRAME"); float EndFOV = camera.GetFOV(); Vector3f EndPos = camera.GetPosition(); Vector3f EndRot = camera.GetRotation(); CameraFrame EndFrame; - if (CameraFrames.containsKey(SetCameraFrame)) { + if(CameraFrames.containsKey(SetCameraFrame)){ EndFrame = CameraFrames.get(SetCameraFrame); - } else EndFrame = new CameraFrame(EndPos, EndRot, EndFOV, "NO_FRAME"); - CameraFrame LerpedFrame = StartFrame.Lerp(EndFrame, (int) CurrentTransitionTick, TotalTransitionTicks); + } else EndFrame = new CameraFrame(EndPos,EndRot,EndFOV, "NO_FRAME"); + CameraFrame LerpedFrame = StartFrame.Lerp(EndFrame, (int)CurrentTransitionTick, TotalTransitionTicks); camera.SetCameraFrame(LerpedFrame); - if (LastCameraFrame.FOV() != LerpedFrame.FOV()) { + if(LastCameraFrame.FOV() != LerpedFrame.FOV()){ Projection.ChangeFOV(LerpedFrame.FOV()); } - CurrentTransitionTick += DeltaTime; - } else if (TransitionCameraFrame) { + CurrentTransitionTick+= DeltaTime; + } else if (TransitionCameraFrame){ CurrentTransitionTick = 0; ActiveCameraFrame = SetCameraFrame; - if (!Objects.equals(CameraFrames.get(ActiveCameraFrame).NextFrame(), "NO_FRAME") && CameraFrames.containsKey(CameraFrames.get(ActiveCameraFrame).NextFrame())) { + if(!Objects.equals(CameraFrames.get(ActiveCameraFrame).NextFrame(), "NO_FRAME") && CameraFrames.containsKey(CameraFrames.get(ActiveCameraFrame).NextFrame())){ SetCameraFrame = CameraFrames.get(ActiveCameraFrame).NextFrame(); - } else { + } else{ TotalTransitionTicks = 1000; TransitionCameraFrame = false; } - } else { - if (!Objects.equals(ActiveCameraFrame, SetCameraFrame) && !Objects.equals(SetCameraFrame, "NO_FRAME")) { - LastCameraFrame = new CameraFrame(camera.GetPosition(), camera.GetRotation(), camera.GetFOV(), "NO_FRAME"); + } else{ + if(!Objects.equals(ActiveCameraFrame, SetCameraFrame) && !Objects.equals(SetCameraFrame, "NO_FRAME")){ + LastCameraFrame = new CameraFrame(camera.GetPosition(),camera.GetRotation(),camera.GetFOV(), "NO_FRAME"); CurrentTransitionTick = 0; TransitionCameraFrame = true; } } } - public Map GetCameraFrameReg() { - return CameraFrames; + public void CreatePlayerController(PlayerActor CurrentActor){ + CurrentWeapon = CurrentActor; + playerController = new PlayerController(CurrentWeapon, "PLAYERCONTROLLER"); } - public CameraFrame GetCameraFrame(String Name) { - return CameraFrames.get(Name); - } - - public Scene AddCameraFrame(String Name, CameraFrame frame) { - CameraFrames.put(Name, frame); + public Map GetCameraFrameReg(){return CameraFrames;} + public CameraFrame GetCameraFrame(String Name){return CameraFrames.get(Name);} + public Scene AddCameraFrame(String Name, CameraFrame frame){ + CameraFrames.put(Name,frame); return this; } - - public void StartCameraTrack(String StartFrame, String EndFrame, int TickAmount) { + public void StartCameraTrack(String StartFrame, String EndFrame, int TickAmount){ ActiveCameraFrame = StartFrame; CurrentTransitionTick = 0; TotalTransitionTicks = TickAmount; SetCameraFrame = EndFrame; } + public void SetActiveCameraFrame(String frameName){SetCameraFrame = frameName;} + public String GetActiveCameraFrame(){return ActiveCameraFrame;} - public void SetActiveCameraFrame(String frameName) { - SetCameraFrame = frameName; + @Override + public void SetUpAudio(EngineInstance engineInstance, AudioManager manager) { + AudioInstance newInstance = new AudioInstance("resources/EngineResources/audio/music/groovy_fight.ogg","BGM",manager,true); + newInstance.Play(); + audioInstances.put("BGM",newInstance); } - public String GetActiveCameraFrame() { - return ActiveCameraFrame; - } - - public Camera GetCamera() { - return camera; - } - - public void AddActor(Actor NewActor) { + public Camera GetCamera(){return camera;} + public void AddActor(Actor NewActor){ Actors.put(NewActor.GetID(), NewActor); ActiveActors.add(NewActor.GetID()); } - - public List GetActors() { + public List GetActors(){ List actors = new ArrayList<>(); - for (int i = 0; i < ActiveActors.size(); i++) { + for(int i = 0; i < ActiveActors.size(); i++){ actors.add(Actors.get(ActiveActors.get(i))); } return actors; } - - public Project3D GetProjection() { - return Projection; - } - - public void RemoveAllActors() { - Actors.clear(); - } - - public Actor RemoveActor(Actor actor) { - return Actors.remove(actor.GetID()); - } + public Project3D GetProjection(){return Projection;} + public void RemoveAllActors(){Actors.clear();} + public Actor RemoveActor(Actor actor){return Actors.remove(actor.GetID());} public void SetCurrentWeapon(PlayerActor Weapon) {this.CurrentWeapon = Weapon; } - public void SetUpAudio(EngineInstance engineInstance) { - - } - public int GUI_MODE = 0; @Override - public void Input(EngineInstance engineInstance, long FrameDiffNanoSeconds, PlayerActor playerActor, float MOVEMENT_SPEED, GameCore parent) { + public void Input(EngineInstance engineInstance, long FrameDiffNanoSeconds,PlayerActor playerActor, float MOVEMENT_SPEED, GameCore parent) { IScene scene = engineInstance.scene(); Window window = engineInstance.window(); KeyboardInput input = window.getKeyboardInput(); - float MovementDist = (float) (FrameDiffNanoSeconds / 1000000L) * MOVEMENT_SPEED; + float MovementDist = (float)(FrameDiffNanoSeconds / 1000000L) * MOVEMENT_SPEED; Camera camera = scene.GetCamera(); - if (playerActor != null) camera = Camera.GetCamera(playerActor.AttachedCameraID); - if (input.keySinglePress(GLFW_KEY_F3)) { + if(playerActor!= null)camera = Camera.GetCamera(playerActor.AttachedCameraID); + if(input.keySinglePress(GLFW_KEY_F3)){ GUI_MODE = (GUI_MODE + 1) % 2; } - if (input.keyPressed(GLFW_KEY_ENTER)) { - parent.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())); + if(input.keyPressed(GLFW_KEY_ENTER)) { + parent.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())); } if (input.keySinglePress(GLFW_KEY_R) && CurrentWeapon != Revolver) { scene.RemoveActor(Musket); scene.AddActor(Revolver); + playerController.SwitchActor(Revolver); CurrentWeapon = Revolver; playerActor = Revolver; parent.SetPlayerActorID(Revolver.GetID()); @@ -237,6 +219,7 @@ public class Scene implements IScene { if (input.keySinglePress(GLFW_KEY_M) && CurrentWeapon != Musket) { scene.RemoveActor(Revolver); scene.AddActor(Musket); + playerController.SwitchActor(Musket); CurrentWeapon = Musket; playerActor = Musket; parent.SetPlayerActorID(Musket.GetID()); @@ -244,68 +227,25 @@ public class Scene implements IScene { Revolver.AttachedCameraID = "NULL"; } - if (input.keyPressed(GLFW_KEY_1)) { + if(input.keyPressed(GLFW_KEY_1)) { Gimbal.universalType = Gimbal.GimbalType.Move; } - if (input.keyPressed(GLFW_KEY_2)) { + if(input.keyPressed(GLFW_KEY_2)) { Gimbal.universalType = Gimbal.GimbalType.Resize; } - if (input.keyPressed(GLFW_KEY_3)) { + if(input.keyPressed(GLFW_KEY_3)) { Gimbal.universalType = Gimbal.GimbalType.Rotate; } - if (input.keyPressed(GLFW_KEY_TAB)) { - for (int i = 0; i < parent.ActorEditorComponents.size(); i++) { + if(input.keyPressed(GLFW_KEY_TAB)){ + for(int i = 0; i < parent.ActorEditorComponents.size(); i++){ parent.ActorEditorComponents.get(i).UpdateAll(); } } - if (input.keySinglePress(GLFW_KEY_F2)) { + if(input.keySinglePress(GLFW_KEY_F2)) { EngineConfig.getInstance().SetRenderCollisionMesh(!EngineConfig.getInstance().RenderCollisionMeshes()); } - if (input.keyPressed(GLFW_KEY_W)) { - 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)) { - 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)) { - 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)) { - 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)) { - if (playerActor == null) camera.MoveUp(MovementDist); - - } - if (playerActor != null) { - RigidPhysicsController physicsController = (RigidPhysicsController) playerActor.GetPhysicsController(); - RigidBody body = RigidBody.RigidBodyRegister.get(physicsController.RigidBodyID); - if (body != null && body.Grounded) { - Jumps = 0; - } - } - if (input.keySinglePress(GLFW_KEY_SPACE)) { - // camera.MoveUp(MovementDist); - if (Jumps < MaxJumps) { - if (playerActor != null) playerActor.Move(new Vector3f(0, 5f, 0)); - Jumps++; - } - } - if (input.keyPressed(GLFW_KEY_LEFT_SHIFT)) { - if (playerActor == null) camera.MoveDown(MovementDist); - } - if (input.keyPressed(GLFW_KEY_LEFT_CONTROL)) { - camera.Sprint(true); - } else camera.Sprint(false); - if (GUI_MODE == 0 && !ActiveGUIs.contains("PerformanceOverlay")) ActiveGUIs.add("PerformanceOverlay"); + playerController.GetControls().Input(input, FrameDiffNanoSeconds, CurrentWeapon, MOVEMENT_SPEED, parent, this); + if(GUI_MODE == 0 && !ActiveGUIs.contains("PerformanceOverlay")) ActiveGUIs.add("PerformanceOverlay"); else if (GUI_MODE != 0) ActiveGUIs.remove("PerformanceOverlay"); }