| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- return {
- summary = 'Attach attributes from another Mesh onto this one.',
- description = [[
- Attaches attributes from another Mesh onto this one. This can be used to share vertex data
- across multiple meshes without duplicating the data, and can also be used for instanced
- rendering by using the `divisor` parameter.
- ]],
- arguments = {
- mesh = {
- type = 'Mesh',
- description = 'The Mesh to attach attributes from.'
- },
- divisor = {
- type = 'number',
- default = '0',
- description = 'The attribute divisor for all attached attributes.'
- },
- attributes = {
- type = 'table',
- description = 'A table of attribute names to attach from the other Mesh.'
- },
- ['...'] = {
- type = 'string',
- description = 'The names of attributes to attach from the other Mesh.'
- }
- },
- returns = {},
- variants = {
- {
- description = 'Attach all attributes from the other mesh.',
- arguments = { 'mesh', 'divisor' },
- returns = {}
- },
- {
- arguments = { 'mesh', 'divisor', '...' },
- returns = {}
- },
- {
- arguments = { 'mesh', 'divisor', 'attributes' },
- returns = {}
- }
- },
- notes = [[
- The attribute divisor is a number used to control how the attribute data relates to instancing.
- If 0, then the attribute data is considered "per vertex", and each vertex will get the next
- element of the attribute's data. If the divisor 1 or more, then the attribute data is
- considered "per instance", and every N instances will get the next element of the attribute
- data.
- To prevent cycles, it is not possible to attach attributes onto a Mesh that already has
- attributes attached to a different Mesh.
- ]],
- related = {
- 'Mesh:detachAttributes',
- 'Mesh:drawInstanced'
- }
- }
|