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

Track palette opacity through the renderer #14415

pchote opened this Issue Nov 24, 2017 · 0 comments


None yet
1 participant

pchote commented Nov 24, 2017

The depth buffer allows us to render fully opaque objects in any order without changing the final result (ignoring z-fighting). The next step of the renderer depth-buffer rewrite is to take advantage of this fact to reorder rendering by type (to reduce batch breakage) instead of by screen position.

  1. Add an Opaque (or maybe Translucent) flag to the IPalette interface
  2. Add an Opaque (or maybe Translucent) flag to the IRenderable interface, which in most implementations will return the value from the renderable's palette.
  3. Adjust the TS mod rules to provide opaque (with legacy shadow-index remapping disabled) and non-opaque versions of palettes as needed.

Most (but IIRC not all) TS artwork splits shadows into their own frames, so most of the main artwork can use opaque palettes. The stealth effect currently works by swapping palettes, so we do not need to do any additional work to support that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment