|
@@ -15296,8 +15296,7 @@ return {
|
|
module = "lovr.graphics",
|
|
module = "lovr.graphics",
|
|
related = {
|
|
related = {
|
|
"Model:getMaterialCount",
|
|
"Model:getMaterialCount",
|
|
- "Model:getMaterialName",
|
|
|
|
- "Model:getNodeDraw"
|
|
|
|
|
|
+ "Model:getMaterialName"
|
|
},
|
|
},
|
|
variants = {
|
|
variants = {
|
|
{
|
|
{
|
|
@@ -15470,154 +15469,6 @@ return {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- {
|
|
|
|
- name = "getNodeDraw",
|
|
|
|
- summary = "Get the information needed to draw one mesh in the model.",
|
|
|
|
- description = "Returns the draw mode, material, and vertex range of a mesh in the model.",
|
|
|
|
- key = "Model:getNodeDraw",
|
|
|
|
- module = "lovr.graphics",
|
|
|
|
- examples = {
|
|
|
|
- {
|
|
|
|
- code = "function lovr.load()\n local m = lovr.graphics.newModel('enraged-gorilla.gltf')\n\n model = {\n object = m,\n data = m:getData(),\n vertices = m:getVertexBuffer(),\n indices = m:getIndexBuffer()\n }\nend\n\nlocal function drawNode(model, pass, i)\n for j = 1, model.object:getNodeDrawCount(i) do\n local mode, material, start, count, base = model.object:getNodeDraw(i, j)\n local transform = mat4(model.object:getNodeTransform(i))\n\n pass:setMeshMode(mode)\n pass:setMaterial(material)\n\n if base then\n pass:mesh(model.vertices, model.indices, transform, start, count, 1, base)\n else\n pass:mesh(model.vertices, transform, start, count)\n end\n end\n\n for _, index in ipairs(model.data:getNodeChildren(i)) do\n drawNode(model, pass, index)\n end\nend\n\nfunction lovr.draw(pass)\n drawNode(model, pass, model.data:getRootNode())\nend"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- related = {
|
|
|
|
- "Pass:setMeshMode",
|
|
|
|
- "Pass:setMaterial",
|
|
|
|
- "Pass:mesh",
|
|
|
|
- "Model:getVertexBuffer",
|
|
|
|
- "Model:getIndexBuffer"
|
|
|
|
- },
|
|
|
|
- variants = {
|
|
|
|
- {
|
|
|
|
- arguments = {
|
|
|
|
- {
|
|
|
|
- name = "node",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The index of the node."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "index",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The index of the draw."
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- returns = {
|
|
|
|
- {
|
|
|
|
- name = "mode",
|
|
|
|
- type = "DrawMode",
|
|
|
|
- description = "Whether the vertices are points, lines, or triangles."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "material",
|
|
|
|
- type = "Material",
|
|
|
|
- description = "The Material used by the draw."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "start",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The offset of the first vertex in the draw."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "count",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The number of vertices in the draw."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "base",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The base vertex of the draw (added to each instance value), or nil if the draw does not use an index buffer."
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- arguments = {
|
|
|
|
- {
|
|
|
|
- name = "name",
|
|
|
|
- type = "string",
|
|
|
|
- description = "The name of the node."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "index",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The index of the draw."
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- returns = {
|
|
|
|
- {
|
|
|
|
- name = "mode",
|
|
|
|
- type = "DrawMode",
|
|
|
|
- description = "Whether the vertices are points, lines, or triangles."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "material",
|
|
|
|
- type = "Material",
|
|
|
|
- description = "The Material used by the draw."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "start",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The offset of the first vertex in the draw."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "count",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The number of vertices in the draw."
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "base",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The base vertex of the draw (added to each instance value), or nil if the draw does not use an index buffer."
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name = "getNodeDrawCount",
|
|
|
|
- summary = "Get the number of meshes attached to a node.",
|
|
|
|
- description = "Returns the number of meshes attached to a node. Each mesh is drawn individually.",
|
|
|
|
- key = "Model:getNodeDrawCount",
|
|
|
|
- module = "lovr.graphics",
|
|
|
|
- related = {
|
|
|
|
- "ModelData:getMeshCount",
|
|
|
|
- "Model:getNodeDraw"
|
|
|
|
- },
|
|
|
|
- variants = {
|
|
|
|
- {
|
|
|
|
- arguments = {
|
|
|
|
- {
|
|
|
|
- name = "index",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The index of a node."
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- returns = {
|
|
|
|
- {
|
|
|
|
- name = "count",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The number of draws in the node."
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- arguments = {
|
|
|
|
- {
|
|
|
|
- name = "name",
|
|
|
|
- type = "string",
|
|
|
|
- description = "The name of a node."
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- returns = {
|
|
|
|
- {
|
|
|
|
- name = "count",
|
|
|
|
- type = "number",
|
|
|
|
- description = "The number of draws in the node."
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
{
|
|
{
|
|
name = "getNodeName",
|
|
name = "getNodeName",
|
|
summary = "Get the name of a node in the Model.",
|
|
summary = "Get the name of a node in the Model.",
|