-
Notifications
You must be signed in to change notification settings - Fork 0
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
WIP GL Acre / Pixel renderer demo #6
Draft
jcorbin
wants to merge
41
commits into
main
Choose a base branch
from
glacre
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- using glsl es 3.0 and a basic sprite billbaord deal - using OffscreenCanvas and 2d array texture - support spin - design document - background tiles - tile sheet - layered world - curved tileset demo - element oriented drawing with implicit locaiton - faceted groups of layers
- glkit low level utiltiy module - tilegen module for tileset particulars - gltiles view engine - reify texture unit cache - moved index buffer responsibility under ElementIndex - factored out TileRenderer - encapsulates drawing over many layers - abstracts gl program interface - pushes more particulars down into layer.draw() - inverts layer visibility control to the passed layer iterator - may eventually erase over a better set of gltiles components, but for now committing the sin of a "Renderer" rather than a "set of things that you can use to render" - more code moved into gldemo.js out of .html - flatten away facets in passing, just layers now - parameterize world more - imporve world generation code coherence
- concurrently from more than one shader - more than one error from a shader - more than one error per line - strip the parsed "ERROR: N:M:" prefix
- use client size of canvas - just check at the top of every frame - move utility into glkit - prior approach called out as an anti pattern: <https://webgl2fundamentals.org/webgl/lessons/webgl-anti-patterns.html>
- generation corner sourcing was always wrong - needs to be +1 cell to cover the half cell overlap all around - therefore needs to be clipped to the nominal layer bounds - add demo ui toggles
Using canvas size is an anti pattern: <https://webgl2fundamentals.org/webgl/lessons/webgl-anti-patterns.html>
- fix mustGetAttr missing check - unbind buffers for best practice
- factor out loc center offset - add input documentation
- also add ui hookup for cell and world size
Add several other options nice for testing.
Setup to evolve cell/world size change without restart
Base layer is everything but the data, leaving DenseLayer to focus solely on its cellular xy space: - uses a proxy cell object with get/set accessors - uses null to signal at-out-of-bounds, whiche seems to work better, simplyfing caller use cases more than the exception avoidant prior Plus use of tile clearing in demo fore gen loop is a step towards regenerating the demo world without fully restarting it.
Unifies array and element buffer management, replacing prior ElementIndex and much dense layer code.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.