-
Notifications
You must be signed in to change notification settings - Fork 232
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
base: dev
Are you sure you want to change the base?
Conversation
…cture, including a constructor, a builder class, and placeholder methods. This completes the first step of the plan. I have created the three placeholder shader files: `raygen.rgen`, `miss.rmiss`, and `closesthit.rchit`, and placed them in the correct directory. This completes the second step of the plan. I have modified the `SPIRVUtils.java` file to include the new ray tracing shader types in the `ShaderKind` enum. This completes the third step of the plan. I have updated the `PipelineManager` to handle the new `RayTracingPipeline`, including adding a field for it, a method to create it, and updating the cleanup method. This completes the fourth step of the plan. This involved adding the `doRayTracing` and `bindRayTracingPipeline` methods to `Renderer.java` and calling `doRayTracing` from the `endFrame` method. This completes the fifth step of the plan. I have added the `enableRayTracing` option to the `Config` class and used it to conditionally execute the ray tracing code in `Renderer.java`. This completes the sixth step of the plan.
This commit resolves several compilation errors that were causing the Gradle build to fail. The following changes were made: - Removed a duplicated package declaration in `src/main/java/net/vulkanmod/vulkan/shader/RayTracingPipeline.java`. - Corrected the import path for the `Buffer` class. - Added missing static imports for Vulkan API symbols from VK11, KHRBufferDeviceAddress, and VK12. - Updated the cleanup method call from `free()` to `scheduleFree()` to match the `Buffer` class API. - Declared the missing `sbtStride` field.
Fix Gradle build errors in RayTracingPipeline.java
Saving the current state of the rendering refactor due to persistent tool service issues. This commit is not expected to build successfully but captures the changes made so far.
WIP: Save rendering refactor state
…ation Fix ray tracing shader binding table setup
…-dependencies Update Fabric dependencies for Minecraft 1.21.10
…-pipeline Update renderer integration for new pipeline API
|
It is still WIP, so I published it as a draft PR for now. If anyone has any suggestions or better yet, code, feel free to contribute. |
…er clarity and consistency.
|
Why do you update Java to 25 and lwjgl to 3.4.0, when minecraft only supports Java 21 and lwjgl 3.3.3? Especially the lwjgl change will cause minecraft to not start at all, as version 3.3.3 is a hard dependency. |
|
Focus only on what the PR goal is and don't make unnecessary/broken changes like these. You can make a separate PR for these. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes are also worthless and beside the goal. The Readme would even look the same as before.
| public record OptionBlock(String title, Option<?>[] options) { | ||
|
|
||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
|
You also modify the config and options for no reason. Again, make a separate PR for these changes. |
|
You do a bunch of useless formatting changes in the shaders. Put these in a separate PR and stick to the 'old' formatting for now. |
|
|
||
| private static boolean doUpload = true; | ||
| private static final Set<VulkanImage> transitionedLayouts = new HashSet<>(); | ||
| private static boolean doUpload = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm talking about stuff like this.
This PR updates the mod and refactors the renderer for 1.21.10 compatibility and prepares it for future enhancements like RT. It also includes changes to the README, refactors the mod to use Mojang mappings (due to better rendering class mappings), adds AGENTS.md and other stuff.