Acuity

Mods
1,287 Downloads Last Updated: Oct 19, 2018

Introduction

  • Acuity is a core mod with an API modders can use to implement multi-layered textures, emissive rendering and fancy visual effects (shaders) for block rendering with good performance on moderate to high-end hardware, all without using TileEntitySpecialRenderer. Future versions may also offer performance and aesthetic benefits for players.
  • This mod is client-side only and can be quickly enabled and disabled at run time via configuration settings. When the mod is disabled, the game uses normal Minecraft rendering.

For an example of what is possible with Acuity, check out Pyroclasm.

 Massive lava flows rendered with a custom Acuity pipeline

 

Source and more information can be found in the GitHub repo

Recent Updates

Alpha 456 10/12/2018

  • Improve performance under high chunk upload volume
  • Fix various rendering defects

Alpha 272 8/18/2018

  • Internal changes to vertex formats and shaders for "vanilla" lighting model. 
  • Alpha values sent by quad to lighter are no longer modified and always available as-is in the shader. (Main reason for format/shader changes.)
  • A few relatively minor optimizations - hot paths are more amenable to JIT complier inlining.
  • Added a callback for render reload cuz I needed it
  • Acuity seems to render at same brightness as normal Minecraft now, probably due to changes in light map handling.
  • Multi-layer texturing working again.

Alpha 240 8/12/2018

  • Render frame rates now slightly better than vanilla MC/Forge (on my machine, at least). See the image gallery for screenshots showing the difference.
  • API is simplified - simpler program construction and no longer an option for callbacks - was too much of a performance trap and limited approaches rendering optimization 
  • Libraries will be available on Maven - see GitHub for details
  • Now handles pre-baked light maps correctly for models that don't use the API (which right now is all of them)
  • Added configurable performance logging. (Mostly useful for me to validate Acuity is "fast enough.")

Current Features

  • Blocks should render a little faster with Acuity enabled. (See note and example below.)
  • Mod authors can create blocks with multiple texture layers (for example, base color + decorative texture + border) that render in a single pass without transparency. (It's possible to do this in vanilla, but requires three quads and possibly one or more transparency sorts unless you can get by with cutout textures.)
  • Mod authors can implement custom shaders that will be automatically activated per-quad.
  • Mod authors can use emissive rendering per-quad, and also per-texture layer within the same quad.

Side Note: About Acuity Performance

Acuity was not intended to be a performance optimization mod, but if it sacrifices performance then people won't use it.  For equivalent scenes, my goal is that Acuity will be as fast or faster even though it renders all blocks using shaders. Shaders aren't inherently slow - the opposite is true - but they have to be implemented correctly. 

Current Limitations

  • Shader code is still WIP - works but expect big changes.  
  • No enhanced lighting model is available - this will wait for MC 1.13 and LWJGL 3 support.
  • No support for animated blocks. (TESR still works.) Will probably be necessary in future for good results with enhanced lighting.
  • No support for particles or entities. Will probably be necessary in future for good results with enhanced lighting.

Mod Packs and Support

This mod is in active development and is not feature-complete nor stable. The first stable, non-alpha release will be for 1.13. There will NEVER be a non-alpha build of this mod for 1.12 and support for 1.12 will cease as soon as 1.13 Forge becomes available.  By the time this mod is stable, 1.13 should be a viable option for pack makers.

 

That all said, you MAY use this mod in ModPacks if you are willing to accept the current instability and lack of future support for 1.12.

 

This mod is licensed under the MIT license. This means no warranty is provided.  However, useful bug reports are always welcome. Please use the issue tracker for all bug reports.

Comments

  • To post a comment, please or register a new account.
Posts Quoted: