This PR is a fix for the rendering issues found on fusion rings: (1) multiple fusion rings getting linked together, and (2) fusion rings getting rendered on another dimensions. This PR also contains number of small changes to bloom effect API.
Implementation Details
Fixed a dumb stupid idiocy from the last guy that tried to """rewrite bloom api""" by rubbing his greasy fat finger all over his keyboard with his cerebral cortex turned off and pass it as an improvement.
Added world context to bloom tickets, with automatic invalidation system that removes all tickets associated to the world on world unload event. For externally managed worlds which does not utilize world unload event, a method is available for manual removal.
Added bounding box based visibility check on existing bloom effects, which could improve performance by a minuscule amount.
Outcome
Renders
Additional Information
Did you know that e
Potential Compatibility Issues
Virtually all methods on BloomEffectUtil that uses bloom render tickets are now made thread-safe, which can incur some amount of performance loss. Hopefully not that much.
BloomEffectUtil.BloomRenderTicket#getRenderSetup and BloomEffectUtil.BloomRenderTicket#getBloomType is deprecated and marked for removal.
BloomEffectUtil#registerBloomRender has a minor contract change; now it returns an invalid ticket instead of null if optinotfine is present. This might affect API users so idk if I should revert this one or not.
What
This PR is a fix for the rendering issues found on fusion rings: (1) multiple fusion rings getting linked together, and (2) fusion rings getting rendered on another dimensions. This PR also contains number of small changes to bloom effect API.
Implementation Details
Outcome
Renders
Additional Information
Did you know that e
Potential Compatibility Issues
BloomEffectUtil
that uses bloom render tickets are now made thread-safe, which can incur some amount of performance loss. Hopefully not that much.BloomEffectUtil.BloomRenderTicket#getRenderSetup
andBloomEffectUtil.BloomRenderTicket#getBloomType
is deprecated and marked for removal.BloomEffectUtil#registerBloomRender
has a minor contract change; now it returns an invalid ticket instead ofnull
if optinotfine is present. This might affect API users so idk if I should revert this one or not.