gitextract_4ufyiq5t/ ├── .github/ │ └── workflows/ │ ├── build.yml │ ├── publish.yml │ └── test.yml ├── .gitignore ├── README.md ├── buildSrc/ │ ├── .gitignore │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── kotlin/ │ └── graphics/ │ └── kiln/ │ └── blaze4d/ │ └── build/ │ └── assets/ │ ├── AssetsPlugin.kt │ ├── AssetsPluginExtension.kt │ └── shaders/ │ ├── CompileShadersTask.kt │ ├── CompilerConfig.kt │ ├── ShaderCompiler.kt │ ├── ShaderModule.kt │ ├── ShaderProject.kt │ ├── ShaderStage.kt │ └── SprivVersion.kt ├── core/ │ ├── LICENSE │ ├── api/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ ├── graphics/ │ │ │ └── kiln/ │ │ │ └── blaze4d/ │ │ │ └── core/ │ │ │ ├── Blaze4DCore.java │ │ │ ├── Frame.java │ │ │ ├── GlobalImage.java │ │ │ ├── GlobalMesh.java │ │ │ ├── natives/ │ │ │ │ ├── ImageDataNative.java │ │ │ │ ├── Lib.java │ │ │ │ ├── McUniformDataNative.java │ │ │ │ ├── MeshDataNative.java │ │ │ │ ├── Natives.java │ │ │ │ ├── PipelineConfigurationNative.java │ │ │ │ ├── Vec2u32Native.java │ │ │ │ └── VertexFormatNative.java │ │ │ └── types/ │ │ │ ├── B4DFormat.java │ │ │ ├── B4DImageData.java │ │ │ ├── B4DIndexType.java │ │ │ ├── B4DMeshData.java │ │ │ ├── B4DPrimitiveTopology.java │ │ │ ├── B4DUniform.java │ │ │ ├── B4DUniformData.java │ │ │ ├── B4DVertexFormat.java │ │ │ ├── BlendFactor.java │ │ │ ├── BlendOp.java │ │ │ ├── CompareOp.java │ │ │ └── PipelineConfiguration.java │ │ └── module-info.java │ ├── assets/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ └── src/ │ │ ├── debug/ │ │ │ ├── apply.frag │ │ │ ├── apply.vert │ │ │ ├── basic.frag │ │ │ ├── basic.vert │ │ │ └── font/ │ │ │ ├── JetBrainsMono/ │ │ │ │ ├── OFL.txt │ │ │ │ └── tmp_built/ │ │ │ │ └── regular.json │ │ │ ├── charset.txt │ │ │ ├── msdf_font.frag │ │ │ └── msdf_font.vert │ │ ├── emulator/ │ │ │ ├── debug/ │ │ │ │ ├── background.frag │ │ │ │ ├── background.vert │ │ │ │ ├── color.vert │ │ │ │ ├── debug.frag │ │ │ │ ├── null.vert │ │ │ │ ├── position.vert │ │ │ │ ├── textured.frag │ │ │ │ └── uv.vert │ │ │ └── mc_uniforms.glsl │ │ └── utils/ │ │ ├── blit.frag │ │ └── full_screen_quad.vert │ └── natives/ │ ├── .cargo/ │ │ └── config.toml │ ├── .gitignore │ ├── Cargo.toml │ ├── build.gradle.kts │ ├── build.rs │ ├── examples/ │ │ └── immediate_cube.rs │ ├── libvma/ │ │ └── CMakeLists.txt │ ├── rustfmt.toml │ ├── src/ │ │ ├── allocator/ │ │ │ ├── mod.rs │ │ │ └── vma.rs │ │ ├── b4d.rs │ │ ├── c_api.rs │ │ ├── c_log.rs │ │ ├── device/ │ │ │ ├── device.rs │ │ │ ├── device_utils.rs │ │ │ ├── init.rs │ │ │ ├── mod.rs │ │ │ └── surface.rs │ │ ├── glfw_surface.rs │ │ ├── instance/ │ │ │ ├── debug_messenger.rs │ │ │ ├── init.rs │ │ │ ├── instance.rs │ │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── objects/ │ │ │ ├── id.rs │ │ │ ├── mod.rs │ │ │ ├── object_set.rs │ │ │ └── sync.rs │ │ ├── renderer/ │ │ │ ├── emulator/ │ │ │ │ ├── debug_pipeline.rs │ │ │ │ ├── descriptors.rs │ │ │ │ ├── global_objects.rs │ │ │ │ ├── immediate.rs │ │ │ │ ├── mc_shaders.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pass.rs │ │ │ │ ├── pipeline.rs │ │ │ │ ├── share.rs │ │ │ │ ├── staging.rs │ │ │ │ └── worker.rs │ │ │ └── mod.rs │ │ ├── util/ │ │ │ ├── alloc.rs │ │ │ ├── format.rs │ │ │ ├── id.rs │ │ │ ├── mod.rs │ │ │ ├── rand.rs │ │ │ ├── slice_splitter.rs │ │ │ └── vk.rs │ │ ├── vk/ │ │ │ ├── mod.rs │ │ │ ├── objects/ │ │ │ │ ├── buffer.rs │ │ │ │ ├── image.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── surface.rs │ │ │ │ ├── swapchain.rs │ │ │ │ └── types.rs │ │ │ └── test.rs │ │ └── window.rs │ └── tests/ │ └── test_common/ │ └── mod.rs ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── mod/ │ ├── .gitignore │ ├── LICENSE │ ├── build.gradle.kts │ ├── gradle.properties │ └── src/ │ └── main/ │ ├── java/ │ │ └── graphics/ │ │ └── kiln/ │ │ └── blaze4d/ │ │ ├── Blaze4D.java │ │ ├── Blaze4DMixinPlugin.java │ │ ├── Blaze4DPreLaunch.java │ │ ├── api/ │ │ │ ├── B4DShader.java │ │ │ ├── B4DUniform.java │ │ │ ├── B4DVertexBuffer.java │ │ │ └── Utils.java │ │ ├── emulation/ │ │ │ └── GLStateTracker.java │ │ └── mixin/ │ │ ├── integration/ │ │ │ ├── FramebufferMixin.java │ │ │ ├── GLXMixin.java │ │ │ ├── GlDebugMixin.java │ │ │ ├── GlStateManagerMixin.java │ │ │ ├── MinecraftClientMixin.java │ │ │ ├── VertexFormatMixin.java │ │ │ ├── VideoWarningManagerMixin.java │ │ │ ├── WindowFramebufferMixin.java │ │ │ └── WindowMixin.java │ │ ├── render/ │ │ │ ├── BufferUploaderMixin.java │ │ │ ├── RenderSystemMixin.java │ │ │ ├── VertexBufferMixin.java │ │ │ └── WorldRendererMixin.java │ │ ├── shader/ │ │ │ ├── GlStateManagerMixin.java │ │ │ ├── GlUniformMixin.java │ │ │ ├── RenderSystemMixin.java │ │ │ ├── ShaderAccessor.java │ │ │ └── ShaderMixin.java │ │ └── texture/ │ │ ├── LightmapTextureManagerMixin.java │ │ ├── NativeImageMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── TextureManagerMixin.java │ │ ├── TextureUtilMixin_Development.java │ │ └── TextureUtilMixin_Runtime.java │ └── resources/ │ ├── blaze4d.aw │ ├── blaze4d.mixins.json │ └── fabric.mod.json └── settings.gradle.kts