UNPKG

@bottobot/td-mcp

Version:

TouchDesigner Documentation MCP Server v2.3 - Pure MCP server for VS Code/Codium with comprehensive operator documentation for 629 operators + 7 tutorials across all categories (TOP, CHOP, SOP, DAT, MAT, COMP, POP). Features experimental POP operators wit

572 lines 27.9 kB
{ "id": "lod_sop", "name": "LOD SOP", "displayName": "LOD SOP", "category": "SOP", "subcategory": "Generators", "version": "", "lastUpdated": "2025-08-07T07:50:03.434Z", "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\LOD_SOP.htm", "url": "", "description": "The LOD SOP is unusual in so far as it does not actually alter any geometry. Instead it builds a level of detail cache for the input object. The cache to be drawn is based upon the distance to the camera. Thus, a complicated object will be drawn with a lower level of detail when it is farther away.", "summary": "The LOD SOP is unusual in so far as it does not actually alter any geometry. Instead it builds a level of detail cache for the input object. The cache to be drawn is based upon the distance to the cam", "details": "", "usage": "", "tips": [], "warnings": [], "parameters": [ { "id": null, "name": "Step %", "label": "Step %", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe LOD is unusual in so far as it does not actually alter any geometry. Instead it builds a level of detail cache for the input object. The cache to be drawn is based upon the distance to the camera. Thus, a complicated object will be drawn with a lower level of detail when it is farther away.\nThe second input is the Rest . If provided, this is the geometry wich will be used to do the (expensive) polygon reduction, and only the points of the left input will be used.\nlodSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n steppercent - Each successive level of detail will contain approximately this percentage on the number of polygons in the higher level of detail.\n\n\n\t\n distance - This is the distance from the camera at which full detail will be present.\n\n\n\t\n minpercent - The objects won't be drawn with fewer than this number of polygons.\n\n\n\t\n borderweight - The amount of weight to avoid erosion of boundary polygons.\n\n\n\t\n lengthweight - The amount of weight to favour even sized polygons.\n\n\n\t\n triangulate - Polygons can only be reduced if they are triangles. This option thus first converts them.\n\n\n\t\n tstrips - When set, triangle strips will be generated and used for drawing.\n\n\n\t\n polysonly - If this is enabled, only the polygonal portion of the model will be displayed at lower levels of detail. Otherwise, all types of surfaces are affected by the distance to the camera.\n\n\n\n\n\n -\n -\n\nExtra Information for the LOD can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nThe 3D data held in SOPs and passed for rendering by the Geometry COMP.\n\n\n\nRendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=LOD_SOP&oldid=24203\"\n\t\tCategory: SOPs", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.432Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Step %", "label": "Step %", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe LOD is unusual in so far as it does not actually alter any geometry. Instead it builds a level of detail cache for the input object. The cache to be drawn is based upon the distance to the camera. Thus, a complicated object will be drawn with a lower level of detail when it is farther away.\nThe second input is the Rest . If provided, this is the geometry wich will be used to do the (expensive) polygon reduction, and only the points of the left input will be used.\nlodSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n steppercent - Each successive level of detail will contain approximately this percentage on the number of polygons in the higher level of detail.\n\n\n\t\n distance - This is the distance from the camera at which full detail will be present.\n\n\n\t\n minpercent - The objects won't be drawn with fewer than this number of polygons.\n\n\n\t\n borderweight - The amount of weight to avoid erosion of boundary polygons.\n\n\n\t\n lengthweight - The amount of weight to favour even sized polygons.\n\n\n\t\n triangulate - Polygons can only be reduced if they are triangles. This option thus first converts them.\n\n\n\t\n tstrips - When set, triangle strips will be generated and used for drawing.\n\n\n\t\n polysonly - If this is enabled, only the polygonal portion of the model will be displayed at lower levels of detail. Otherwise, all types of surfaces are affected by the distance to the camera.\n\n\n\n\n\n -\n -\n\nExtra Information for the LOD can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nThe 3D data held in SOPs and passed for rendering by the Geometry COMP.\n\n\n\nRendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=LOD_SOP&oldid=24203\"\n\t\tCategory: SOPs", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.433Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Step %", "label": "Step %", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "The LOD is unusual in so far as it does not actually alter any geometry. Instead it builds a level of detail cache for the input object. The cache to be drawn is based upon the distance to the camera. Thus, a complicated object will be drawn with a lower level of detail when it is farther away.\nThe second input is the Rest . If provided, this is the geometry wich will be used to do the (expensive) polygon reduction, and only the points of the left input will be used.\nlodSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n steppercent - Each successive level of detail will contain approximately this percentage on the number of polygons in the higher level of detail.\n\n\n\t\n distance - This is the distance from the camera at which full detail will be present.\n\n\n\t\n minpercent - The objects won't be drawn with fewer than this number of polygons.\n\n\n\t\n borderweight - The amount of weight to avoid erosion of boundary polygons.\n\n\n\t\n lengthweight - The amount of weight to favour even sized polygons.\n\n\n\t\n triangulate - Polygons can only be reduced if they are triangles. This option thus first converts them.\n\n\n\t\n tstrips - When set, triangle strips will be generated and used for drawing.\n\n\n\t\n polysonly - If this is enabled, only the polygonal portion of the model will be displayed at lower levels of detail. Otherwise, all types of surfaces are affected by the distance to the camera.\n\n\n\n\n\n -\n -\n\nExtra Information for the LOD can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nThe 3D data held in SOPs and passed for rendering by the Geometry COMP.\n\n\n\nRendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=LOD_SOP&oldid=24203\"", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Step %", "label": "Step %", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "steppercent - Each successive level of detail will contain approximately this percentage on the number of polygons in the higher level of detail.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Dist. Threshhold", "label": "Dist. Threshhold", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "distance - This is the distance from the camera at which full detail will be present.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Minimum %", "label": "Minimum %", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "minpercent - The objects won't be drawn with fewer than this number of polygons.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Stiffen Border", "label": "Stiffen Border", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "borderweight - The amount of weight to avoid erosion of boundary polygons.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Equalize Edges", "label": "Equalize Edges", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "lengthweight - The amount of weight to favour even sized polygons.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Pre-Triangulate", "label": "Pre-Triangulate", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "triangulate - Polygons can only be reduced if they are triangles. This option thus first converts them.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Optimize Rendering", "label": "Optimize Rendering", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "tstrips - When set, triangle strips will be generated and used for drawing.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Only Affect Polygons", "label": "Only Affect Polygons", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "polysonly - If this is enabled, only the polygonal portion of the model will be displayed at lower levels of detail. Otherwise, all types of surfaces are affected by the distance to the camera.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:03.434Z", "rawData": {}, "sourceElement": null } ], "parameterGroups": {}, "codeExamples": [], "pythonExamples": [], "expressions": [], "commonInputs": [], "commonOutputs": [], "relatedOperators": [], "workflowPatterns": [], "images": [], "videos": [], "assets": [], "keywords": [ "lod", "sop", "unusual", "actually", "alter", "geometry.", "instead", "builds", "level", "detail", "cache", "input" ], "tags": [ "SOP", "TouchDesigner", "LOD SOP" ], "searchWeight": 1, "contentHash": "", "processingDate": "2025-08-07T07:50:03.434Z", "processingVersion": "1.0.0", "isValid": true, "validationErrors": [] }