-
Notifications
You must be signed in to change notification settings - Fork 237
Updating the renderer to 1.21.10 #683
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
temotskipa
wants to merge
36
commits into
xCollateral:dev
Choose a base branch
from
temotskipa:dev
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+16,529
−11,849
Draft
Changes from 29 commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
b2970b3
I have created the `RayTracingPipeline.java` file with the basic stru…
google-labs-jules[bot] 47f50ea
Fix Gradle build errors in RayTracingPipeline.java
google-labs-jules[bot] 6a08ea0
Merge pull request #1 from temotskipa/fix-build-errors
temotskipa 80ec65a
WIP: save progress on rendering refactor
google-labs-jules[bot] b327e55
Merge pull request #3 from temotskipa/wip/refactor-state-save
temotskipa 3e880dd
Fix ray tracing shader binding table setup
temotskipa 4722c45
Merge pull request #4 from temotskipa/codex/fix-ray-tracing-implement…
temotskipa 92fd9ed
Update Fabric toolchain for 1.21.10
temotskipa 3f2747e
Merge pull request #5 from temotskipa/codex/update-gradle-wrapper-and…
temotskipa f16866f
Document genSource workflow for Mojang mappings
temotskipa a9fd053
Merge pull request #6 from temotskipa/codex/refactor-renderer-for-new…
temotskipa ce79907
Improved documentation
a4383bd
Added AGENTS.md
e9ffae3
Started refactoring the rendering pipeline
1e20aac
Continuing renderer refactor
temotskipa 0c6ec2c
Delete net/minecraft/client directory
temotskipa fdeb3b4
Adapt renderer glue to 1.21 API changes
temotskipa bdcd74d
Align terrain pipeline with 1.21 chunk API
temotskipa 0830e6c
Add accessor for GlDevice shader compilation key
temotskipa fc90f81
Drop unused custom ModelPart cube wrapper
temotskipa a5a14fd
Added HiddenGLContext, continuing to fix mixin issues
temotskipa 02ba821
Add Parchment support and GL bridge fixes
temotskipa 07e8f70
Reformatted the code
temotskipa 9e4a9e6
Restored unwanted .yml and .md changes to previous state
temotskipa 8f6c724
Added safer memory access methods using FFM
temotskipa 1ef6143
Changed .gitignore
temotskipa 3230c16
Started refactoring the code to use FFM and remove hacks like HiddenG…
temotskipa 0bdbaea
Switch to `configureEach` for configurations to improve build script …
temotskipa d643c26
Refactor `EncodingFormat` constants and reformat `README.md` for bett…
temotskipa f7e8a6b
refactor: reorganize util and render packages
temotskipa 336dbae
chore: enable native access and replace stack pointer alloc
temotskipa e71d761
chore: restore memory helpers and fix LWJGL API changes
temotskipa 3112d76
chore: ignore AGENTS guide
temotskipa 90bc1f0
feat: introduce frame sync manager and groundwork for backend refactor
temotskipa 2567a0d
fix: align LWJGL version with Minecraft 1.21.10
temotskipa 5af4ec7
feat: introduce backend framegraph hooks
temotskipa File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,3 +31,10 @@ bin/ | |
| # fabric | ||
|
|
||
| run/ | ||
|
|
||
| # minecraft | ||
|
|
||
| net/minecraft/ | ||
| !net/vulkanmod/ | ||
| *.log | ||
| *:Zone.Identifier | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,111 +1,140 @@ | ||
| plugins { | ||
| id 'fabric-loom' version '1.9.2' | ||
| id 'maven-publish' | ||
| } | ||
|
|
||
| version = project.mod_version | ||
| group = project.maven_group | ||
|
|
||
| base { | ||
| archivesName = project.archives_base_name | ||
| } | ||
|
|
||
| loom { | ||
| accessWidenerPath = file("src/main/resources/vulkanmod.accesswidener") | ||
| } | ||
|
|
||
| dependencies { | ||
| // To change the versions see the gradle.properties file | ||
| minecraft "com.mojang:minecraft:${project.minecraft_version}" | ||
| mappings loom.officialMojangMappings() | ||
| modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" | ||
|
|
||
| // Fabric API. This is technically optional, but you probably want it anyway. | ||
| modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" | ||
|
|
||
| ext.includeModule = { name -> | ||
| var module = fabricApi.module(name, project.fabric_version) | ||
| modImplementation(module) | ||
| include(module) | ||
| } | ||
|
|
||
| includeModule("fabric-api-base") | ||
| includeModule("fabric-resource-loader-v0") | ||
| includeModule("fabric-rendering-v1") | ||
| includeModule("fabric-renderer-api-v1") | ||
| includeModule("fabric-rendering-fluids-v1") | ||
| includeModule("fabric-rendering-data-attachment-v1") | ||
| includeModule("fabric-block-view-api-v2") | ||
| } | ||
|
|
||
| project.ext.lwjglVersion = "3.3.3" | ||
| project.ext.jomlVersion = "1.10.4" | ||
| project.ext.winNatives = "natives-windows" | ||
| project.ext.linuxNatives = "natives-linux" | ||
| project.ext.macosNatives = "natives-macos" | ||
| project.ext.macosArmNatives = "natives-macos-arm64" | ||
|
|
||
| dependencies { | ||
| include(implementation("org.lwjgl:lwjgl-vulkan:$lwjglVersion")) | ||
|
|
||
| ext.includeNatives = { name -> | ||
| include(implementation("$name:$lwjglVersion")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$winNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$linuxNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| includeNatives("org.lwjgl:lwjgl-vma") | ||
| includeNatives("org.lwjgl:lwjgl-shaderc") | ||
|
|
||
| //MoltenVK | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| processResources { | ||
| inputs.property "version", project.version | ||
|
|
||
| filesMatching("fabric.mod.json") { | ||
| expand "version": project.version | ||
| } | ||
| } | ||
|
|
||
| tasks.withType(JavaCompile).configureEach { | ||
| it.options.release = 21 | ||
| } | ||
|
|
||
| java { | ||
| // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task | ||
| // if it is present. | ||
| // If you remove this line, sources will not be generated. | ||
| withSourcesJar() | ||
|
|
||
| sourceCompatibility = JavaVersion.VERSION_21 | ||
| targetCompatibility = JavaVersion.VERSION_21 | ||
| } | ||
|
|
||
| jar { | ||
| from("LICENSE") { | ||
| rename { "${it}_${project.base.archivesName.get()}"} | ||
| } | ||
| } | ||
|
|
||
| // configure the maven publication | ||
| publishing { | ||
| publications { | ||
| create("mavenJava", MavenPublication) { | ||
| artifactId = project.archives_base_name | ||
| from components.java | ||
| } | ||
| } | ||
|
|
||
| // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. | ||
| repositories { | ||
| // Add repositories to publish to here. | ||
| // Notice: This block does NOT have the same function as the block in the top level. | ||
| // The repositories here will be used for publishing your artifact, not for | ||
| // retrieving dependencies. | ||
| } | ||
| } | ||
| plugins { | ||
| id 'fabric-loom' version '1.11.8' | ||
| id 'maven-publish' | ||
| } | ||
|
|
||
| version = project.mod_version | ||
| group = project.maven_group | ||
|
|
||
| base { | ||
| archivesName = project.archives_base_name | ||
| } | ||
|
|
||
| repositories { | ||
| mavenCentral() | ||
| maven { | ||
| name = "ParchmentMC" | ||
| url = "https://maven.parchmentmc.org" | ||
| content { | ||
| includeGroup("org.parchmentmc.data") | ||
| } | ||
| } | ||
| maven { | ||
| name = "LWJGL Snapshots" | ||
| url = "https://central.sonatype.com/repository/maven-snapshots" | ||
| } | ||
| } | ||
|
|
||
| loom { | ||
| accessWidenerPath = file("src/main/resources/vulkanmod.accesswidener") | ||
| } | ||
|
|
||
| configurations.configureEach { | ||
| resolutionStrategy { | ||
| force "org.lwjgl:lwjgl:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-glfw:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-jemalloc:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-openal:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-freetype:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-stb:3.4.0-SNAPSHOT" | ||
| } | ||
| } | ||
|
|
||
| dependencies { | ||
| // To change the versions see the gradle.properties file | ||
| minecraft "com.mojang:minecraft:${project.minecraft_version}" | ||
| mappings loom.layered { | ||
| officialMojangMappings() | ||
| parchment("org.parchmentmc.data:parchment-${project.minecraft_version}:${project.parchment_version}@zip") | ||
| } | ||
| modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" | ||
|
|
||
| // Fabric API. This is technically optional, but you probably want it anyway. | ||
| modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" | ||
|
|
||
| ext.includeModule = { name -> | ||
| var module = fabricApi.module(name, project.fabric_version) | ||
| modImplementation(module) | ||
| include(module) | ||
| } | ||
|
|
||
| includeModule("fabric-api-base") | ||
| includeModule("fabric-resource-loader-v0") | ||
| includeModule("fabric-rendering-v1") | ||
| includeModule("fabric-renderer-api-v1") | ||
| includeModule("fabric-rendering-fluids-v1") | ||
| includeModule("fabric-data-attachment-api-v1") | ||
| includeModule("fabric-block-view-api-v2") | ||
| } | ||
|
|
||
| project.ext.lwjglVersion = "3.4.0-SNAPSHOT" | ||
| project.ext.jomlVersion = "1.10.8" | ||
| project.ext.winNatives = "natives-windows" | ||
| project.ext.linuxNatives = "natives-linux" | ||
| project.ext.macosNatives = "natives-macos" | ||
| project.ext.macosArmNatives = "natives-macos-arm64" | ||
|
|
||
| dependencies { | ||
| include(implementation("org.lwjgl:lwjgl-vulkan:$lwjglVersion")) | ||
|
|
||
| ext.includeNatives = { name -> | ||
| include(implementation("$name:$lwjglVersion")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$winNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$linuxNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| includeNatives("org.lwjgl:lwjgl-vma") | ||
| includeNatives("org.lwjgl:lwjgl-shaderc") | ||
|
|
||
| //MoltenVK | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| processResources { | ||
| inputs.property "version", project.version | ||
|
|
||
| filesMatching("fabric.mod.json") { | ||
| expand "version": project.version | ||
| } | ||
| } | ||
|
|
||
| tasks.withType(JavaCompile).configureEach { | ||
| it.options.release = 25 | ||
| } | ||
|
|
||
| java { | ||
| // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task | ||
| // if it is present. | ||
| // If you remove this line, sources will not be generated. | ||
| withSourcesJar() | ||
|
|
||
| sourceCompatibility = JavaVersion.VERSION_25 | ||
| targetCompatibility = JavaVersion.VERSION_25 | ||
| } | ||
|
|
||
| jar { | ||
| from("LICENSE") { | ||
| rename { "${it}_${project.base.archivesName.get()}" } | ||
| } | ||
| } | ||
|
|
||
| // configure the maven publication | ||
| publishing { | ||
| publications { | ||
| create("mavenJava", MavenPublication) { | ||
| artifactId = project.archives_base_name | ||
| from components.java | ||
| } | ||
| } | ||
|
|
||
| // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. | ||
| repositories { | ||
| // Add repositories to publish to here. | ||
| // Notice: This block does NOT have the same function as the block in the top level. | ||
| // The repositories here will be used for publishing your artifact, not for | ||
| // retrieving dependencies. | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,16 @@ | ||
| # Done to increase the memory available to gradle. | ||
| org.gradle.jvmargs=-Xmx3G | ||
| org.gradle.parallel=true | ||
|
|
||
| # Fabric Properties | ||
| # check these on https://fabricmc.net/develop | ||
| minecraft_version=1.21.1 | ||
| yarn_mappings=1.21.1+build.3 | ||
| loader_version=0.16.10 | ||
|
|
||
| minecraft_version=1.21.10 | ||
| yarn_mappings=1.21.10+build.2 | ||
| loader_version=0.17.3 | ||
| # Fabric API | ||
| fabric_version=0.114.0+1.21.1 | ||
|
|
||
| fabric_version=0.136.0+1.21.10 | ||
| # Mod Properties | ||
| mod_version = 0.5.4-dev | ||
| maven_group = net.vulkanmod | ||
| archives_base_name = VulkanMod_1.21.1 | ||
| mod_version=0.5.4-dev | ||
| maven_group=net.vulkanmod | ||
| archives_base_name=VulkanMod_1.21.10 | ||
| # Tooling | ||
| parchment_version=2025.10.12 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.