Make BufferGeometry only contain normal buffer attributes by default #432
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
GLBufferAttribute
which 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 supportGLBufferAttribute
by default, and you have to opt-in to them using a generic.What
Add an
Attributes
generic toBufferGeometry
that specifies what attributes are allowed. This is set toNormalBufferAttributes
by default, which does not allowGLBufferAttribute
. The consumer can opt-in to allowingGLBufferAttribute
s by using theNormalOrGLBufferAttributes
type or use their own type. This should also pave the way for something like #241 in the future.I only made it so that
Points
can handle a geometry withGLBufferAttribute
s for now. Presumably other objects with geometries will need to allowGLBufferAttribute
s, but I'm not sure how far to spread it right now. Hopefully we can get can feedback about this from people who actually useGLBufferAttribute
s once this is released.Checklist
master
, next goesdev
)