-
-
Notifications
You must be signed in to change notification settings - Fork 183
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
Add a new render state middleware #1574
Conversation
…CreateChunkBuffer(IBufferDefinition)
|
…inition in SectionRenderingContext
Mods like Sodium/Embeddium and Flywheel don't use core shaders ( |
IBufferDefinition isn’t exclusive to chunk buffer rendering, Shader params for the ShaderInstance is still needed. I am still finding a solution for the chunk buffer shader things. |
Also, sodium uses identical shader source among all terrain render passes with different shader macros to control the behavior when chunk rendering. It can be done in this solution by providing params that controls the macros (like |
06c1985
to
389fb9f
Compare
@Argon4W, this pull request has conflicts, please resolve them for this PR to move forward. |
The vast majority of this code is largely a duplication of the existing "state shards" vanilla already provides, and it's unclear what benefits it opens up to modders compared to introspecting the Given all that, the current consensus from the team is that this PR will not be merged in its current state. |
The code is aiming to provide a middleware that holds data visible to mods that has their own rendering backend, instead of opaque RenderStateShard that modifies random gl states. Therefore these mods can offer buffers or render state holders based on these params instead of hardcoded render type. The default params (seems to be the duplication of existing state shards) is necessary for building a BufferDefinition that are equally functional as the original RenderType. It provides the ability to convert the middleware to the vanilla rendering backend. |
This PR: