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

refactor: Renderer simplification and Render plugins #2185

Merged
merged 20 commits into from
Jan 9, 2022

Conversation

eonarheim
Copy link
Member

@eonarheim eonarheim commented Jan 8, 2022

===:clipboard: PR Checklist :clipboard:===

  • 📌 issue exists in github for these changes
  • 🔬 existing tests still pass
  • 🙈 code conforms to the style guide
  • 📐 new tests written and passing / old tests updated with new scenario(s)
  • 📄 changelog entry added (or not needed)

==================

This PR simplifies the renderer code to prepare for custom render plugins, this will allow custom renderers with custom shaders to be built into excalibur.

Changes:

  • Add border drawing to circles and rectangles 🎉
  • Split the monolithic style renderer into separate internal renderer plugins
  • Improve the Shader code abstractions, adds a safety feature and error logging to avoid common shader/webgl issues
  • Remove complicated pooling strategy, and remove Poolable which is invalid in stricter TS (mentioned in Error when build using Vite #2157)

@eonarheim eonarheim added the work-in-progress A work in progress pull request, will not be merged until this is removed label Jan 8, 2022
@github-actions github-actions bot added the enhancement Label applied to enhancements or improvements to existing features label Jan 8, 2022
@eonarheim eonarheim changed the title refactor: Renderer simplification and refactoring to prepare for render plugins refactor: Renderer simplification and Render plugins Jan 8, 2022
@eonarheim eonarheim merged commit 78de713 into main Jan 9, 2022
@eonarheim eonarheim deleted the feature/shader-refactor branch January 9, 2022 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Label applied to enhancements or improvements to existing features work-in-progress A work in progress pull request, will not be merged until this is removed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant