Compare commits

..

9 commits

Author SHA1 Message Date
Halbear
e746462295 Fixes on the super janky collision 2026-07-05 01:19:29 +01:00
Halbear
b817940716 super janky rigid body collisions 2026-07-05 01:12:42 +01:00
Halbear
c02b9ed2ca Physics, toggle the collision mesh preview with F2, collision is hella buggy 2026-07-01 21:38:10 +01:00
6b51c9b680 Collision & Engine refactor 2026-06-30 16:02:08 +01:00
f135d99d74 Skyboxes 2026-06-23 13:20:43 +01:00
Halbear
eb01ec4877 Better lighting 2026-06-20 02:13:47 +01:00
8d219d2a35 Deferred Lighting 2026-06-19 13:04:15 +01:00
Halbear
441bd95ddd Deferred Rendering 2026-06-15 18:17:11 +01:00
Halbear
2d37c574d6 non functional deferred rendering and also camera paths and instanced GUIs 2026-06-14 13:39:49 +01:00
299 changed files with 10441 additions and 157458 deletions

871
LastSession.t4jlog Normal file
View file

@ -0,0 +1,871 @@
186:07:2026 01:19:00.754 INFO:
Launching New Terrain4J Powered Software!
186:07:2026 01:19:00.758 DEBUG: File [terrain4j.properties] read
186:07:2026 01:19:00.761 DEBUG:
successfully loaded configuration:
{compatibility_mode=false, ShaderRecompiling=true, cap_main_to_tickrate=true, LoadingScreenLocation=resources/EngineResources/Texture/Terrain4JTitleImage.png, z_near_plane=10000.0f, display_width=640, anti_alias_mode=0, main_thread_tickrate=120, Software_Icon=ProgramIcon.png, MaxAllowedVulkanCrashes=10, throttle_on_unfocus=true, vsync=false, cap_fast_to_tickrate=true, Software_Icon_Path=/WindowResources/Icon/, RequestedImages=3, throttle_accuracy=100000000, DualPassRendering=false, field_of_view=60.0f, ShadowMapSize=2048, PhysicalDeviceName=, fast_thread_tickrate=240, vkValidated=true, cap_master_to_tickrate=true, AlphaToCoverage=false, display_height=480, Renderer=1, Software_Title=Terrain4J Game Engine, z_far_plane=0.1f, frame_accuracy=0, master_tick_rate=240, Debug_Shaders=false, DefaultTexturePath=resources/EngineResources/Texture/NoTexture.png}
186:07:2026 01:19:01.014 DEBUG: Loading Icon From Location [src\main\resources\WindowResources\Icon\ProgramIcon.png]
186:07:2026 01:19:01.027 DEBUG: Freeing icon Buffer
186:07:2026 01:19:01.204 DEBUG: Loading Models From [resources/models/melona/melona.json]
186:07:2026 01:19:01.230 DEBUG: Loaded Model Data: [ModelData[ID=melona, Meshes=[MeshData[ID=m_6d7d0384-980c-6574-37d9-8a8b11a5fdda_0, MaterialID=melona-mat-1, OffsetVertex=0, VertexSize=24192, OffsetIndex=0, IndexSize=2640], MeshData[ID=none_1, MaterialID=melona-mat-2, OffsetVertex=24192, VertexSize=672, OffsetIndex=2640, IndexSize=96]], VertexPath=resources/models/melona/melona.vtx, IndexPath=resources/models/melona/melona.idx]]
186:07:2026 01:19:01.231 DEBUG: Loading Materials From [resources/models/melona/melona_mat.json]
186:07:2026 01:19:01.237 DEBUG: Loaded Material Data: [[MaterialData[ID=melona-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=melona-mat-1, TexturePath=resources\models\melona\Melonamodel.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0], MaterialData[ID=melona-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]]]
186:07:2026 01:19:01.264 DEBUG: Starting Main Thread
186:07:2026 01:19:01.264 DEBUG: Starting Fast Thread
186:07:2026 01:19:01.267 DEBUG: Initialising Vulkan Instance
186:07:2026 01:19:01.276 DEBUG: Validation Layer Count:12
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_AMD_switchable_graphics]
186:07:2026 01:19:01.278 TRACE: Supported Layer [GalaxyOverlayVkLayer]
186:07:2026 01:19:01.278 TRACE: Supported Layer [GalaxyOverlayVkLayer_VERBOSE]
186:07:2026 01:19:01.278 TRACE: Supported Layer [GalaxyOverlayVkLayer_DEBUG]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_EOS_Overlay]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_RENDERDOC_Capture]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_OW_OVERLAY]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_OW_OBS_HOOK]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_VALVE_steam_overlay]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_VALVE_steam_fossilize]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_OBS_HOOK]
186:07:2026 01:19:01.278 TRACE: Supported Layer [VK_LAYER_ROCKSTAR_GAMES_social_club]
186:07:2026 01:19:01.278 WARN: No Layers Found to Validate, continuing without validation
186:07:2026 01:19:01.278 DEBUG: Validation:false
186:07:2026 01:19:01.282 DEBUG: Instance Extension Count:[14]
186:07:2026 01:19:01.283 TRACE: Supported Instance Extension [VK_KHR_device_group_creation]
186:07:2026 01:19:01.283 TRACE: Supported Instance Extension [VK_KHR_external_fence_capabilities]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_external_memory_capabilities]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_external_semaphore_capabilities]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_get_physical_device_properties2]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_get_surface_capabilities2]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_surface]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_win32_surface]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_EXT_debug_report]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_EXT_debug_utils]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_EXT_swapchain_colorspace]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_surface_maintenance1]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_KHR_portability_enumeration]
186:07:2026 01:19:01.284 TRACE: Supported Instance Extension [VK_LUNARG_direct_driver_loading]
186:07:2026 01:19:01.353 DEBUG: selecting physical devices
186:07:2026 01:19:01.354 DEBUG: Detected Physical Device Count: 2
186:07:2026 01:19:01.367 DEBUG: freeing physical device [AMD Radeon(TM) Graphics]
186:07:2026 01:19:01.367 DEBUG: Selected Graphics Driver: [AMD Radeon RX 9070 XT]
186:07:2026 01:19:01.367 DEBUG: Creating Device Interface Layer
186:07:2026 01:19:01.367 TRACE: Device supports [221] number of extensions
186:07:2026 01:19:01.367 TRACE: [VK_KHR_16bit_storage] is a supported extension
186:07:2026 01:19:01.367 TRACE: [VK_KHR_8bit_storage] is a supported extension
186:07:2026 01:19:01.367 TRACE: [VK_KHR_acceleration_structure] is a supported extension
186:07:2026 01:19:01.367 TRACE: [VK_KHR_bind_memory2] is a supported extension
186:07:2026 01:19:01.367 TRACE: [VK_KHR_buffer_device_address] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_calibrated_timestamps] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_compute_shader_derivatives] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_cooperative_matrix] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_copy_commands2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_copy_memory_indirect] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_create_renderpass2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_dedicated_allocation] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_deferred_host_operations] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_depth_clamp_zero_one] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_depth_stencil_resolve] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_descriptor_update_template] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_device_address_commands] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_device_group] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_draw_indirect_count] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_driver_properties] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_dynamic_rendering] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_dynamic_rendering_local_read] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_external_fence] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_external_fence_win32] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_external_memory] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_external_memory_win32] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_external_semaphore] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_external_semaphore_win32] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_format_feature_flags2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_fragment_shader_barycentric] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_fragment_shading_rate] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_get_memory_requirements2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_global_priority] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_imageless_framebuffer] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_image_format_list] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_index_type_uint8] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_line_rasterization] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_load_store_op_none] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance1] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance3] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance4] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance5] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance6] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance7] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance8] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance9] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance10] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_maintenance11] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_map_memory2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_multiview] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_pipeline_binary] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_pipeline_executable_properties] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_pipeline_library] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_present_id2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_present_mode_fifo_latest_ready] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_present_wait2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_push_descriptor] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_ray_query] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_ray_tracing_maintenance1] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_ray_tracing_pipeline] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_ray_tracing_position_fetch] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_relaxed_block_layout] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_robustness2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_sampler_mirror_clamp_to_edge] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_sampler_ycbcr_conversion] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_separate_depth_stencil_layouts] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_atomic_int64] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_bfloat16] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_clock] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_draw_parameters] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_expect_assume] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_float16_int8] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_float_controls] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_float_controls2] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_fma] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_integer_dot_product] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_maximal_reconvergence] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_non_semantic_info] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_quad_control] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_subgroup_extended_types] is a supported extension
186:07:2026 01:19:01.368 TRACE: [VK_KHR_shader_subgroup_rotate] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_shader_subgroup_uniform_control_flow] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_shader_terminate_invocation] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_shader_untyped_pointers] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_spirv_1_4] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_storage_buffer_storage_class] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_swapchain] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_swapchain_maintenance1] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_swapchain_mutable_format] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_synchronization2] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_timeline_semaphore] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_uniform_buffer_standard_layout] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_variable_pointers] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_vertex_attribute_divisor] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_decode_av1] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_decode_h264] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_decode_h265] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_decode_queue] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_decode_vp9] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_encode_av1] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_encode_h264] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_encode_h265] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_encode_intra_refresh] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_encode_quantization_map] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_encode_queue] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_maintenance1] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_video_queue] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_vulkan_memory_model] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_win32_keyed_mutex] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_workgroup_memory_explicit_layout] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_KHR_zero_initialize_workgroup_memory] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_4444_formats] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_attachment_feedback_loop_layout] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_border_color_swizzle] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_calibrated_timestamps] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_color_write_enable] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_conditional_rendering] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_conservative_rasterization] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_custom_border_color] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_depth_clamp_control] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_depth_clamp_zero_one] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_depth_clip_control] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_depth_clip_enable] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_depth_range_unrestricted] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_descriptor_buffer] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_descriptor_heap] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_descriptor_indexing] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_device_address_binding_report] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_device_fault] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_device_generated_commands] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_dynamic_rendering_unused_attachments] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_extended_dynamic_state] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_extended_dynamic_state2] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_extended_dynamic_state3] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_external_memory_host] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_fragment_shader_interlock] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_frame_boundary] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_full_screen_exclusive] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_global_priority] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_global_priority_query] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_graphics_pipeline_library] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_hdr_metadata] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_host_image_copy] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_host_query_reset] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_image_2d_view_of_3d] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_image_robustness] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_image_sliced_view_of_3d] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_image_view_min_lod] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_index_type_uint8] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_inline_uniform_block] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_line_rasterization] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_load_store_op_none] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_memory_budget] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_memory_priority] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_mesh_shader] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_mutable_descriptor_type] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_nested_command_buffer] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_non_seamless_cube_map] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_pageable_device_local_memory] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_pipeline_creation_cache_control] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_pipeline_creation_feedback] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_pipeline_library_group_handles] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_post_depth_coverage] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_present_mode_fifo_latest_ready] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_primitive_topology_list_restart] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_primitives_generated_query] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_private_data] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_provoking_vertex] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_queue_family_foreign] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_ray_tracing_invocation_reorder] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_robustness2] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_sampler_filter_minmax] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_sample_locations] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_scalar_block_layout] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_separate_stencil_usage] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_atomic_float] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_atomic_float2] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_demote_to_helper_invocation] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_float8] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_image_atomic_int64] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_long_vector] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_module_identifier] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_object] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_replicated_composites] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_stencil_export] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_subgroup_ballot] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_subgroup_vote] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_uniform_buffer_unsized_array] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_shader_viewport_index_layer] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_subgroup_size_control] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_texel_buffer_alignment] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_tooling_info] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_transform_feedback] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_vertex_attribute_divisor] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_vertex_input_dynamic_state] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_EXT_ycbcr_image_arrays] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_anti_lag] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_buffer_marker] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_device_coherent_memory] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_display_native_hdr] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_draw_indirect_count] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_gcn_shader] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_gpa_interface] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_gpu_shader_half_float] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_gpu_shader_int16] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_memory_overallocation_behavior] is a supported extension
186:07:2026 01:19:01.369 TRACE: [VK_AMD_mixed_attachment_samples] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_ballot] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_core_properties] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_core_properties2] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_early_and_late_fragment_tests] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_explicit_vertex_parameter] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_image_load_store_lod] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_info] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMD_shader_trinary_minmax] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_AMDX_dense_geometry_format] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_GOOGLE_decorate_string] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_GOOGLE_hlsl_functionality1] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_GOOGLE_user_type] is a supported extension
186:07:2026 01:19:01.370 TRACE: [VK_VALVE_mutable_descriptor_type] is a supported extension
186:07:2026 01:19:01.441 DEBUG: Creating Vulkan Surface
186:07:2026 01:19:01.445 DEBUG: Creating Vulkan SwapChain
186:07:2026 01:19:01.506 DEBUG: Creating new Vk Pipeline Cache
186:07:2026 01:19:01.507 DEBUG: Creating Descriptor Allocator
186:07:2026 01:19:01.508 DEBUG: Creating Descriptor pool
186:07:2026 01:19:01.516 DEBUG: Vulkan: Creating A Queue
186:07:2026 01:19:01.518 DEBUG: Vulkan: Creating A Queue
186:07:2026 01:19:01.519 DEBUG: Creating Vulkan Command Pool
186:07:2026 01:19:01.519 DEBUG: Creating Command Buffer
186:07:2026 01:19:01.520 DEBUG: Creating Vulkan Command Pool
186:07:2026 01:19:01.520 DEBUG: Creating Command Buffer
186:07:2026 01:19:01.547 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv]
186:07:2026 01:19:01.547 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_fragment_deferred.glsl.spv]
186:07:2026 01:19:01.550 DEBUG: Creating Pipeline
186:07:2026 01:19:01.552 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.552 DEBUG: created render info
186:07:2026 01:19:01.553 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.553 DEBUG: created PipelineLayout
186:07:2026 01:19:01.553 DEBUG: created vertexInputState
186:07:2026 01:19:01.554 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.556 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.556 DEBUG: Pipeline Created
186:07:2026 01:19:01.556 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv]
186:07:2026 01:19:01.556 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_opaque_fragment_deferred.glsl.spv]
186:07:2026 01:19:01.557 DEBUG: Creating Pipeline
186:07:2026 01:19:01.557 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.557 DEBUG: created render info
186:07:2026 01:19:01.557 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.557 DEBUG: created PipelineLayout
186:07:2026 01:19:01.557 DEBUG: created vertexInputState
186:07:2026 01:19:01.557 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.557 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.557 DEBUG: Pipeline Created
186:07:2026 01:19:01.557 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_vertex.glsl.spv]
186:07:2026 01:19:01.557 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\scene_translucent_fragment_deferred.glsl.spv]
186:07:2026 01:19:01.558 DEBUG: Creating Pipeline
186:07:2026 01:19:01.558 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.558 DEBUG: created render info
186:07:2026 01:19:01.558 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.558 DEBUG: created PipelineLayout
186:07:2026 01:19:01.558 DEBUG: created vertexInputState
186:07:2026 01:19:01.558 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.558 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.558 DEBUG: Pipeline Created
186:07:2026 01:19:01.558 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_vertex.glsl.spv]
186:07:2026 01:19:01.558 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\skybox_fragment.glsl.spv]
186:07:2026 01:19:01.558 DEBUG: Creating Pipeline
186:07:2026 01:19:01.558 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.558 DEBUG: created render info
186:07:2026 01:19:01.558 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.558 DEBUG: created PipelineLayout
186:07:2026 01:19:01.558 DEBUG: created vertexInputState
186:07:2026 01:19:01.558 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.558 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.558 DEBUG: Skybox Pipeline Created Successfully
186:07:2026 01:19:01.558 DEBUG: Deferred Renderer Pipeline -> [1649336446112]
186:07:2026 01:19:01.563 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_vertex.glsl.spv]
186:07:2026 01:19:01.563 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\lighting_frag.glsl.spv]
186:07:2026 01:19:01.565 DEBUG: Creating Pipeline
186:07:2026 01:19:01.565 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.565 DEBUG: created render info
186:07:2026 01:19:01.565 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.565 DEBUG: created PipelineLayout
186:07:2026 01:19:01.565 DEBUG: created vertexInputState
186:07:2026 01:19:01.565 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.565 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.565 DEBUG: Light Renderer Pipeline -> [1649336640672]
186:07:2026 01:19:01.569 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_vtx.glsl.spv]
186:07:2026 01:19:01.570 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\post_process_frag.glsl.spv]
186:07:2026 01:19:01.570 DEBUG: Creating Pipeline
186:07:2026 01:19:01.570 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.570 DEBUG: created render info
186:07:2026 01:19:01.570 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.570 DEBUG: created PipelineLayout
186:07:2026 01:19:01.570 DEBUG: created vertexInputState
186:07:2026 01:19:01.570 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.570 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.570 DEBUG: Post Process Renderer Pipeline -> [1649336680800]
186:07:2026 01:19:01.571 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_vertex.glsl.spv]
186:07:2026 01:19:01.571 DEBUG: Loading Compiled Shader [resources\EngineResources\GuiShaders\gui_frag.glsl.spv]
186:07:2026 01:19:01.572 DEBUG: Creating Pipeline
186:07:2026 01:19:01.572 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.572 DEBUG: created render info
186:07:2026 01:19:01.572 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.572 DEBUG: created PipelineLayout
186:07:2026 01:19:01.572 DEBUG: created vertexInputState
186:07:2026 01:19:01.572 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.572 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.629 DEBUG: Creating Vulkan Command Pool
186:07:2026 01:19:01.629 DEBUG: Creating Command Buffer
186:07:2026 01:19:01.641 TRACE: Destroyed Command Buffer
186:07:2026 01:19:01.642 DEBUG: Destroying Vulkan Command Pool
186:07:2026 01:19:01.644 DEBUG: GUI Renderer Pipeline -> [1649336744944]
186:07:2026 01:19:01.645 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_vtx.glsl.spv]
186:07:2026 01:19:01.645 DEBUG: Loading Compiled Shader [resources\EngineResources\shaders\swap_frag.glsl.spv]
186:07:2026 01:19:01.645 DEBUG: Creating Pipeline
186:07:2026 01:19:01.645 DEBUG: registered Descriptor sets
186:07:2026 01:19:01.645 DEBUG: created render info
186:07:2026 01:19:01.645 DEBUG: created BlendAttributeStates
186:07:2026 01:19:01.645 DEBUG: created PipelineLayout
186:07:2026 01:19:01.645 DEBUG: created vertexInputState
186:07:2026 01:19:01.645 DEBUG: created PipelineCreateInfo
186:07:2026 01:19:01.645 DEBUG: created GraphicsPipeline
186:07:2026 01:19:01.646 DEBUG: Swap Chain Renderer Pipeline -> [1649337704272]
186:07:2026 01:19:01.647 DEBUG: Starting Render Thread
186:07:2026 01:19:01.647 DEBUG: Loading 3 Materials
186:07:2026 01:19:01.649 DEBUG: Creating Command Buffer
186:07:2026 01:19:01.649 DEBUG: Material Texture Path -> []
186:07:2026 01:19:01.650 TRACE: MaterialData[ID=melona-mat-0, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]
186:07:2026 01:19:01.650 DEBUG: Material Texture Path -> [resources\models\melona\Melonamodel.png]
186:07:2026 01:19:01.650 DEBUG: Loading Image [resources\models\melona\Melonamodel.png]
186:07:2026 01:19:01.650 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=65536 cap=65536]]
186:07:2026 01:19:01.650 TRACE: MaterialData[ID=melona-mat-1, TexturePath=resources\models\melona\Melonamodel.png, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]
186:07:2026 01:19:01.651 DEBUG: Material Texture Path -> []
186:07:2026 01:19:01.651 TRACE: MaterialData[ID=melona-mat-2, TexturePath=, NormalTexturePath=, MetalRoughnessMap=, DiffuseColour=( 6.000E-1 6.000E-1 6.000E-1 1.000E+0), Roughness=0.0, Metallic=0.0]
186:07:2026 01:19:01.653 TRACE: Destroyed Command Buffer
186:07:2026 01:19:01.653 DEBUG: Loaded 3 Materials
186:07:2026 01:19:01.653 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png]
186:07:2026 01:19:01.689 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=16777216 cap=16777216]]
186:07:2026 01:19:01.698 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyRight.png]
186:07:2026 01:19:01.735 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]]
186:07:2026 01:19:01.735 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyLeft.png]
186:07:2026 01:19:01.774 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]]
186:07:2026 01:19:01.775 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyUp.png]
186:07:2026 01:19:01.826 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]]
186:07:2026 01:19:01.826 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyDown.png]
186:07:2026 01:19:01.858 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]]
186:07:2026 01:19:01.858 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyFront.png]
186:07:2026 01:19:01.896 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]]
186:07:2026 01:19:01.896 DEBUG: Loading Image [resources/EngineResources/SkyBoxTextures/autumn_field_pureskyBack.png]
186:07:2026 01:19:01.934 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=16777216 lim=16777216 cap=16777216]]
186:07:2026 01:19:02.124 DEBUG: Loading Image [resources/EngineResources/Texture/Terrain4JTitleImage.png]
186:07:2026 01:19:02.125 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=198720 cap=198720]]
186:07:2026 01:19:02.125 DEBUG: Loading Image [resources/EngineResources/Texture/Billy.png]
186:07:2026 01:19:02.137 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=7613760 cap=7613760]]
186:07:2026 01:19:02.137 DEBUG: Transitioning Textures
186:07:2026 01:19:02.137 DEBUG: Recording Texture Transition
186:07:2026 01:19:02.138 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.143 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.143 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.147 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.147 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.151 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.151 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.154 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.154 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.158 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.158 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.162 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.162 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.166 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.166 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.170 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.170 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.173 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.173 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.178 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.178 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.181 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.182 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.185 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.185 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.189 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.189 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.193 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.193 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.197 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.197 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.201 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.201 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.204 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.204 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.208 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.208 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.212 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.212 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.216 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.216 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.219 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.219 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.223 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.223 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.227 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.227 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.231 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.231 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.234 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.234 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.238 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.238 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.241 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.241 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.245 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.245 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.257 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.257 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.260 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.261 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.264 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.264 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.268 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.268 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.271 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.271 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.275 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.275 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.280 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.280 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.283 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.283 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.287 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.287 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.291 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.291 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.294 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.294 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.298 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.298 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.301 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.301 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.306 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.306 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.310 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.310 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.314 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.314 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.317 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.317 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.321 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.321 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.325 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.325 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.329 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.329 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.332 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.332 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.336 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.336 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.339 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.339 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.343 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.343 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.347 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.347 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.350 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.350 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.354 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.354 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.358 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.358 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.361 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.361 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.366 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.366 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.369 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.369 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.373 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.373 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.377 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.377 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.380 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.380 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.384 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.384 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.388 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.388 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.391 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.391 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.395 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.395 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.399 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.399 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.403 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.403 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.406 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.406 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.411 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.411 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.414 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.414 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.418 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.418 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.421 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.421 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.425 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.425 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.429 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.429 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.434 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.434 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.438 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.438 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.443 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.443 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.446 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.446 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.450 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.450 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.454 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.454 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.457 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.457 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.461 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.461 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.465 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.465 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.469 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.469 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.472 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.472 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.476 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.476 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.480 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.480 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.483 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.483 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.488 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.488 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.491 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.491 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.495 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.495 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.498 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.498 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.501 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.501 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.506 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.506 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.510 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.510 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.513 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.513 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.517 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.517 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.521 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.521 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.524 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.524 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.527 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.527 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.531 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.531 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.535 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.535 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.540 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.540 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.543 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.543 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.547 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.547 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.551 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.551 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.554 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.554 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.558 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.558 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.562 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.562 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.565 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.565 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.568 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.568 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.584 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.584 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.588 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.588 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.591 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.591 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.595 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.595 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.599 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.599 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.603 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.603 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.606 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.606 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.610 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.610 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.614 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.614 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.617 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.617 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.621 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.621 DEBUG: Loading Image [resources/EngineResources/Texture/NoTexture.png]
186:07:2026 01:19:02.625 DEBUG: Loading Image Data [java.nio.DirectByteBuffer[pos=0 lim=3182656 cap=3182656]]
186:07:2026 01:19:02.625 DEBUG: Creating Command Buffer
186:07:2026 01:19:02.644 TRACE: Destroyed Command Buffer
186:07:2026 01:19:02.660 DEBUG: Recorded Texture Transition
186:07:2026 01:19:02.660 DEBUG: Transitioned Textures
186:07:2026 01:19:02.660 DEBUG: Loading 1 models
186:07:2026 01:19:02.660 DEBUG: Creating Command Buffer
186:07:2026 01:19:02.661 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[m_6d7d0384-980c-6574-37d9-8a8b11a5fdda_0] VertexSize=[24192]
186:07:2026 01:19:02.662 DEBUG: Creating Vertices Transfer Buffer, Mesh Data -> ID=[none_1] VertexSize=[672]
186:07:2026 01:19:02.663 TRACE: Destroyed Command Buffer
186:07:2026 01:19:02.676 DEBUG: Loaded 1 models
186:07:2026 01:19:02.677 DEBUG: Fetching Texture -> [SKYBOX_TEXTURE]
186:07:2026 01:19:02.677 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Terrain4JTitleImage.png]
186:07:2026 01:19:02.677 DEBUG: Fetching Texture -> [resources/EngineResources/Texture/Billy.png]
186:07:2026 01:19:02.817 INFO: Launched Terrain4J Engine
186:07:2026 01:19:02.818 DEBUG: Primary Thread Started
186:07:2026 01:19:02.818 DEBUG: Main Thread Started
186:07:2026 01:19:02.818 DEBUG: Render Thread Started
186:07:2026 01:19:02.818 DEBUG: Fast Thread Started
186:07:2026 01:19:13.604 DEBUG: Closing Software of name [Terrain4J Game Engine]
186:07:2026 01:19:13.604 DEBUG: Closing Fast Thread, Thread: [Thread[#42,Terrain4J Fast Engine Thread,5,main]]
186:07:2026 01:19:13.604 DEBUG: Closing Main Thread, Thread: [Thread[#41,Terrain4J Main Engine Thread,5,main]]
186:07:2026 01:19:13.604 DEBUG: Waiting Vulkan Context
186:07:2026 01:19:13.604 DEBUG: destroying Pipeline
186:07:2026 01:19:13.604 DEBUG: destroying Pipeline
186:07:2026 01:19:13.604 DEBUG: destroying Pipeline
186:07:2026 01:19:13.605 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.605 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.605 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.605 DEBUG: Destroying Image View
186:07:2026 01:19:13.605 DEBUG: Destroying Image View
186:07:2026 01:19:13.606 DEBUG: Destroying Image View
186:07:2026 01:19:13.606 DEBUG: Destroying Image View
186:07:2026 01:19:13.606 DEBUG: Destroying Image View
186:07:2026 01:19:13.606 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.607 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.607 DEBUG: destroying Pipeline
186:07:2026 01:19:13.607 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.607 DEBUG: Destroying Image View
186:07:2026 01:19:13.607 DEBUG: Destroying Image View
186:07:2026 01:19:13.607 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.607 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.607 DEBUG: destroying Pipeline
186:07:2026 01:19:13.607 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.607 DEBUG: destroying Pipeline
186:07:2026 01:19:13.608 DEBUG: Destroying Image View
186:07:2026 01:19:13.608 DEBUG: Destroying Descriptor Set Layout
186:07:2026 01:19:13.608 DEBUG: destroying Pipeline
186:07:2026 01:19:13.609 DEBUG: Destroying Image View
186:07:2026 01:19:13.609 DEBUG: Destroying Image View
186:07:2026 01:19:13.609 DEBUG: Destroying Image View
186:07:2026 01:19:13.609 DEBUG: Destroying Image View
186:07:2026 01:19:13.609 DEBUG: Destroying Image View
186:07:2026 01:19:13.609 DEBUG: Destroying Image View
186:07:2026 01:19:13.610 DEBUG: Destroying Image View
186:07:2026 01:19:13.610 DEBUG: Destroying Image View
186:07:2026 01:19:13.610 DEBUG: Destroying Image View
186:07:2026 01:19:13.610 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.611 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.612 DEBUG: Destroying Image View
186:07:2026 01:19:13.613 DEBUG: Destroying Image View
186:07:2026 01:19:13.613 DEBUG: Destroying Image View
186:07:2026 01:19:13.613 DEBUG: Destroying Image View
186:07:2026 01:19:13.613 DEBUG: Destroying Image View
186:07:2026 01:19:13.613 DEBUG: Destroyed Window
186:07:2026 01:19:13.613 DEBUG: Destroying Image View
186:07:2026 01:19:13.614 DEBUG: Destroying Image View
186:07:2026 01:19:13.614 DEBUG: Destroying Image View
186:07:2026 01:19:13.614 DEBUG: Destroying Image View
186:07:2026 01:19:13.614 DEBUG: Destroying Image View
186:07:2026 01:19:13.614 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.615 DEBUG: Destroying Image View
186:07:2026 01:19:13.616 DEBUG: Destroying Image View
186:07:2026 01:19:13.616 DEBUG: Destroying Image View
186:07:2026 01:19:13.616 DEBUG: Destroying Image View
186:07:2026 01:19:13.616 DEBUG: Destroying Image View
186:07:2026 01:19:13.616 DEBUG: Destroying Image View
186:07:2026 01:19:13.616 DEBUG: Destroying Image View
186:07:2026 01:19:13.624 DEBUG: Destroyed Window
186:07:2026 01:19:13.624 DEBUG: Process still running: [[Thread[#39,tinylog-WritingThread,1,main], Thread[#3,Terrain4J Primary Runtime Thread,5,main], Thread[#17,Finalizer,8,system], 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[#65,Terrain4J Render Engine Thread,5,main], Thread[#16,Reference Handler,10,system]]]
186:07:2026 01:19:13.624 DEBUG: Waiting to close Primary Thread, making sure vulkan has shut down properly first and Engine Threads are closed
Threads Open:[2]
Vulkan Layers Open:[4]
186:07:2026 01:19:13.627 DEBUG: Destroying Image View
186:07:2026 01:19:13.627 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.628 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.629 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.630 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.631 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.632 DEBUG: Destroying Image View
186:07:2026 01:19:13.633 DEBUG: Destroying Image View
186:07:2026 01:19:13.634 DEBUG: Destroying Image View
186:07:2026 01:19:13.634 DEBUG: Destroying Image View
186:07:2026 01:19:13.634 DEBUG: Destroying Image View
186:07:2026 01:19:13.634 DEBUG: Destroying Image View
186:07:2026 01:19:13.634 DEBUG: Destroying Image View
186:07:2026 01:19:13.634 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.635 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.636 DEBUG: Destroying Image View
186:07:2026 01:19:13.637 DEBUG: Destroying Image View
186:07:2026 01:19:13.637 DEBUG: Destroying Image View
186:07:2026 01:19:13.637 DEBUG: Dynamic Renderer Cleaned up
186:07:2026 01:19:13.637 DEBUG: Destroying Vulkan Semaphore
186:07:2026 01:19:13.637 DEBUG: Destroying Vulkan Semaphore
186:07:2026 01:19:13.637 DEBUG: Destroying Vulkan Semaphore
186:07:2026 01:19:13.637 DEBUG: Render Semaphores cleaned up
186:07:2026 01:19:13.637 DEBUG: Destroying Vulkan Semaphore
186:07:2026 01:19:13.637 DEBUG: Destroying Vulkan Semaphore
186:07:2026 01:19:13.637 DEBUG: Present Semaphores cleaned up
186:07:2026 01:19:13.638 DEBUG: Fences cleaned up
186:07:2026 01:19:13.638 TRACE: Destroyed Command Buffer
186:07:2026 01:19:13.638 DEBUG: Destroying Vulkan Command Pool
186:07:2026 01:19:13.638 TRACE: Destroyed Command Buffer
186:07:2026 01:19:13.638 DEBUG: Destroying Vulkan Command Pool
186:07:2026 01:19:13.638 DEBUG: Command pools cleaned up
186:07:2026 01:19:13.660 DEBUG: Destroying Descriptor Allocator
186:07:2026 01:19:13.661 DEBUG: Destroying Descriptor Pool
186:07:2026 01:19:13.661 DEBUG: Destroying Vulkan Swapchain
186:07:2026 01:19:13.661 DEBUG: Destroying Image View
186:07:2026 01:19:13.661 DEBUG: Destroying Image View
186:07:2026 01:19:13.661 DEBUG: Destroying Image View
186:07:2026 01:19:13.665 DEBUG: Cleaning Up Surfaces
186:07:2026 01:19:13.665 DEBUG: Destroying Vulkan Pipeline Cache
186:07:2026 01:19:13.666 DEBUG: Removing Vulkan Device
186:07:2026 01:19:13.814 DEBUG: freeing physical device [AMD Radeon RX 9070 XT]
186:07:2026 01:19:13.814 DEBUG: Closing Vulkan instance
186:07:2026 01:19:13.833 DEBUG: Render Thread Finished ending Vulkan Processes
Vulkan Layers Open:[All processes closed and vulkan instance removed]
186:07:2026 01:19:13.833 DEBUG: Closing Render Thread, Thread: [Thread[#65,Terrain4J Render Engine Thread,5,main]]
186:07:2026 01:19:13.833 DEBUG: Closing Primary Thread, Thread: [Thread[#3,Terrain4J Primary Runtime Thread,5,main]]
186:07:2026 01:19:13.833 INFO: Successful stable Shut Down of Terrain4J in [229.801] MilliSeconds

View file

@ -1,7 +1,18 @@
import org.gradle.internal.os.OperatingSystem import org.gradle.internal.os.OperatingSystem
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath 'com.gradleup.shadow:shadow-gradle-plugin:8.3.5'
}
}
plugins { plugins {
id 'application' id 'application'
id 'java' id 'java'
id 'com.gradleup.shadow' version '8.3.5'
} }
project.ext.lwjglVersion = "3.4.1" project.ext.lwjglVersion = "3.4.1"
project.ext.jomlVersion = "1.10.8" project.ext.jomlVersion = "1.10.8"
@ -34,10 +45,16 @@ switch (OperatingSystem.current()) {
break break
} }
repositories { repositories {
mavenCentral() mavenCentral()
} }
application {
mainClass.set('net.halbear.Executable.Init')
}
dependencies { dependencies {
implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion") implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
implementation 'org.tinylog:tinylog-api:2.7.0' implementation 'org.tinylog:tinylog-api:2.7.0'
@ -92,3 +109,10 @@ dependencies {
implementation "io.github.spair:imgui-java-natives-windows:$imguiVersion" implementation "io.github.spair:imgui-java-natives-windows:$imguiVersion"
} }
tasks.named('startShadowScripts') {
// Dynamically override the legacy property binding with the modern provider mapping
conventionMapping.map('mainClassName') {
application.mainClass.get()
}
}

View file

@ -1,7 +1,6 @@
#Thu Jun 18 13:00:38 BST 2026
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

2912
hs_err_pid8656.log Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View file

@ -0,0 +1,2 @@
Sky texture:
kaori669 on deviant art

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

@ -0,0 +1,29 @@
#version 450
layout(location = 0) in vec3 fragPosition;
layout(location = 1) in vec4 fragWeights;
layout(location = 2) in vec2 fragUV;
layout(binding = 1) uniform sampler2DArray terrainTexArray;
layout(location = 0) out vec4 outColor;
void main() {
vec4 colorGrass = texture(terrainTexArray, vec3(fragUV, 0.0)); // Index 0
vec4 colorRock = texture(terrainTexArray, vec3(fragUV, 1.0)); // Index 1
vec4 colorSand = texture(terrainTexArray, vec3(fragUV, 2.0)); // Index 2
vec4 colorMud = texture(terrainTexArray, vec3(fragUV, 3.0)); // Index 3
vec4 dynamicTerrainColor =
(colorGrass * fragWeights.r) +
(colorRock * fragWeights.g) +
(colorSand * fragWeights.b) +
(colorMud * fragWeights.a);
float totalWeight = fragWeights.r + fragWeights.g + fragWeights.b + fragWeights.a;
if (totalWeight > 0.0) {
dynamicTerrainColor /= totalWeight;
}
outColor = dynamicTerrainColor;
}

View file

@ -0,0 +1,21 @@
#version 450
layout(binding = 0) uniform UniformBufferObject {
mat4 model;
mat4 view;
mat4 proj;
} ubo;
layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec4 inMaterialWeights;
layout(location = 0) out vec3 fragPosition;
layout(location = 1) out vec4 fragWeights;
layout(location = 2) out vec2 fragUV;
void main() {
gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
fragPosition = inPosition;
fragWeights = inMaterialWeights;
fragUV = inPosition.xz * 0.1;
}

View file

@ -0,0 +1,157 @@
#version 450
#extension GL_EXT_scalar_block_layout: require
// CREDITS: functions obtained from this link: https://github.com/SaschaWillems/Vulkan
// developed by Sascha Willems, https://twitter.com/JoeyDeVriez, licensed under MIT License (MIT)
// also Vulkan Book https://github.com/lwjglgamedev/vulkanbook/blob/master/bookcontents/chapter-15/chapter-15.md
const int MAX_LIGHTS = 1000;
const float PI = 3.14159265359;
struct Light {
vec3 position;
uint directional;
float intensity;
vec3 color;
};
layout(location = 0) in vec2 inTextCoord;
layout(location = 0) out vec4 outFragColor;
layout(set = 0, binding = 0) uniform sampler2D posSampler;
layout(set = 0, binding = 1) uniform sampler2D albedoSampler;
layout(set = 0, binding = 2) uniform sampler2D normalsSampler;
layout(set = 0, binding = 3) uniform sampler2D pbrSampler;
layout(scalar, set = 1, binding = 0) readonly buffer Lights {
Light lights[];
} lights;
layout(scalar, set = 2, binding = 0) uniform SceneInfo {
vec3 camPos;
float ambientLightIntensity;
vec3 ambientLightColor;
uint numLights;
} sceneInfo;
float distributionGGX(vec3 N, vec3 H, float roughness) {
float a = roughness * roughness;
float a2 = a * a;
float NdotH = max(dot(N, H), 0.0);
float NdotH2 = NdotH * NdotH;
float nom = a2;
float denom = (NdotH2 * (a2 - 1.0) + 1.0);
denom = PI * denom * denom;
return nom / denom;
}
float geometrySchlickGGX(float NdotV, float roughness) {
float r = (roughness + 1.0);
float k = (r * r) / 8.0;
float nom = NdotV;
float denom = NdotV * (1.0 - k) + k;
return nom / denom;
}
float geometrySmith(vec3 N, vec3 V, vec3 L, float roughness) {
float NdotV = max(dot(N, V), 0.0);
float NdotL = max(dot(N, L), 0.0);
float ggx2 = geometrySchlickGGX(NdotV, roughness);
float ggx1 = geometrySchlickGGX(NdotL, roughness);
return ggx1 * ggx2;
}
vec3 fresnelSchlick(float cosTheta, vec3 F0) {
return F0 + (1.0 - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0);
}
vec3 calculatePointLight(Light light, vec3 worldPos, vec3 V, vec3 N, vec3 F0, vec3 albedo, float metallic, float roughness) {
vec3 tmpSub = light.position - worldPos;
vec3 L = normalize(tmpSub);
vec3 H = normalize(V + L);
// Calculate distance and attenuation
float distance = length(tmpSub);
float attenuation = 1.0 / (distance * distance);
float intensity = 10.0f;
vec3 radiance = light.color * light.intensity * attenuation;
// Cook-Torrance BRDF
float NDF = distributionGGX(N, H, roughness);
float G = geometrySmith(N, V, L, roughness);
vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0);
vec3 numerator = NDF * G * F;
float denominator = 4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.0001;
vec3 specular = numerator / denominator;
vec3 kS = F;
vec3 kD = vec3(1.0) - kS;
kD *= 1.0 - metallic;
float NdotL = max(dot(N, L), 0.0);
return (kD * albedo / PI + specular) * radiance * NdotL;
}
vec3 calculateDirectionalLight(Light light, vec3 V, vec3 N, vec3 F0, vec3 albedo, float metallic, float roughness) {
vec3 L = normalize(-light.position);
vec3 H = normalize(V + L);
vec3 radiance = light.color * light.intensity;
// Cook-Torrance BRDF
float NDF = distributionGGX(N, H, roughness);
float G = geometrySmith(N, V, L, roughness);
vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0);
vec3 numerator = NDF * G * F;
float denominator = 4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.0001;
vec3 specular = numerator / denominator;
vec3 kS = F;
vec3 kD = vec3(1.0) - kS;
kD *= 1.0 - metallic;
float NdotL = max(dot(N, L), 0.0);
return (kD * albedo / PI + specular) * radiance * NdotL;
}
void main() {
vec3 albedo = texture(albedoSampler, inTextCoord).rgb;
vec3 normal = texture(normalsSampler, inTextCoord).rgb;
vec3 worldPos = texture(posSampler, inTextCoord).rgb;
vec3 pbr = texture(pbrSampler, inTextCoord).rgb;
float roughness = pbr.g;
float metallic = pbr.b;
vec3 N = normalize(normal);
vec3 V = normalize(sceneInfo.camPos - worldPos);
vec3 F0 = vec3(0.04);
F0 = mix(F0, albedo, metallic);
vec3 Lo = vec3(0.0);
for (uint i = 0; i < sceneInfo.numLights; i++) {
Light light = lights.lights[i];
if (light.directional == 1) {
Lo += calculateDirectionalLight(light, V, N, F0, albedo, metallic, roughness);
} else {
Lo += calculatePointLight(light, worldPos, V, N, F0, albedo, metallic, roughness);
}
}
vec3 ambient = sceneInfo.ambientLightColor * albedo * sceneInfo.ambientLightIntensity;
vec3 color = ambient + Lo;
outFragColor = vec4(color, 1.0f);
if (length(normal) < 0.001) {
outFragColor = vec4(albedo,1.0f);
return;
}
}

View file

@ -0,0 +1,8 @@
#version 450
layout(location = 0) out vec2 outTextCoord;
void main() {
outTextCoord = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2);
gl_Position = vec4(outTextCoord.x * 2.0f - 1.0f, outTextCoord.y * - 2.0f + 1.0f, 0.0f, 1.0f);
}

View file

@ -2,7 +2,7 @@
layout(constant_id = 0) const int USE_AA = 0; layout(constant_id = 0) const int USE_AA = 0;
const float GAMMA_CONST = 0.4545; const float GAMMA_CONST = 0.6545;
const float SPAN_MAX = 8.0; const float SPAN_MAX = 8.0;
const float REDUCE_MIN = 1.0/128.0; const float REDUCE_MIN = 1.0/128.0;
const float REDUCE_MUL = 1.0/32.0; const float REDUCE_MUL = 1.0/32.0;

View file

@ -1,15 +1,26 @@
#version 450 #version 450
const int MAX_TEXTURES = 500; const int MAX_TEXTURES = 128;
layout(location = 0) in vec2 inTextCoords; layout(location = 0) in vec4 inPos;
layout(location = 0) out vec4 outFragColor; layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
struct Material{ layout(location = 0) out vec4 outAlbedo;
struct Material {
vec4 diffuseColor; vec4 diffuseColor;
uint hasTexture; uint hasTexture;
uint textureIdx; uint textureIdx;
uint padding[2]; uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
}; };
layout(set = 2, binding = 0) readonly buffer MaterialUniform{ layout(set = 2, binding = 0) readonly buffer MaterialUniform{
@ -24,12 +35,14 @@ layout(push_constant) uniform pc{
void main() void main()
{ {
Material material = matUniform.materials[push_constants.materialIdx]; Material material = matUniform.materials[push_constants.materialIdx];
if(material.hasTexture == 1){ if(material.hasTexture == 1){
vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords); vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords);
if(texColor.a < 0.1){discard;} if(texColor.a < 0.4){discard;}
outFragColor = texColor; outAlbedo = texColor;
} else{ } else{
outFragColor = material.diffuseColor; outAlbedo = material.diffuseColor;
} }
} }

View file

@ -0,0 +1,80 @@
#version 450
const int MAX_TEXTURES = 128;
layout(location = 0) in vec4 inPos;
layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
layout(location = 1) out vec4 outAlbedo ;
layout(location = 0) out vec4 outPos;
layout(location = 2) out vec4 outNormal;
layout(location = 3) out vec4 outPBR;
struct Material {
vec4 diffuseColor;
uint hasTexture;
uint textureIdx;
uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
};
layout(set = 2, binding = 0) readonly buffer MaterialUniform {
Material materials[];
} matUniform;
layout(set = 3, binding = 0) uniform sampler2D textSampler[MAX_TEXTURES];
vec3 calcNormal(Material material, vec3 normal, vec2 textCoords, mat3 TBN)
{
vec3 newNormal = normal;
if (material.hasNormalMap > 0)
{
newNormal = texture(textSampler[material.normalMapIdx], textCoords).rgb;
newNormal = normalize(newNormal * 2.0 - 1.0);
newNormal = normalize(TBN * newNormal);
}
return newNormal;
}
layout(push_constant) uniform pc {
layout(offset = 64) uint materialIdx;
} push_constants;
void main()
{
outPos = inPos;
Material material = matUniform.materials[push_constants.materialIdx];
if (material.hasTexture == 1) {
outAlbedo = texture(textSampler[material.textureIdx], inTextCoords);
} else {
outAlbedo = material.diffuseColor;
}
if(outAlbedo.a < 0.5) discard;
mat3 TBN = mat3(inTangent, inBitangent, inNormal);
vec3 newNormal = calcNormal(material, inNormal, inTextCoords, TBN);
outNormal = vec4(newNormal, 1.0f);
float ao = 0.5f;
float roughnessFactor = 0.0f;
float metallicFactor = 0.0f;
if (material.hasRoughMap > 0) {
vec4 metRoughValue = texture(textSampler[material.roughMapIdx], inTextCoords);
roughnessFactor = metRoughValue.g;
metallicFactor = metRoughValue.b;
} else {
roughnessFactor = material.roughnessFactor;
metallicFactor = material.metallicFactor;
}
outPBR = vec4(ao, roughnessFactor, metallicFactor, 1.0f);
}

View file

@ -1,15 +1,25 @@
#version 450 #version 450
const int MAX_TEXTURES = 500; const int MAX_TEXTURES = 128;
layout(location = 0) in vec2 inTextCoords; layout(location = 0) in vec4 inPos;
layout(location = 0) out vec4 outFragColor; layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
struct Material{ layout(location = 0) out vec4 outAlbedo;
struct Material {
vec4 diffuseColor; vec4 diffuseColor;
uint hasTexture; uint hasTexture;
uint textureIdx; uint textureIdx;
uint padding[2]; uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
}; };
layout(set = 2, binding = 0) readonly buffer MaterialUniform{ layout(set = 2, binding = 0) readonly buffer MaterialUniform{
@ -28,8 +38,8 @@ void main()
if(material.hasTexture == 1){ if(material.hasTexture == 1){
vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords); vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords);
if(texColor.a < 0.9){discard;} if(texColor.a < 0.9){discard;}
outFragColor = texColor; outAlbedo = texColor;
} else{ } else{
outFragColor = material.diffuseColor; outAlbedo = material.diffuseColor;
} }
} }

View file

@ -0,0 +1,91 @@
#version 450
const int MAX_TEXTURES = 128;
layout(location = 0) in vec4 inPos;
layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
layout(location = 1) out vec4 outAlbedo ;
layout(location = 0) out vec4 outPos;
layout(location = 2) out vec4 outNormal;
layout(location = 3) out vec4 outPBR;
const float bayerMatrix[16] = float[](
0.0 / 16.0, 8.0 / 16.0, 2.0 / 16.0, 10.0 / 16.0,
12.0 / 16.0, 4.0 / 16.0, 14.0 / 16.0, 6.0 / 16.0,
3.0 / 16.0, 11.0 / 16.0, 1.0 / 16.0, 9.0 / 16.0,
15.0 / 16.0, 7.0 / 16.0, 13.0 / 16.0, 5.0 / 16.0
);
struct Material {
vec4 diffuseColor;
uint hasTexture;
uint textureIdx;
uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
};
layout(set = 2, binding = 0) readonly buffer MaterialUniform {
Material materials[];
} matUniform;
layout(set = 3, binding = 0) uniform sampler2D textSampler[MAX_TEXTURES];
vec3 calcNormal(Material material, vec3 normal, vec2 textCoords, mat3 TBN)
{
vec3 newNormal = normal;
if (material.hasNormalMap > 0)
{
newNormal = texture(textSampler[material.normalMapIdx], textCoords).rgb;
newNormal = normalize(newNormal * 2.0 - 1.0);
newNormal = normalize(TBN * newNormal);
}
return newNormal;
}
layout(push_constant) uniform pc {
layout(offset = 64) uint materialIdx;
} push_constants;
void main()
{
outPos = inPos;
Material material = matUniform.materials[push_constants.materialIdx];
if (material.hasTexture == 1) {
outAlbedo = texture(textSampler[material.textureIdx], inTextCoords);
} else {
outAlbedo = material.diffuseColor;
}
/*int Intensity = 4;
int x = int(gl_FragCoord.x) % Intensity;
int y = int(gl_FragCoord.y) % Intensity;
float threshold = bayerMatrix[y * Intensity + x];
if(outAlbedo.a < threshold || outAlbedo.a < 0.05f) discard;*/
if(outAlbedo.a < 0.75) discard;
mat3 TBN = mat3(inTangent, inBitangent, inNormal);
vec3 newNormal = calcNormal(material, inNormal, inTextCoords, TBN);
outNormal = vec4(newNormal, outAlbedo.a);
float ao = 0.5f;
float roughnessFactor = 0.0f;
float metallicFactor = 0.0f;
if (material.hasRoughMap > 0) {
vec4 metRoughValue = texture(textSampler[material.roughMapIdx], inTextCoords);
roughnessFactor = metRoughValue.g;
metallicFactor = metRoughValue.b;
} else {
roughnessFactor = material.roughnessFactor;
metallicFactor = material.metallicFactor;
}
outPBR = vec4(ao, roughnessFactor, metallicFactor, outAlbedo.a);
}

View file

@ -1,15 +1,25 @@
#version 450 #version 450
const int MAX_TEXTURES = 500; const int MAX_TEXTURES = 128;
layout(location = 0) in vec2 inTextCoords; layout(location = 0) in vec4 inPos;
layout(location = 0) out vec4 outFragColor; layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
layout(location = 0) out vec4 outAlbedo;
struct Material{ struct Material{
vec4 diffuseColor; vec4 diffuseColor;
uint hasTexture; uint hasTexture;
uint textureIdx; uint textureIdx;
uint padding[2]; uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
}; };
layout(set = 2, binding = 0) readonly buffer MaterialUniform{ layout(set = 2, binding = 0) readonly buffer MaterialUniform{
@ -27,9 +37,9 @@ void main()
Material material = matUniform.materials[push_constants.materialIdx]; Material material = matUniform.materials[push_constants.materialIdx];
if(material.hasTexture == 1){ if(material.hasTexture == 1){
vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords); vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords);
if(texColor.a < 0.05 || texColor.a >= 0.9){discard;} if(texColor.a >= 0.9){discard;}
outFragColor = texColor; outAlbedo = texColor;
} else{ } else{
outFragColor = material.diffuseColor; outAlbedo = material.diffuseColor;
} }
} }

View file

@ -0,0 +1,88 @@
#version 450
const int MAX_TEXTURES = 128;
layout(location = 0) in vec4 inPos;
layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
layout(location = 1) out vec4 outAlbedo ;
layout(location = 0) out vec4 outPos;
layout(location = 2) out vec4 outNormal;
layout(location = 3) out vec4 outPBR;
const float bayerMatrix[16] = float[](
0.0 / 16.0, 8.0 / 16.0, 2.0 / 16.0, 10.0 / 16.0,
12.0 / 16.0, 4.0 / 16.0, 14.0 / 16.0, 6.0 / 16.0,
3.0 / 16.0, 11.0 / 16.0, 1.0 / 16.0, 9.0 / 16.0,
15.0 / 16.0, 7.0 / 16.0, 13.0 / 16.0, 5.0 / 16.0
);
struct Material {
vec4 diffuseColor;
uint hasTexture;
uint textureIdx;
uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
};
layout(set = 2, binding = 0) readonly buffer MaterialUniform {
Material materials[];
} matUniform;
layout(set = 3, binding = 0) uniform sampler2D textSampler[MAX_TEXTURES];
vec3 calcNormal(Material material, vec3 normal, vec2 textCoords, mat3 TBN)
{
vec3 newNormal = normal;
if (material.hasNormalMap > 0)
{
newNormal = texture(textSampler[material.normalMapIdx], textCoords).rgb;
newNormal = normalize(newNormal * 2.0 - 1.0);
newNormal = normalize(TBN * newNormal);
}
return newNormal;
}
layout(push_constant) uniform pc {
layout(offset = 64) uint materialIdx;
} push_constants;
void main()
{
outPos = inPos;
Material material = matUniform.materials[push_constants.materialIdx];
if (material.hasTexture == 1) {
outAlbedo = texture(textSampler[material.textureIdx], inTextCoords);
} else {
outAlbedo = material.diffuseColor;
}
if(outAlbedo.a >= 0.75 || outAlbedo.a < 0.05f) discard;
mat3 TBN = mat3(inTangent, inBitangent, inNormal);
vec3 newNormal = calcNormal(material, inNormal, inTextCoords, TBN);
outNormal = vec4(newNormal, outAlbedo.a);
float ao = 0.5f;
float roughnessFactor = 0.0f;
float metallicFactor = 0.0f;
if (material.hasRoughMap > 0) {
vec4 metRoughValue = texture(textSampler[material.roughMapIdx], inTextCoords);
roughnessFactor = metRoughValue.g;
metallicFactor = metRoughValue.b;
} else {
roughnessFactor = material.roughnessFactor;
metallicFactor = material.metallicFactor;
}
outPBR = vec4(ao, roughnessFactor, metallicFactor, outAlbedo.a);
}

View file

@ -1,9 +1,16 @@
#version 450 #version 450
layout(location = 0) in vec3 inPos; layout(location = 0) in vec3 inPos;
layout(location = 1) in vec2 inTextCoords; layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
layout(location = 0) out vec2 outTextCoords; layout(location = 0) out vec4 outPos;
layout(location = 1) out vec3 outNormal;
layout(location = 2) out vec3 outTangent;
layout(location = 3) out vec3 outBitangent;
layout(location = 4) out vec2 outTextCoords;
layout(set = 0, binding = 0) uniform ProjUniform{ layout(set = 0, binding = 0) uniform ProjUniform{
@ -20,6 +27,12 @@ layout(push_constant) uniform pc{
void main() void main()
{ {
vec4 worldPos = push_constants.modelMatrix * vec4(inPos,1);
gl_Position = projUniform.matrix * viewUniform.matrix * push_constants.modelMatrix * vec4(inPos,1); gl_Position = projUniform.matrix * viewUniform.matrix * push_constants.modelMatrix * vec4(inPos,1);
mat3 mNormal = transpose(inverse(mat3(push_constants.modelMatrix)));
outPos = worldPos;
outNormal = mNormal * normalize(inNormal);
outTangent = mNormal * normalize(inTangent);
outBitangent = mNormal * normalize(inBitangent);
outTextCoords = inTextCoords; outTextCoords = inTextCoords;
} }

View file

@ -0,0 +1,5 @@
#version 450
void main() {
}

View file

@ -0,0 +1,5 @@
#version 450
void main() {
}

View file

@ -0,0 +1,5 @@
#version 450
void main() {
}

View file

@ -0,0 +1,11 @@
#version 450
layout(location = 0) in vec3 outTexCoords;
layout(location = 1) out vec4 outColor;
layout(set = 2, binding = 0) uniform samplerCube skyboxSampler;
void main() {
outColor = vec4(texture(skyboxSampler, outTexCoords).rgb, 1.0);
}

View file

@ -0,0 +1,18 @@
#version 450
layout(location = 0) in vec3 inPosition;
layout(location = 0) out vec3 outTexCoords;
layout(set = 0, binding = 0) uniform ProjectionBuffer {
mat4 proj;
} uboProj;
layout(set = 1, binding = 0) uniform ViewBuffer {
mat4 view;
} uboView;
void main() {
outTexCoords = inPosition;
mat4 skyView = mat4(mat3(uboView.view));
vec4 pos = uboProj.proj * skyView * vec4(inPosition, 1.0);
gl_Position = vec4(pos.xy, 0.0, pos.w);
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -1,15 +0,0 @@
{
"ID": "Welsh040Alice",
"Meshes": [
{
"ID": "cube_0",
"MaterialID": "Welsh040Alice-mat-1",
"OffsetVertex": 0,
"VertexSize": 42720,
"OffsetIndex": 0,
"IndexSize": 14976
}
],
"VertexPath": "resources/models/Alice/Welsh040Alice.vtx",
"IndexPath": "resources/models/Alice/Welsh040Alice.idx"
}

View file

@ -1,4 +0,0 @@
# Made in Blockbench 5.1.4
newmtl m_43544ac2-29ce-cec1-9562-1ae6e86abc5a
map_Kd Alice040.png
newmtl none

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
[
{
"ID": "Welsh040Alice-mat-0",
"TexturePath": "",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
},
{
"ID": "Welsh040Alice-mat-1",
"TexturePath": "resources\\models\\Alice\\Alice040.png",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
},
{
"ID": "Welsh040Alice-mat-2",
"TexturePath": "",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
}
]

View file

@ -1,15 +0,0 @@
{
"ID": "CorvetteOBJ",
"Meshes": [
{
"ID": "cube_0",
"MaterialID": "CorvetteOBJ-mat-1",
"OffsetVertex": 0,
"VertexSize": 452640,
"OffsetIndex": 0,
"IndexSize": 151488
}
],
"VertexPath": "resources/models/Corvette/CorvetteOBJ.vtx",
"IndexPath": "resources/models/Corvette/CorvetteOBJ.idx"
}

View file

@ -1,4 +0,0 @@
# Made in Blockbench 5.1.4
newmtl m_64480dc7-fc68-f52d-eb18-7368900ee2a3
map_Kd corvetteclass.png
newmtl none

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
[
{
"ID": "CorvetteOBJ-mat-0",
"TexturePath": "",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
},
{
"ID": "CorvetteOBJ-mat-1",
"TexturePath": "resources\\models\\Corvette\\corvetteclass.png",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
},
{
"ID": "CorvetteOBJ-mat-2",
"TexturePath": "",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
}
]

View file

@ -1,15 +0,0 @@
{
"ID": "corvetteclass",
"Meshes": [
{
"ID": "hexadecagon_0",
"MaterialID": "corvetteclass-mat-1",
"OffsetVertex": 0,
"VertexSize": 473600,
"OffsetIndex": 0,
"IndexSize": 154944
}
],
"VertexPath": "resources/models/Corvette/corvetteclass.vtx",
"IndexPath": "resources/models/Corvette/corvetteclass.idx"
}

View file

@ -1,4 +0,0 @@
# Made in Blockbench 5.1.4
newmtl m_64480dc7-fc68-f52d-eb18-7368900ee2a3
map_Kd corvetteclass.png
newmtl none

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

View file

@ -1,32 +0,0 @@
[
{
"ID": "corvetteclass-mat-0",
"TexturePath": "",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
},
{
"ID": "corvetteclass-mat-1",
"TexturePath": "resources\\models\\Corvette\\corvetteclass.png",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
},
{
"ID": "corvetteclass-mat-2",
"TexturePath": "",
"DiffuseColour": {
"X": 0.6,
"Y": 0.6,
"Z": 0.6,
"W": 1.0
}
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 884 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 855 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,022 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Binary file not shown.

View file

@ -1,215 +0,0 @@
{
"ID": "forest",
"Meshes": [
{
"ID": "Background_Tree_Atlas.001_Background_Tree_Atlas_0_0",
"MaterialID": "forest-mat-0",
"OffsetVertex": 0,
"VertexSize": 2085440,
"OffsetIndex": 0,
"IndexSize": 1125636
},
{
"ID": "Background_Tree_Atlas.002_Metal_Fence_0_1",
"MaterialID": "forest-mat-1",
"OffsetVertex": 2085440,
"VertexSize": 3280,
"OffsetIndex": 1125636,
"IndexSize": 984
},
{
"ID": "Background_Tree_Atlas.003_Dirt_Road_Bare_0_2",
"MaterialID": "forest-mat-2",
"OffsetVertex": 2088720,
"VertexSize": 4700,
"OffsetIndex": 1126620,
"IndexSize": 4740
},
{
"ID": "Background_Tree_Atlas.004_Trunk_Birch_0_3",
"MaterialID": "forest-mat-3",
"OffsetVertex": 2093420,
"VertexSize": 240720,
"OffsetIndex": 1131360,
"IndexSize": 155052
},
{
"ID": "Background_Tree_Atlas.005_Wood_Log_0_4",
"MaterialID": "forest-mat-4",
"OffsetVertex": 2334140,
"VertexSize": 20160,
"OffsetIndex": 1286412,
"IndexSize": 10584
},
{
"ID": "Background_Tree_Atlas.006_Trunk_Oak_0_5",
"MaterialID": "forest-mat-5",
"OffsetVertex": 2354300,
"VertexSize": 1306960,
"OffsetIndex": 1296996,
"IndexSize": 841836
},
{
"ID": "Background_Tree_Atlas.007_Fallen_Generic_Leaves_0_6",
"MaterialID": "forest-mat-6",
"OffsetVertex": 3661260,
"VertexSize": 135500,
"OffsetIndex": 2138832,
"IndexSize": 91788
},
{
"ID": "Background_Tree_Atlas.008_Ground_Dirt_0_7",
"MaterialID": "forest-mat-7",
"OffsetVertex": 3796760,
"VertexSize": 161440,
"OffsetIndex": 2230620,
"IndexSize": 41844
},
{
"ID": "Background_Tree_Atlas.009_Forest_Bush_0_8",
"MaterialID": "forest-mat-8",
"OffsetVertex": 3958200,
"VertexSize": 259640,
"OffsetIndex": 2272464,
"IndexSize": 102840
},
{
"ID": "Background_Tree_Atlas.010_Grass_Vegetation_Dry_0_9",
"MaterialID": "forest-mat-9",
"OffsetVertex": 4217840,
"VertexSize": 669040,
"OffsetIndex": 2375304,
"IndexSize": 200712
},
{
"ID": "Background_Tree_Atlas.011_Grass_Vegetation_Green_0_10",
"MaterialID": "forest-mat-10",
"OffsetVertex": 4886880,
"VertexSize": 1046480,
"OffsetIndex": 2576016,
"IndexSize": 313512
},
{
"ID": "Background_Tree_Atlas.012_Fallen_Maple_Leaves_0_11",
"MaterialID": "forest-mat-11",
"OffsetVertex": 5933360,
"VertexSize": 208400,
"OffsetIndex": 2889528,
"IndexSize": 138060
},
{
"ID": "Background_Tree_Atlas.013_Rock_Decal_0_12",
"MaterialID": "forest-mat-12",
"OffsetVertex": 6141760,
"VertexSize": 307820,
"OffsetIndex": 3027588,
"IndexSize": 246348
},
{
"ID": "Background_Tree_Atlas.014_Mud_Pile_0_13",
"MaterialID": "forest-mat-13",
"OffsetVertex": 6449580,
"VertexSize": 17400,
"OffsetIndex": 3273936,
"IndexSize": 18108
},
{
"ID": "Background_Tree_Atlas.015_Dirt_Road_Trails_0_14",
"MaterialID": "forest-mat-14",
"OffsetVertex": 6466980,
"VertexSize": 60640,
"OffsetIndex": 3292044,
"IndexSize": 63504
},
{
"ID": "Background_Tree_Atlas.016_Road_Edge_Gravel_Dusty_0_15",
"MaterialID": "forest-mat-15",
"OffsetVertex": 6527620,
"VertexSize": 36560,
"OffsetIndex": 3355548,
"IndexSize": 37512
},
{
"ID": "Background_Tree_Atlas.017_Puddle_Streaks_0_16",
"MaterialID": "forest-mat-16",
"OffsetVertex": 6564180,
"VertexSize": 40660,
"OffsetIndex": 3393060,
"IndexSize": 44316
},
{
"ID": "Background_Tree_Atlas.018_Wood_Fence_0_17",
"MaterialID": "forest-mat-17",
"OffsetVertex": 6604840,
"VertexSize": 22600,
"OffsetIndex": 3437376,
"IndexSize": 8016
},
{
"ID": "Background_Tree_Atlas.019_Sloped_Rock_0_18",
"MaterialID": "forest-mat-18",
"OffsetVertex": 6627440,
"VertexSize": 491300,
"OffsetIndex": 3445392,
"IndexSize": 123444
},
{
"ID": "Background_Tree_Atlas.020_Terrain_Far_0_19",
"MaterialID": "forest-mat-19",
"OffsetVertex": 7118740,
"VertexSize": 55780,
"OffsetIndex": 3568836,
"IndexSize": 31728
},
{
"ID": "Background_Tree_Atlas.021_Aerial_Grass_0_20",
"MaterialID": "forest-mat-20",
"OffsetVertex": 7174520,
"VertexSize": 383080,
"OffsetIndex": 3600564,
"IndexSize": 128748
},
{
"ID": "Background_Tree_Atlas.022_Tall_Cliff_0_21",
"MaterialID": "forest-mat-21",
"OffsetVertex": 7557600,
"VertexSize": 387380,
"OffsetIndex": 3729312,
"IndexSize": 93840
},
{
"ID": "Background_Tree_Atlas.023_Cobblestone_0_22",
"MaterialID": "forest-mat-22",
"OffsetVertex": 7944980,
"VertexSize": 40720,
"OffsetIndex": 3823152,
"IndexSize": 10860
},
{
"ID": "Background_Tree_Atlas.024_Grass_Close_0_23",
"MaterialID": "forest-mat-23",
"OffsetVertex": 7985700,
"VertexSize": 168280,
"OffsetIndex": 3834012,
"IndexSize": 87936
},
{
"ID": "Background_Tree_Atlas.025_Dirt_Road_0_24",
"MaterialID": "forest-mat-24",
"OffsetVertex": 8153980,
"VertexSize": 109260,
"OffsetIndex": 3921948,
"IndexSize": 120624
},
{
"ID": "Background_Tree_Atlas.026_Broken_Rocks_0_25",
"MaterialID": "forest-mat-25",
"OffsetVertex": 8263240,
"VertexSize": 225980,
"OffsetIndex": 4042572,
"IndexSize": 50736
}
],
"VertexPath": "resources/models/Forest/forest.vtx",
"IndexPath": "resources/models/Forest/forest.idx"
}

Some files were not shown because too many files have changed in this diff Show more