Skip to content
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

Inline Patterns !! (and also a small little pattern rendering rework) #708

Closed
wants to merge 50 commits into from

Conversation

SamsTheNerd
Copy link
Member

This adds inline as a dependency and changes the pattern iota display to render the pattern visually rather than HexPattern(dir, angles). It also adds some Inline bits to entity iotas (currently only player heads are enabled because inline's serialization seems mildly broken but that's a future issue !)

Instead of re-implementing/copying all of the pattern rendering bits that i'd need for this though, i spent some time cleaning up and re-organizing the existing pattern rendering system. Although this is more of an additional system that helps with pattern rendering rather than a rewrite of the core RenderLib code. You can read the details of it here.

Some benefits of this new system:

  • configuring pattern rendering through clear and reuseable settings
  • less duplicate code, especially for pattern positioning
  • texture and dynamic (wobbly/gradient/renderlib one) renderers are much more in sync with eachother
    • share more code
    • almost identical outputs
    • abstracted behind PatternRenderer so you don't have to Choose which one to use, or do anything different to use the other, besides changing settings.

Some other fun changes:

  • slates glow amethyst-purple now !
  • texture rendering is split into 2 textures (inner and outer) so that textures can be re-used with different colors
  • dynamic renderer can use other shaders, formats, and vertexconsumers (this means light and normals !!)
  • scrolls & slates show their pattern in their name for better hotbar clarity.

Some images:

image image image image image

Texture renderer vs dynamic (they are almost identical lol):
image
image

…ires and organs everywhere. Moved pattern color settings out of general render settings. moved cooler render lib stuff out of wall scroll renderer. Added lighting support-ish for non-static renderer with a hacky workaround. Hooked worldly renderers up to new render system, seem to mostly work. Bunch of other little progress on render rework stuff
…ed back together with some more settings, but many quirks still. lots of messy code.
@SamsTheNerd SamsTheNerd marked this pull request as draft August 10, 2024 18:45
@SamsTheNerd
Copy link
Member Author

next inline version has some breaking changes i'd like to push in before this gets merged. can still be reviewed, all the big pattern rendering things aren't gonna change.

@SamsTheNerd
Copy link
Member Author

see #764

@SamsTheNerd SamsTheNerd closed this Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

[1.20] Key-pattern displayed on Akashic Bookshelf isn't lit correctly
1 participant