Make BufferGeometry only contain normal buffer attributes by default#432
Merged
Methuselah96 merged 6 commits intomasterfrom Apr 28, 2023
Merged
Make BufferGeometry only contain normal buffer attributes by default#432Methuselah96 merged 6 commits intomasterfrom
Methuselah96 merged 6 commits intomasterfrom
Conversation
GLBufferAttributes by default
cb94633 to
443b62e
Compare
GLBufferAttributes by default
MykhailoStrelnykov
pushed a commit
to Chronos-Samples/three-ts-types
that referenced
this pull request
Dec 22, 2025
…hree-types#432) * Default BufferGeometry to use normal attributes * Named types * Fix * Stricter base * Update OTHER_FILES
This file contains hidden or 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
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.
Why
Fixes #389.
#314 added support
GLBufferAttributewhich made it harder to work with attributes since a lot of three.js code doesn't consider whether an attribute could be aGLBufferAttribute. This PR reduces that friction making it so that geometries don't supportGLBufferAttributeby default, and you have to opt-in to them using a generic.What
Add an
Attributesgeneric toBufferGeometrythat specifies what attributes are allowed. This is set toNormalBufferAttributesby default, which does not allowGLBufferAttribute. The consumer can opt-in to allowingGLBufferAttributes by using theNormalOrGLBufferAttributestype or use their own type. This should also pave the way for something like #241 in the future.I only made it so that
Pointscan handle a geometry withGLBufferAttributes for now. Presumably other objects with geometries will need to allowGLBufferAttributes, but I'm not sure how far to spread it right now. Hopefully we can get can feedback about this from people who actually useGLBufferAttributes once this is released.Checklist
master, next goesdev)