

| modules | Provides functionality to access Octane external modules. |
| rendercloudmanager | Provides functionality for interacting with cloud rendering services. |
| matrix | Provides functionality for operations on 3x4 matrices. 3x4 matrices are stored in row-major order as a table of 3 rows, specified as 4-arrays each. |
| vec | Provides functionality for operations on 3D vectors. 3D vectors are stored and handled as 3D arrays. |
| util | Provides various handy utility functions. |
| json | Read and write JSON |
| octane | Global module that contains the Lua API for OctaneRender. |
| livedb | Live DB API |
| settingsgroup | Define a group of settings which can be shown and edited in a dialog window. |
| project | Functionality to manage Octane projects. Scripted graphs loaded as part of a project will always return properties from the project which is being loaded. When importing a node graph into the current project, the referenced project will still be the current project |
| geometryexporter | This module allows you to construct exporters which can write animated geometry to an Alembic file. |
| file | Provides portable file system functionality. |
| package | Provides a way to inspect assets in a package. |
| storage | This module gives access to permanent storage of settings and data. Depending on how a script is run it may contain one or more tables whose content is persistent between subsequent executions of a script.
To have persistent storage available the script must declare a script id in the header as follows:
-- @script-id |
| packagefile | A packagefile references a file inside a package which is opened for reading. It has the same interface as the objects returned by io.open(). |
| scriptgraph | This module contains functions specific to scripted node graphs. It is only available to the scripts embedded in such graphs. A script in a scripted graph must return a Lua table. The scripted graph keeps a reference to this table until the graph is destroyed, or until it loads a new script. The table may contain callback functions to update the node graph contents in response to changes in the inputs of the graph. You define callbacks by putting a function with the name of the callback in the returned table. The API will assign a meta table referencing this module to the returned table, so in the callbacks you can use the short form self:someFunction(...) to call functions in this module. The API will also put additional values into the returned table. To ensure future updates won't break your script, you should not use the following keys for your own purposes: - any key starting with "on", followed by a capital letter (reserved for callbacks); - any key starting with an underscore "_" (the API may overwrite those). A couple of functions take pin infos. You can define a pin info in two ways: - Specify the type directly: The "type" (pin type ID) and "label" (string) keys are required. Pin infos can be customized by setting properties as described in PROPS_BOOL_PIN_INFO, PROPS_ENUM_PIN_INFO, PROPS_FLOAT_PIN_INFO, PROPS_INT_PIN_INFO, PROPS_STRING_PIN_INFO, PROPS_TEXTURE_PIN_INFO, PROPS_TRANSFORM_PIN_INFO. - Use an info of an existing node: "label" (string), "fromNodeType" (node type ID) and "fromPinId" (pin ID) keys are required. This is an example script showing the basic concepts: local MyGraphScript = {} -- variables declared in the script scope are visible for all functions in our -- script for as long as the scripted graph is not deleted or reloaded (in -- programming terms, our two functions become "closures"). local inputs, tex -- onInit function, this is called once in the beginning. function MyGraphScript.onInit(self, graph) -- input and output infos local inputInfos = { {type=octane.PT_TEXTURE, label="RGB", defaultNodeType=octane.NT_TEX_RGB} } local outputInfos = { {type=octane.PT_TEXTURE, label="RGB"} } -- use these functions to set up input and output linkers. This will keep -- existing linkers so existing connections in the parent graph are kept. inputs = graph:setInputLinkers(inputInfos) local outputs = graph:setOutputLinkers(outputInfos) -- set up a node to give the graph some output value tex = octane.node.create{ type=octane.NT_TEX_RGB, name="color", graphOwner=graph } outputs[1]:connectTo("input", tex) end -- this function is called every time the value of an input linker changes function MyGraphScript.onEvaluate(self, graph) -- the scriptgraph object has a special function to read input values local rgb = self:getInputValue(inputs[1]) -- set some output value. (for example, rotate the RGB channels) tex:setAttribute("value", {rgb[3], rgb[1], rgb[2]}) end -- default name MyGraphScript._name = "Example" -- In lua, a script is run as if the script defines a function body, so -- like in a function you may return a value return MyGraphScript |
| nodegraph | Provides functionality to manipulate Octane's node graphs. |
| help | Provides help functionality while developing Lua scripts for Octane. |
| changemanager | Provides functionality to listen to changes in Octane's node system or force an update after making a set of changes. An observer can be used to observe either item changes or time changes. The observer must be in scope to receive the events. Example usage: -- Create a new observer. myObserver = createObserver({itemChangeCallback = myCallback}). -- Start observing an item. octane.changemanager.observeItem(item, myObserver, eventMask) -- Observe a second item, using the same callback. octane.changemanager.observeItem(otherItem, myObserver, eventMask) -- Stop observing a particular item. octane.changemanager.stopItemObserver(myObserver, item) -- Stop observing all items. octane.changemanager.stopItemObserver(myObserver) |
| node | Provides functionality to manipulate Octane's node system. |
| apimaterialx | Provides functionality relating to MaterialX support in Octane and for integrations |
| image | Provides functionality to create and manipulate images. |
| caches | Function to interact with the Octane file caches, e.g. the meshlet cache. |
| gui | Provides functionality to create user interfaces on top of Octane. This module cannot be used by scripted graphs. |
| apiinfo | Provides functionality to get information about the API. |
| mt19937 | 32-bit Mersenne Twister 19937 pseudo-random number generator functions. Use this for a consistent cross-platform engine instead of the built-in math.random().. |
| Overview | There are currently 3 ways to write Lua code in OctaneRender: In a Lua script, in a Lua script graph and in a render job graph. You will find more details about those below. In general, you can use all functionality of the Lua language (OctaneRender uses currently version 5.3) as well as additional functions provided by OctaneRender to interact with Octane, the project and rendering. The Lua documentation portal can be found under the URL: https://www.lua.org/docs.html And the Lua 5.3 reference manual can be found here: https://www.lua.org/manual/5.3 The Lua API of OctaneRender is documented in the Lua API browser (which you are using right now). Another source of information are the Lua scripts and render jobs distributed with the Standalone. And last but not least you can find a lot of valuable information and exisiting scripts on our dedicated Lua scripting forum: https://render.otoy.com/forum/viewforum.php?f=73 === LUA SCRIPTS === Lua scripts can be either written directly in the Lua script editor and run from there. Or you create a file with suffix .lua in the Lua script directory that is set in the application preferences. All scripts in that directory will appear in the script menu. To run a Lua script you either select it from the script menu or you select it in the Lua script editor and click on the run button. Alternatively you can assign a keyboard shortcut via the metadata section (see below) and run the script this way. === LUA SCRIPT GRAPHS === Lua script graphs allow you to add new functionality to the node system of OctaneRender. Examples would be a script graph that allows you to switch between multiple inputs or a script graph that moves a camera along a circle. Fundamentally a Lua script graph consists of a special node graph with an assigned Lua script. This script can then create inputs and outputs of the node graph and any other node items it needs. Then whenever the time or its inputs are changed it can update the content of the node graph. For more information about writing a Lua script graph please read the documentation of the module "scriptgraph" in the Lua API browser. To create a new Lua script graph, select "Other" -> "Scripted graph" in the item dropdown menu of the node graph editor. Then start writing the Lua code. To reuse finished Lua script graphs you can either export it into a ORBX package or store it in the Local DB. Alternatively, you can add a defined category in the metadata (see below) of the Lua script and save the Lua script in the Lua script directory. After re-scanning the folder, the Lua script graph will appear as an option in the new item context menu. === RENDER JOB GRAPHS === Render job graphs are a Lua script graphs with additional callbacks so that they can be integrated into the render job render flow. For more information please consult the documentation of the module "renderjobgraph" or check out the examples we distribute with the Standalone. === METADATA === In the header of a Lua script you can define additional metadata to help the user and allow a better integration of the Lua script in the OctaneRender user interface. These are the possible fields you can define: @author - Author(s) of the script. @description - Short description of the script and what it does. @version - Version of the script. @script-id - A string unique to this script, used to identify stored script settings and data. See storage module for more details. Not valid for Lua script graphs and render job graphs. @shortcut - Shortcut key to execute the script. The shortcut should specify a key plus an optional modifier, e.g "ALT + S". The list of assigned shortcuts can be found in tab "Shortcuts" of the OctaneRender application preferences. Not valid for Lua script graphs and render job graphs. @node-registry-category - Category under which a Lua script graph registers in the node registry. Must start with "|" followed by any categories and the name under which the script graph should appear in the node graph context menu. For example, "|My script graphs|Awesome graphs|Make movie" will appear in the category "My script graphs" -> "Awesome graphs" with the menu entry "Make movie". Valid only for Lua script graphs. |
| timer | Call functions after certain time-outs. Timers can't run while other Lua code is running. Setting a timer is meaningful in these situations: - standalone scripts can receive timer events during blocking function calls (such as octane.render.start or window:showWindow()); - scripted graphs can receive timer events between onEvaluate calls. |
| renderjobgraph | The render job graph is a special type of script graph, with additional features to support us with the render functions(Eg: Batch render). The main purpose of this render job will be that the render settings can be saved with the project. The render job graph will also allow us with additional options like creating multiple render job nodes for different settings Batch render job, Daylight animation job, Turntable animation job scripts are shipped with OctaneRender. These render job graphs can be created from the node graph editor context menu. Script: Please read the script graph to find out, how to use Lua script in the script graph. The attributes of the render job graph listed under GT_RENDER_JOB, this can be viewed in the items window. Two important attributes of the render job graph are described below. 1. A_TOTAL_FRAMES (write) : The script has to specify a total number of the frames exists in this render job. The number should be grand total count of all the render target animation frames (ie if animation frames = 30 and input render target count is 3 then total frames for this render job is 90) Eg: graph:setAttribute(octane.A_TOTAL_FRAMES, 90) 2. A_OUTPUT_DIRECTORY (read) : Location on the disk where we need to save the rendered files. This is set from the render job user interface. Eg: graph:getAttribute(octane.A_OUTPUT_DIRECTORY) Additional callbacks: In addition to the script graph OnInit(), onEvaluate(), OnShutdown(), this render job graph has four additional callback functions. onIterate, onSaveRenderedFrame, onStartIteration, onFinishIteration For detailed description, please click on the callbacks names listed in the members window |
| render | Provides functionality to do rendering: configuring render devices (GPUs), modifying the clay mode, starting and stopping the render engine and saving render results as images to disk. |
| gridlayout | Arranges its child components into a resizable grid layout. The grid itself is not visible. The grid arranges cells in rows or columns. Cells can be empty or components can occupy multiple grid cells. Cells can also contain nested grids. The grid can stretch beyond its initial size but it cannot shrink beyond its initial size. You should setup the grid with the minimum initial size of the components. A grid layout can only be added to a window via the gridLayout property. Here's a usage example of the grid layout: local layout = octane.gridlayout.create() layout:startSetup() local row = 1 local title = octane.gui.create{ type=octane.componentType.TITLE_COMPONENT, text="Settings" } layout:add(title, 1, row) row = row + 1 local button1 = octane.gui.create{ type=octane.componentType.BUTTON, text="First button" } layout:add(button1, 1, row) row = row + 1 local button2 = octane.gui.create{ type=octane.componentType.BUTTON, text="Second button" } layout:add(button2, 1, row) row = row + 1 layout:setElasticityForAllRows(0) layout:endSetup() local window = octane.gui.create { type = octane.gui.componentType.WINDOW, text = "Grid layout", gridLayout = layout, -- grid is resized to fit the window width = 480, height = 640, } window:showWindow() |
| common | Provides common functionality used everywhere in scripts. |
Provides functionality to access Octane external modules.
| octane.modules.getCommandModules | Returns a table with the IDs of available external command modules. |
| octane.modules.getDirectory | Returns the current directory from where Octane loads external modules. |
| octane.modules.getModuleInfo | Returns module information for the passed module Id. |
| octane.modules.getNodegraphModules | Returns a table with the IDs of available external node graph modules. |
| octane.modules.runCommandModule | Execute a command module |
| octane.modules.setDirectory | A directory from which modules will be loaded. The alternate method is to get the application preferences node and set the path in the A_MODULES_DIRECTORY attribute. NOTE: Modules are only loaded during application start. If a new path is set you will have to restart Octane in order to load the new modules. |
| octane.modules.PROPS_MODULE_INFO | Properties of an Octane module. |
Provides functionality for interacting with cloud rendering services.
| octane.rendercloudmanager.newRenderTask | Opens a Web UI for creating a new render task. Has no effect if no user is currently logged in. |
| octane.rendercloudmanager.uploadCurrentProject | Uploads the current project to the server. The project name on the server will be the name of the root node graph of the project. Has no effect if no user is currently logged in. If passing in a function to missingFileCallback, the signature is: proceed = onUpdateCallback(percent) - percent (number): current upload percent from 0 to 100; - proceed (bool): whether the upload must continue after the callback returns. |
| octane.rendercloudmanager.uploadRootNodeGraph | Uploads a root node graph together with the current project settings to the server. The project name on the server will be the name of the root node graph of the project. Has no effect if no user is currently logged in. If passing in a function to missingFileCallback, the signature is: proceed = onUpdateCallback(percent) - percent (number): current upload percentage from 0 to 100; - proceed (bool): whether the upload must continue after the callback returns. |
| octane.rendercloudmanager.userSubscriptionInfo | Populates the provided table with the information for the current user's subscription. |
| octane.rendercloudmanager.PROPS_RENDER_CLOUD_UPLOAD_RESULTS | Upload results returned by octane.rendercloudmanager.uploadCurrentProject and octane.rendercloudmanager.uploadRootNodeGraph. |
| octane.rendercloudmanager.PROPS_RENDER_CLOUD_USER_SUBSCRIPTION_INFO_RESULTS | Data provided by the server about the current user's subscription status. |
Provides functionality for operations on 3x4 matrices. 3x4 matrices are stored in row-major order as a table of 3 rows, specified as 4-arrays each.
| octane.matrix.add | Returns the sum of 2 matrices. |
| octane.matrix.divScalar | Divides each element of the matrix with the scalar value. |
| octane.matrix.getIdentity | Returns the identity matrix. |
| octane.matrix.inverse | Returns the inverse of the matrix. |
| octane.matrix.isSingular | Check if this matrix is singular. |
| octane.matrix.lerp | Interpolates the values of the matrices with the weight t. (e.g Rij = (1 - t ) * Aij + t * Bij) |
| octane.matrix.make2dTransformation | Creates a 2d transformation matrix. |
| octane.matrix.make3dTransformation | Creates a 3d transformation matrix. |
| octane.matrix.makeRotX | Creates a rotation matrix of a rotation around the X axis. |
| octane.matrix.makeRotY | Creates a rotation matrix of a rotation around the Y axis. |
| octane.matrix.makeRotZ | Creates a rotation matrix of a rotation around the Z axis. |
| octane.matrix.makeRotation | Creates a rotation matrix for Euler angles. |
| octane.matrix.makeScale | Creates a scale matrix. |
| octane.matrix.makeTranslation | Creates a translation matrix. |
| octane.matrix.mul | Returns the product of 2 matrices. |
| octane.matrix.mulP | Returns the product of a matrix and a vec, applying translation to the vec. |
| octane.matrix.mulScalar | Multiplies each element of the matrix with the scalar value. |
| octane.matrix.mulV | Returns the product of a matrix and a vec, not applying translation to the vec. |
| octane.matrix.scale | Applies a scale to the matrix. |
| octane.matrix.split | Converts a matrix into rotation/scale/translation. Only orthogonal matrices can be represented (more or less) exactly by these 3 vectors. If the matrix is not orthogonal, we try to make a best guess, depending on the rotation order: We will keep the axis of the rightmost rotation operation and the plane of the axis' of the leftmost and the rightmost rotation operations, e.g.: If the rotation order is ROT_XYZ, we keep the Z axis and the X and Z axis' stay in their original plane. |
| octane.matrix.sub | Returns the difference of 2 matrices. |
| octane.matrix.translate | Applies a translation to the matrix. |
| octane.matrix.transpose | Returns the transpose of the matrix. |
| octane.matrix.rotationOrder | Rotation orders for matrix rotations. The rotationsare interpreted as intrinsic rotations, i.e. subsequent rotations happen in the rotated coordinate system. |
Provides functionality for operations on 3D vectors. 3D vectors are stored and handled as 3D arrays.
| octane.vec.add | Returns the sum of 2 vectors. |
| octane.vec.cross | Returns the cross product of 2 vectors. |
| octane.vec.dot | Returns the dot product of 2 vectors. |
| octane.vec.length | Returns the length of a vector. |
| octane.vec.lerp | Interpolates the values of the vectors with the weight t. (e.g result.x = (1 - t ) * v.x + t * w.x) |
| octane.vec.normalized | Returns a normalized vector. |
| octane.vec.rotate | Rotates a vector around an axis. (The axis must be normalized.) |
| octane.vec.scale | Returns a vector multiplied with a scalar. |
| octane.vec.sub | Returns the difference of 2 vectors. |
Provides various handy utility functions.
| octane.util.boxPointer | Boxes a pointer from LuaJIT. The pointer will be boxed in a light user data. The way to to this is pass in the results of tonumber(ffi.cast('intptr_t', ffi.cast('void*', ptr))). |
| octane.util.crashMe | |
| octane.util.floatRange | Returns a range for float inputs. If any of the inputs is nil it is substituted with respectively a large negative or large positive value which is normally the default for a pin range. |
| octane.util.generateUid | Generates a 16 byte unique identifier. |
| octane.util.getCurrentMillis | Returns the elapse milliseconds since a fixed event (the semantics of the fixed event is system dependent -- usually this is system startup). The accuracy of this timer is system dependent. |
| octane.util.intRange | Returns a range for integer inputs. If any of the inputs is nil it is substituted with respectively a large negative or large positive value which is normally the default for a pin range. |
| octane.util.updateFlag | Updates a runtime flag with the provided value. |
| octane.util.PROPS_C_ARRAY | Table wrapping a C-Array. |
Read and write JSON
| octane.json.decode | Parse a JSON string Limitations: - Lua uses the same representation for empty objects and empty arrays. - Lua does not represent nil values in tables. Such key/value pairs will be lost. - Due to the above, if an array contains null elements, the resulting Lua table will not be a sequence. |
| octane.json.encode | Serialize a Lua value to a JSON string |
Global module that contains the Lua API for OctaneRender.
| octane.octane.analyticLightType | The type of analytic lights. |
| octane.octane.animationTimeTransformType | The type of the time transform |
| octane.octane.animationType | Type of animation used |
| octane.octane.asPixelGroupMode | Adaptive Sampling mode for grouping nearest pixels |
| octane.octane.attributeId | IDs for attributes available. |
| octane.octane.attributeType | Types of attributes available. |
| octane.octane.bakingTextureType | Texture type for baking texture nodes. |
| octane.octane.binaryOperation | Binary math operations for nodes NT_TEX_MATH_BINARY and NT_FLOAT_MATH_BINARY. |
| octane.octane.blendMode | Blend modes for composite textures and composite AOVs. |
| octane.octane.blendRegionMask | Flags to control which parts of a background and foreground image to include when blending two images together. |
| octane.octane.borderMode | The different border modes supported by the image texture nodes. The value is set by the enum pins P_BORDER_MODE_U and P_BORDER_MODE_V. |
| octane.octane.brdfModel | TODO: to be removed |
| octane.octane.builtinGraphId | Builtin graph IDs. |
| octane.octane.bxDFDiffuseModel | Diffuse BxDF models supported by Octane |
| octane.octane.bxDFSheenModel | Sheen BxDF models supported by Octane |
| octane.octane.bxDFSpecularModel | Specular BxDF models supported by Octane |
| octane.octane.bxDFTranmissionType | BxDF transmission types |
| octane.octane.bxDFUniversalModel | BxDF selection by Universal Material |
| octane.octane.cacheStatus | Describes the status of a file cache |
| octane.octane.changeEventType | The various node system event we have. For events, exactly one of these flags will be set. |
| octane.octane.channelGroups | |
| octane.octane.channelMapping | The channel mappings supported by NT_TEX_IMAGE_ADJUSTMENT. |
| octane.octane.channels | Describes how an image should be loaded. |
| octane.octane.cinema4dNoiseType | Types of Cinema4D noise |
| octane.octane.clayMode | The different clay modes we currerntly support. |
| octane.octane.colorChannelType | Color channel types used for channel selection. |
| octane.octane.colorPickerBoxDisplay | Display in the color box |
| octane.octane.colorPickerSpace | Color space used for color picking. Used in the application preferences. |
| octane.octane.colorSpaceConversion | Color space conversions. Different subsets are supported by NT_TEX_COLOR_SPACE_CONVERSION, NT_TEX_CHANNEL_MERGE, and NT_TEX_CHANNEL_PICK. |
| octane.octane.colorSpaceCurveType | Curve types that different color spaces can have. This does not fully specify the exact transfer function, but gives an indication as to the general purpose of curve. |
| octane.octane.comparisonOperation | Comparison operations supported by the Comparison texture node (NT_TEX_COMPARE), Comparison composite texture layer (NT_TEX_COMPOSITE_LAYER_COMPARISON), and value nodes NT_{FLOAT,INT}_RELATIONAL_OPERATOR. |
| octane.octane.compilationResult | Result of compiling code |
| octane.octane.componentPickerOperation | Component picker operation types supported by NT_{FLOAT,INT}_COMPONENT_PICKER. |
| octane.octane.componentType | GUI widget types. |
| octane.octane.compositeAlphaOperation | Types of alpha operation available for composite system. |
| octane.octane.compositeOperation | The Porter-Duff composite operations with some additional variations. |
| octane.octane.coordinateAxis | Coordinate system axes used by NT_TEX_WAVE_PATTERN. |
| octane.octane.coordinateSystem | Coordinate spaces used by NT_TEX_POSITION, NT_TEX_RAY_DIRECTION and NT_TEX_NORMAL. |
| octane.octane.cryptomatteType | Types of cryptomatte we can render. |
| octane.octane.curvatureModes | The mode for the various curvature components used in curvature texture node |
| octane.octane.customAov | IDs we use to identify custom AOVs. |
| octane.octane.customAovChannel | The custom AOV channel we can write to. |
| octane.octane.customAovSecondaryRayVisibility | The options we have for secondary rays. |
| octane.octane.customCurveMode | The different ways we can apply a custom curve to an RGB color. |
| octane.octane.daylightModel | The different models we support in the daylight environment node. The value is set by the enum pin P_MODEL. |
| octane.octane.decalTextureIndex | |
| octane.octane.denoiserQuality | Supported denoiser quality settings. These are currently only used with the Open Image Denoise library. |
| octane.octane.denoiserType | |
| octane.octane.dialogIconType | Icon types for dialogs. |
| octane.octane.dialogType | Dialog types. |
| octane.octane.directLightMode | Global illumination modes of the direct lighting kernel. |
| octane.octane.dispersionModel | Dispersion models |
| octane.octane.displacementDirection | The direction used to displace the surface |
| octane.octane.displacementLod | The levels of details we currently support in displacement mapping. |
| octane.octane.displacementMapType | Vertex displacement texture type |
| octane.octane.displacementQuality | Quality of the displacement mapping. Normal corresponds to the legacy displacement. |
| octane.octane.displacementTextureAxes | Vertex displacement map axes |
| octane.octane.displacementTextureSpace | Vertex displacement texture space |
| octane.octane.distanceMode | Distance mode used by NT_TEX_RELATIVE_DISTANCE. |
| octane.octane.eventType | GUI event types. |
| octane.octane.expandContractRgbMode | RGB mode used by NT_OUTPUT_AOV_LAYER_EXPAND_CONTRACT. This determines how to how to treat the RGB channels (the alpha channel is always treated as a mask). |
| octane.octane.exportAovsType | The types of render passes export. |
| octane.octane.exportState | States a scene export can be. |
| octane.octane.exrCompressionType | Compression type for OpenEXR file export. |
| octane.octane.falloffTextureMode | The various modes we support in the falloff texture. |
| octane.octane.filterType | Supported filter types |
| octane.octane.fractalNoiseMode | The noise modes for NT_TEX_FRACTAL_NOISE. |
| octane.octane.gaussianSplatClipMode | The way Gaussian splat clouds are clipped |
| octane.octane.gaussianSplatLightingMode | The way Gaussian splats interact with lights |
| octane.octane.geometryExportFormat | Export formats we support |
| octane.octane.geometryImportObjectLayers | Specifies how objects in a mesh node should be treated on import. value is set in the A_GEOIMP_OBJECT_LAYER_IMPORT attribute of the NT_GEO_MESH node. |
| octane.octane.geometryImportScale | The various units we support during the geometry import. It's basically the unit used during the export of the geometry. Used in the import preference attribute A_GEOIMP_SCALE_UNIT_TYPE. |
| octane.octane.globalLightIdMaskAction | Available actions on the global light IDs mask. |
| octane.octane.globalTexAvo | IDs we use to identify global texture AOVs. |
| octane.octane.gradientGeneratorType | Gradient types supported by the 'Gradient generator' texture node (NT_TEX_GRADIENT_GENERATOR). |
| octane.octane.gradientInterpColorSpace | Gradient interpolation color spaces that we support. |
| octane.octane.gradientInterpType | Gradient interpolation methods that we support. |
| octane.octane.graphType | Types of node graphs available. |
| octane.octane.hairInterpolationType | Hair gradient interpolation types. These specify how the hair segment W coordinates are calculated to fetch the actual value in the gradient texture. |
| octane.octane.hairMaterialBaseColorMode | Hair material base color modes. |
| octane.octane.iesPhotometryMode | IES photometry modes |
| octane.octane.imageChannelType | Image channel types. |
| octane.octane.imageColorType | Image color types. |
| octane.octane.imageFilterType | Filter types to use when resampling an image. |
| octane.octane.imageMaskSource | Ways to get a mask value from an RGBA color in the output AOV compositor and composite texture. |
| octane.octane.imageSaveFormat | The supported image file formats for saving render results. |
| octane.octane.imageSaveType | @deprecated Use ImageSaveFormat and/or NamedColorSpace instead. |
| octane.octane.imageType | The various image types we support in the image texture node. Used in the image texture node attribute A_TYPE. |
| octane.octane.importRestAttributesMode | Ways to import the rest attributes for fbx and alembic files |
| octane.octane.infoChannelSamplingMode | Modes for deciding whether or not to do pixel filtering for most info passes. |
| octane.octane.infoChannelType | The types of data the info channels kernel can render |
| octane.octane.inputAction | Input actions for nodes with attribute A_INPUT_ACTION. The attribute is of type AT_INT2. The first component identifies the action and the second the index of the movable input which specifies the input (position) this action should be applied to. Be aware that a movable input can consist of multiple pins. The number can be fetched from @ref ApiNodeInfo::mMovableInputPinCount. |
| octane.octane.interpolationType | Interpolation types for NT_TEX_RANGE and NT_FLOAT_RANGE. |
| octane.octane.itemDbOrigin | All the places that a DB item can come from. |
| octane.octane.lightAov | IDs to identify light AOVs. |
| octane.octane.lightPassMask | The flags used in emission masks. |
| octane.octane.lightSampler | The types of light sampler we use for rendering |
| octane.octane.liveDbThumbnailView | The available views for thumbnails of liveDB material and texture macros. |
| octane.octane.logicalOperator | Logical operators supported by NT_BOOL_LOGIC_OPERATOR. |
| octane.octane.luaScriptType | Type of the script |
| octane.octane.memoryLocation | Memory locations of the resources |
| octane.octane.metallicReflectionMode | Specify how to calculate the reflectance on metallic materials |
| octane.octane.modifierKey | List of possible modifier keys. |
| octane.octane.moduleType | The different module types supported in the standalone. |
| octane.octane.moireMosaicShape | The shapes supported by NT_TEX_MOIRE_MOSAIC. |
| octane.octane.mouseButton | All the different buttons on a mouse. |
| octane.octane.movableInputFormat | The different pin structures that can be moved between nodes that have movable inputs. Movable inputs can be moved from one node to another if and only if both nodes have the same movable input format. |
| octane.octane.namedColorSpace | Specific color spaces that Octane knows about. |
| octane.octane.nodeType | Types of nodes available. |
| octane.octane.noiseType | Types of noise used by the noise texture node (NT_TEX_NOISE) |
| octane.octane.noiseTypeOsl | Noise types defined in OSL and used by the random map texture (NT_TEX_RANDOM_MAP) |
| octane.octane.normalType | Normal types used by the Normal texture node (NT_TEX_NORMAL). |
| octane.octane.objImportColorSpace | The RGB color space that should be used during the import of MTL files. Used in the OBJ import preference attribute A_OBJIMP_COLOR_SPACE. |
| octane.octane.objectIncludeMode | The include object mode for various texture nodes |
| octane.octane.octaneLiveCategory | Categories available in the liveDB. |
| octane.octane.outputColorSpaceType | Output color space specification types. |
| octane.octane.panoramicCameraMode | The different modes we currently support in the panoramic camera. The value is set in the pin P_CAMERA_MODE of the node NT_CAM_PANORAMIC. |
| octane.octane.pinId | IDs for input pins available. |
| octane.octane.pinType | Types of node input pins available. |
| octane.octane.positionType | Choose between global space or object space addressing for textures. |
| octane.octane.prePassType | Pre-pass types (for works before integration). |
| octane.octane.preferencesTabId | IDs of the tabs in the preferences window. |
| octane.octane.premultipliedAlphaType | Types of premultiplied alpha in a rendered image. |
| octane.octane.previewType | Shape used for texture/material preview mode. |
| octane.octane.primitiveType | The primitive types we know about outside of the render core. |
| octane.octane.proceduralEffectType | The types of procedural effects supported by NT_TEX_PROCEDURAL_EFFECTS. |
| octane.octane.referenceAABBDisplay | When the AABB should be displayed in the reference graph |
| octane.octane.renderDeviceState | State of a discrete render device. |
| octane.octane.renderError | The different error types we may report from render threads. |
| octane.octane.renderJobAction | Render job action. |
| octane.octane.renderJobStatus | Render job status. |
| octane.octane.renderLayerMode | The render layer render modes we currently support. |
| octane.octane.renderPassGroupId | Render pass groups |
| octane.octane.renderPassId | Ids for the render passes available in Octane. |
| octane.octane.renderState | The state the render target can be in. |
| octane.octane.resourceCategory | Categories of a resource allocation |
| octane.octane.responseCurveId | All film response curves currently supported. |
| octane.octane.roundEdgesMode | Round edges modes. |
| octane.octane.roundingMode | Rounding modes supported by NT_FLOAT_TO_INT. |
| octane.octane.samplerType | The sampler types we currently provide. |
| octane.octane.scatterSurfaceHairMode | Scatter modes supported for scattering on hairs in the Scatter on surface node. |
| octane.octane.scatterSurfaceOrientationPriority | Orientation priority used for orienting scattered instances on a surface when their up and front vectors are not orthogonal. |
| octane.octane.scatterSurfaceParticleMode | Scatter modes supported for scattering on particles in the Scatter on surface node. |
| octane.octane.scatterSurfacePolygonMode | Scatter modes supported for scattering on polygons in the Scatter on surface node. |
| octane.octane.scatterSurfaceReferenceType | Type of reference data used to orient instances up or front vectors when scattering on a surface. |
| octane.octane.scatterSurfaceSelectionMode | Selection strategy used when scattering multiple source objects on a surface. |
| octane.octane.scatterSurfaceTransformType | Type of transform applied to instances scattered on surfaces. |
| octane.octane.scatterVolumeOrientationPriority | Orientation priority used for orienting scattered instances when their up and front vectors are not orthogonal. |
| octane.octane.scatterVolumeReferenceType | Type of reference data used to orient instances up or front vectors when scattering. |
| octane.octane.scatterVolumeSelectionMode | Selection strategy used when scattering multiple source objects in a volume. |
| octane.octane.scatterVolumeShape | Shaping function used to sculpt the dense grid of instances for scatter in volume. |
| octane.octane.scatterVolumeTransformType | Type of transform applied to instances scattered on surfaces. |
| octane.octane.scriptExecuteType | Choose what to execute in a scripted graph |
| octane.octane.scrollWheelAction | Behaviour of the mouse's scroll wheel. |
| octane.octane.sharedSurfaceType | Type of a graphics API surface shared with Octane for input/output. |
| octane.octane.shutterIntervalAlignment | How to align the shutter interval to the current time stamp |
| octane.octane.shutterTimeDisplay | Display mode of shutter time |
| octane.octane.simulatedLens | Simulated lenses |
| octane.octane.spotlightOrientation | Settings for spotlight orientation |
| octane.octane.stereoMode | Different stereo rendering modes we support for the thinlens camera. |
| octane.octane.stereoOutput | The output for stereo rendering. |
| octane.octane.subDivFVarInterpolateBoundary | Face-varying interpolation rules used by the openSubdiv library. see http://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#face-varying-interpolation-rules The weird mapping of SubDivInterpolateBoundary values is a consequence of the different handling between openSubdiv 2.x and 3.x see http://graphics.pixar.com/opensubdiv/docs/compatibility.html#compatibility-with-opensubdiv-2-x |
| octane.octane.subDivInterpolateBoundary | Per-vertex interpolation rules used by the openSubdiv library. see http://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#boundary-interpolation-rules openSubdiv 2.x used the same enum for face-varying interpolation options, 3.x uses a separate enum. See SubDivFVarInterpolateBoundary. |
| octane.octane.subDivSchemeType | Boundary interpolation rules used by the openSubdiv library. see http://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#boundary-interpolation-rules |
| octane.octane.subSampleMode | The subsampling modes we currently support. |
| octane.octane.texelType | The element type of a runtime texture. |
| octane.octane.textureNodeTypeMode | Determine if and how the node can change its texture inputs/output value types |
| octane.octane.texturePinValueTypeMode | Determine if and how a texture pin gains a value type |
| octane.octane.textureValueType | The different OSL types that are supported as texture value types for texture pins |
| octane.octane.tiffCompressionType | Compression type for TIFF file export. |
| octane.octane.tilePatternType | The tile patterns supported by NT_TEX_TILE_PATTERNS. |
| octane.octane.timeDisplay | Display mode of time line |
| octane.octane.timeEventType | The different types of time events. |
| octane.octane.tonemapBufferType | The different tonemap result buffer formats we support. |
| octane.octane.tonemapOrder | The different orders by which camera response curve, gamma and custom LUT are applied. |
| octane.octane.tonemapType | @deprecated Use TonemapBufferType and/or NamedColorSpace instead. |
| octane.octane.toonLightMode | Lighting modes for toon materials |
| octane.octane.traceSetBounceType | The types of light path bounce that can occur at a geometry object for the purposes of updating the set of trace sets that are visible for future hits in the path. These values are used as bit indices for bit masks in NT_TRACE_SET_VISIBILITY_RULE nodes. |
| octane.octane.traceSetFutureHits | The types of geometry hit that can occur in a light path after a bounce that updated the set of visible trace sets. These values are used as bit indices for bit masks in NT_TRACE_SET_VISIBILITY_RULE nodes. |
| octane.octane.uIOperationsFlag | UI general operation flags |
| octane.octane.unaryOperation | Unary math operations for nodes NT_TEX_MATH_UNARY and NT_FLOAT_MATH_UNARY. |
| octane.octane.unblendExtractMode | Blend inputs that the unblend output AOV layer mode can extract. |
| octane.octane.unblendOutputColorRange | Output color ranges for the unblend and reblend output AOV layers. |
| octane.octane.universalCamApertureShape | The aperture shapes available for the universal camera. |
| octane.octane.universalCamCubemapLayout | The cubemap layouts available for the universal camera. |
| octane.octane.universalCamFisheyeProjection | The projection types available for the universal camera fisheye. |
| octane.octane.universalCamFisheyeType | The fisheye types available for the universal camera. |
| octane.octane.universalCamMode | The modes of the universal camera. |
| octane.octane.upSampleMode | The upsampling modes we currently support. |
| octane.octane.upSampleSourcePercentage | Up sample's source percentage (per side). |
| octane.octane.upSamplerType | Supported up sampler types. |
| octane.octane.usdDisplayPurpose | The types of USD display purposes. |
| octane.octane.vdbGridIds | Grid channels that can be read from a VDB |
| octane.octane.vectronCircleType | Circle type for Vectron cylinder and sphere. |
| octane.octane.vectronEdgeType | Edge type for SDF primitives. |
| octane.octane.virtualTexturingMode | Virtual texturing modes |
| octane.octane.volumeEmissionType | Standard volume emission types. |
| octane.octane.volumeInterpolationType | Volume voxel data interpolation modes. |
| octane.octane.volumeSampling | Volume sampling methods. |
| octane.octane.wCoordinateBorderMode | The different border modes supported by the 'W coordinate' texture node (NT_TEX_W). The value is set by the enum pin P_BORDER_MODE_W_COORD. |
| octane.octane.waveform | Waveforms supported by NT_TEX_WAVE_PATTERN. |
| octane.octane.whiteLightSpectrum | Different light spectra that can be considered "white" inside the rendering engine. |
| octane.octane.windingOrder | Polygon winding order. |
Live DB API
| octane.livedb.downloadMaterial | Downloads a material from the LiveDB. This will add the material's nodegraph to the project's scenegraph. This function fetches online and might take a while. |
| octane.livedb.getCategories | Returns an array PROPS_LIVE_DB_CATEGORY. This will fetch the categories online so it might take a while. |
| octane.livedb.getMaterials | Returns an array of PROPS_LIVE_DB_MATERIAL for the materials in a category. fetches online so it might take a while. |
| octane.livedb.PROPS_LIVE_DB_CATEGORY | Table with information about a live db category |
| octane.livedb.PROPS_LIVE_DB_MATERIAL | Table with info about a live db material |
Define a group of settings which can be shown and edited in a dialog window.
| octane.settingsgroup.addRow | Add a row to a settings component Keys in the settings table are: - type: the data type, can be "float", "integer", "bool", "colour", "string", "file", "directory", "enum". The type determines which kind of component is created. - key: what key in the data table to use - label: The label shown in front of the component. Can be either a string or a component. - labelEnabled: true or false, will turn the label into a checkbox with the given default value. Will add an extra key in the data table with name key.."Enabled" - component: if given, must be a component which is added to the grid. Any other keys are ignored - default: initial value if the key in the data table is not yet set - enum: table representing the enum, should be a sequence of value/name pairs, eg. { {1, "Small"}, {5, "Medium"}, {10, "Large"} } or a sequence of strings. In the latter case the index in the sequence will be the value. - forSaving, wildcards: used for files or directories - various other keys are used depending on the data type, as defined in the various octane.gui.PROPS_GUI_COMPONENT variants, eg. for sliders: step, minValue and maxValue may be specified to set data ranges, callback can be specified to get additional GUI callbacks. Some scripts also operate on nodes or graphs, for this case the component can contain a combo box to let the user select the nodes. Use the following keys: - key: what key in the data table to use. This key is set to the selected node or graph. A second key, key.."Name" is used to store the node name. - type: set to "node" - items: sequence of node items to show in the dropdown. If not set, scan a node graph for items - parentGraph: which node graph to scan for matching nodes for the dropdown, if nil the project scene graph is used. - nodeTypes: limit selection to the given node types and graph types - graphTypes: see above - outputType: if set, limit selection to node items with the given output type |
| octane.settingsgroup.beginGroup | Begin a new group |
| octane.settingsgroup.create | Creates a group of settings which can be shown as a component. The list argument is a table with following keys: - data: the table, created with octane.gui.createPropertyTable, containing the settings to edit. Keys in this table will be bound to the components using octane.gui.bind. - width: the initial width for this component - labelWidth: the initial width of the label column - callback (optional): callback function, see octane.gui.bind - debug: set to true to draw debugging outlines in group components See settingsgroup for a list of functions you can call on this object. |
| octane.settingsgroup.showDialog | Shows these settings in a dialog window |
| octane.settingsgroup.toComponent | Create a component with these settings |
Functionality to manage Octane projects. Scripted graphs loaded as part of a project will always return properties from the project which is being loaded. When importing a node graph into the current project, the referenced project will still be the current project
| octane.project.clearSelection | Clears the current selection. |
| octane.project.deselect | Removes an item from the current selection. |
| octane.project.getCurrentProject | Returns the absolute path of the current project. |
| octane.project.getMaterialBall | Returns the mesh node (NT_GEO_MESH) representing the material ball. |
| octane.project.getPreferences | Returns the application preferences node (NT_LOCAL_APP_PREFS). |
| octane.project.getPreviewRenderTarget | Returns the project's preview render target. |
| octane.project.getProjectSettings | Returns the project settings node (NT_PROJECT_SETTINGS). |
| octane.project.getSceneGraph | Returns the scene graph of the project (root graph). |
| octane.project.getSelection | Returns the items currently selected in the project. |
| octane.project.load | Loads an Octane project from a file. If passing in a function to missingFileCallback, the signature is: fileToUse = missingFileCallback(filename) - filename (string): value of the "filename" attribute of the node being loaded; - fileToUse (string): absolute filename, or nil if we don't have a file. |
| octane.project.loadedFromPackage | Checks if the current project was loaded from a package. |
| octane.project.reset | Resets an Octane project (starts off with a new project.). If there are unsaved changes, it will ask the user what to do. |
| octane.project.save | Saves the current project on disk. |
| octane.project.saveAs | Saves the loaded Octane project on disk. The project can be saved either as a regular ocs file or as a package file (.orbx). Procedurally generated geometry is saved as OBJ so justregular polygonal geometry will be exported ignoring hair and particle primitives. |
| octane.project.saveAsReferencePackage | Saves the loaded Octane project into a package (.orbx). The resulting package will include extra data with animated bounding boxes of the scene geometry which can be later visualized when the package is loaded in GT_REFERENCE node graph. Procedurally generated geometry is saved as OBJ so just regular polygonal geometry will be exported ignoring hair and particle primitives. |
| octane.project.select | Adds an item to the current selection. |
| octane.project.setSelection | Clears the current selection, and select all the given nodes and pins. |
| octane.project.unpackPackage | Unpacks a package into the provided directory. If no package path is specified, the package of the current project will unpacked. Obviously, the latter will work only if the project was loaded from a package (This will NOT switch the current loaded package to the unpacked package). |
| octane.project.PROPS_REFERENCE_PACKAGE_EXPORT_INFO | Table with information about reference package export settings |
This module allows you to construct exporters which can write animated geometry to an Alembic file.
| octane.geometryexporter.__gc | GC callback. |
| octane.geometryexporter.__tostring | Converts value to string. |
| octane.geometryexporter.addItem | Adds another item to export in the next frame. |
| octane.geometryexporter.close | Closes the exported file. The file will eventually be closed by the garbage collector if you don't call this function, but until then it will be unreadable for other applications. |
| octane.geometryexporter.create | Create a geometry exporter. This function may raise an error if we can't create the exporter |
| octane.geometryexporter.makeGraph | createNodeGraph |
| octane.geometryexporter.setTimeSampling | Override the time sampling written to the file. By default it is inferred from the time values from the items when frames are exported. |
| octane.geometryexporter.writeFrame | Adds another item to export in the next frame. |
| octane.geometryexporter.PROPS_GEOMETRY_EXPORTER | Table with information to construct a geometry exporter. |
Provides portable file system functionality.
| octane.file.checksum | Calculates a checksum based on the file's contents. |
| octane.file.copy | Copies a file to a different location. See octane.file.copyDirectory to copy directories. |
| octane.file.copyDirectory | Tries to copy an entire directory, recursively. If source isn't a directory or if any target files cannot be created, this will fail. |
| octane.file.createDirectory | Creates a directory. This will also create the parent directories to complete the full path. |
| octane.file.createFile | Creates an empty file |
| octane.file.exists | Checks if an absolute path exists on the system. |
| octane.file.fopen | Opens a file. If the passed in file name refers to a file on disk, io.open will be called. If the passed in file refers to a file in a package, octane.package.fopen will be called. |
| octane.file.getCreationTime | Returns the creation time of a file. If a file is in a package, then returns the creation time of the package. |
| octane.file.getCurrentWorkingDirectory | Get the current working directory. |
| octane.file.getFileExtension | Returns the extension. (e.g. /foo/bar.txt would return .txt) |
| octane.file.getFileName | Returns the last section of a path name. (e.g. /foo/bar.txt would return bar.txt and /foo/bar would return bar. |
| octane.file.getFileNameWithoutExtension | Returns the last part of the filename, without the extension. (e.g. /foo/bar.txt returns bar). |
| octane.file.getFileSize | Returns the size of a file. |
| octane.file.getLinkTarget | If the path is a link, returns the path the link points to. Otherwise the path itself is returned. |
| octane.file.getModifiedTime | Returns the last modification time of a file. If a file is in a package, then returns the last modification time of the package. |
| octane.file.getParentDirectory | Returns the directory the parent path of a path. |
| octane.file.getSpecialDirectories | Returns a table with full paths to common directories on the user's system. |
| octane.file.hasWriteAccess | Checks if a path to a file is writable or can be created. |
| octane.file.isAbsolute | Checks if this string is an absolute path. |
| octane.file.isDirectory | Checks if the path is a directory. Although packages allow you to look up a file using a relative path they don't support directory access. So unlike isFile, isDirectory only works for file names |
| octane.file.isFile | Checks if an absolute path exists on the system and is not a directory. |
| octane.file.isHidden | Checks if a file is a hidden file (platform specific). |
| octane.file.join | Joins the file paths in the arguments together. Any relative path is appended to the previous paths, an absolute path replaces the previous paths |
| octane.file.listDirectory | Returns a list with the contents of a directory. |
| octane.file.makeRelativeTo | Makes file name relative to the specified path. The filename and the path must either both be absolute (having the same root) or both relative. If both are relative, it's assumed that they are both starting at the same working directory. |
| octane.file.move | Moves a file to a different location. If the destination already exists, this will try to delete the destination first, and will fail if this cannot be done. |
| octane.file.remove | Removes a file or a directory and all its subdirectories. |
| octane.file.resolveTemplate | Creates a filename from a template with embedded placeholders. Placeholders are single letters prefixed with a % sign. When the placeholder cannot be resolved, it's kept in the string. You can freely choose the placeholders but some of them are reserved: %e - maps to the file extension %t - maps to a timestamp in hh_mm_ss format %% - maps to the percentage sign |
| octane.file.PROPS_PACKAGE_PATH | Table with an absolute path to a file in a package or the file system |
| octane.file.PROPS_SPECIAL_DIRECTORIES | Table with the absolute paths to special directories on the user's system |
Provides a way to inspect assets in a package.
| octane.package.__gc | GC metamethod |
| octane.package.__tostring | Converts value to string. |
| octane.package.close | Close a package handle. |
| octane.package.createPath | Convert the inputs to a package path. You may pass in following combinations of arguments: 1. (string, string): The first argument points to the package (either an absolute path or a package handle) and the second argument is a relative path to the file inside the package 2. (string): Points to a file in the file system. 3. (PROPS_PACKAGE_PATH): Package path property table. In this case that table will be returned. |
| octane.package.fexists | Check if a file exists. Synonym for octane.file.exists(package:getChildFile(path)) |
| octane.package.fopen | Opens a file inside a package for reading. The interface of the returned object conforms to the interface of standard lua files. If path is not a relative path an error will be raised. If the file doesn't exist, or an error occurs while opening the file, returns nil and an error message. See also octane.file.fopen() which automatically will open either a file in a package or a file in the file system. |
| octane.package.getChildFile | Creates a package path referencing a file in this package. |
| octane.package.getFileList | Returns a sequence of all files stored in the package. |
| octane.package.open | Explicitly open a package for reading. This will keep the package open until close() is called. By default any file operation on a file inside a package will implicitly open that package, and keep it open until the script finishes or until another package is accessed, or in case of scripted graphs, until the callback finishes. If necessary, open() and close() may be used for more control over when packages are opened and closed. |
This module gives access to permanent storage of settings and data. Depending on how a script is run it may contain one or more tables whose content is persistent between subsequent executions of a script.
To have persistent storage available the script must declare a script id in the header as follows:
-- @script-id
A packagefile references a file inside a package which is opened for reading. It has the same interface as the objects returned by io.open().
| octane.packagefile.__gc | GC metamethod |
| octane.packagefile.__tostring | Converts value to string. |
| octane.packagefile.close | Close file |
| octane.packagefile.flush | (unsupported) |
| octane.packagefile.lines | Returns an iterator function which returns a new line from the file when called. |
| octane.packagefile.read | Reads from a file. The meaning of the arguments is the same as file:read(). |
| octane.packagefile.seek | Seeks to a new position in a file. For files opened in text mode, the value for offset must be: - if whence is "pos": a value returned by this function; - otherwise: zero, to get the current position or seek to the end of the file. |
| octane.packagefile.setvbuf | (unsupported) |
| octane.packagefile.write | (unsupported) |
This module contains functions specific to scripted node graphs. It is only available to the scripts embedded in such graphs. A script in a scripted graph must return a Lua table. The scripted graph keeps a reference to this table until the graph is destroyed, or until it loads a new script. The table may contain callback functions to update the node graph contents in response to changes in the inputs of the graph. You define callbacks by putting a function with the name of the callback in the returned table. The API will assign a meta table referencing this module to the returned table, so in the callbacks you can use the short form self:someFunction(...) to call functions in this module. The API will also put additional values into the returned table. To ensure future updates won't break your script, you should not use the following keys for your own purposes: - any key starting with "on", followed by a capital letter (reserved for callbacks); - any key starting with an underscore "_" (the API may overwrite those). A couple of functions take pin infos. You can define a pin info in two ways: - Specify the type directly: The "type" (pin type ID) and "label" (string) keys are required. Pin infos can be customized by setting properties as described in PROPS_BOOL_PIN_INFO, PROPS_ENUM_PIN_INFO, PROPS_FLOAT_PIN_INFO, PROPS_INT_PIN_INFO, PROPS_STRING_PIN_INFO, PROPS_TEXTURE_PIN_INFO, PROPS_TRANSFORM_PIN_INFO. - Use an info of an existing node: "label" (string), "fromNodeType" (node type ID) and "fromPinId" (pin ID) keys are required. This is an example script showing the basic concepts: local MyGraphScript = {} -- variables declared in the script scope are visible for all functions in our -- script for as long as the scripted graph is not deleted or reloaded (in -- programming terms, our two functions become "closures"). local inputs, tex -- onInit function, this is called once in the beginning. function MyGraphScript.onInit(self, graph) -- input and output infos local inputInfos = { {type=octane.PT_TEXTURE, label="RGB", defaultNodeType=octane.NT_TEX_RGB} } local outputInfos = { {type=octane.PT_TEXTURE, label="RGB"} } -- use these functions to set up input and output linkers. This will keep -- existing linkers so existing connections in the parent graph are kept. inputs = graph:setInputLinkers(inputInfos) local outputs = graph:setOutputLinkers(outputInfos) -- set up a node to give the graph some output value tex = octane.node.create{ type=octane.NT_TEX_RGB, name="color", graphOwner=graph } outputs[1]:connectTo("input", tex) end -- this function is called every time the value of an input linker changes function MyGraphScript.onEvaluate(self, graph) -- the scriptgraph object has a special function to read input values local rgb = self:getInputValue(inputs[1]) -- set some output value. (for example, rotate the RGB channels) tex:setAttribute("value", {rgb[3], rgb[1], rgb[2]}) end -- default name MyGraphScript._name = "Example" -- In lua, a script is run as if the script defines a function body, so -- like in a function you may return a value return MyGraphScript
| octane.scriptgraph.__tostring | Converts value to string. |
| octane.scriptgraph.appendAsset | Adds an asset to the graph |
| octane.scriptgraph.getAsset | gets an asset from the graph |
| octane.scriptgraph.getAssetCount | Returns size of the asset array |
| octane.scriptgraph.getInputValue | Gets the A_VALUE attribute of the input node connected to the linker node, which can't be done directly using the input pin of the linker. |
| octane.scriptgraph.inputWasChanged | Tells if an input was changed since the last evaluation. This is only meaningful when called from the evaluate function. If this is the first evaluation after loading the script, this. function returns false. |
| octane.scriptgraph.insertInputLinkers | Inserts input linkers to the script graph. |
| octane.scriptgraph.onEvaluate | Callback which is called when the connected value of one of the input linker nodes changes. Can be overridden in your script object. The graph is not cleared before this callback runs, all nodes created by previous calls to init and evaluate will still be there. If onEvaluate raises an error, onShutdown will be called and no further callbacks will be received. |
| octane.scriptgraph.onInit | Callback which is called after initializing the scripted graph. Can be overridden in your script object. This callback will be run once after updating the script and before the call to evaluate. The graph will be cleared of all nodes except the linker nodes and the special input node before this call. |
| octane.scriptgraph.onShutdown | Callback which is called before the scripted graph is destroyed, or before the script is reloaded. Can be overridden in your script object. If the onInit callback didn't raise an error this callback will be called once before destroying the object. You should release any external resources used by the script in this function. You should not interact with the node graph contents during this function as the nodes connected to the inputs may have been deleted at this point, and saving the project has happened before this call. |
| octane.scriptgraph.onTrigger | Callback which is called when the trigger button has been clicked. The trigger button will be displayed in the node inspector if onTrigger() is provided in the script object. The graph is not cleared before this callback runs, all nodes created by previous calls to init and evaluate will still be there. If onTrigger() raises an error, onShutdown() will be called and no further callbacks will be received. |
| octane.scriptgraph.removeAllAssets | removes all the assets |
| octane.scriptgraph.removeAsset | removes an asset from the graph. This will shift all subsequent assets one down. |
| octane.scriptgraph.removeInputLinkers | removes input linkers from the script graph |
| octane.scriptgraph.reset | Resets the node graph contents to the initial state, as it would be just before init was called. This state will always still contain all linker nodes and may contain some other nodes which are internally created and used by the scripted node graph. Any other nodes added by the script will be deleted. |
| octane.scriptgraph.setEvaluateTimeChanges | Choose if the onEvaluate function gets called after time updates, regardless of whether or not any animated nodes are connected to the inputs. This function call doesn't affect the behaviour of animated items inside the graph |
| octane.scriptgraph.setIcon | Sets a custom icon for this scripted graph. |
| octane.scriptgraph.setInputInfo | Assigns a new node pin info to an input linker node. Must be called only from the init or evaluate function, and can't be called for an input which was changed before this evaluate call. The given pin type must match the type of the existing linker node. |
| octane.scriptgraph.setInputLinkers | Assigns a new node pin info to an input linker node. This version accepts more information in the pin info tables (see the octane.scriptgraph.setInputInfo documentation). As with octane.nodegraph.setInputLinkers you may pad this table with elements set to false (boolean) for linkers you don't want to touch. This is important if you want to change the linkers due to an input change. See also insertInputLinkers and removeInputLinkers. |
| octane.scriptgraph.setInputValue | Sets the input value of a linker node, which can't be done directly using the input pin of the linker. |
| octane.scriptgraph.timeWasChanged | Returns TRUE if the time was changed since the last evaluation. This is only meaningful when called from the evaluate function, if the evaluation of time changes has been enabled via setEvaluateTimeChanges(). If this is the first evaluation after loading the script, this function returns FALSE. |
| octane.scriptgraph.PROPS_BIT_MASK_PIN_INFO | Table with information about a scripted graph bit mask pin. |
| octane.scriptgraph.PROPS_BOOL_PIN_INFO | Table with information about a scripted graph bool pin. |
| octane.scriptgraph.PROPS_ENUM_PIN_INFO | Table with information about a scripted graph enum pin. |
| octane.scriptgraph.PROPS_FLOAT_PIN_INFO | Table with information about a scripted graph float pin. |
| octane.scriptgraph.PROPS_INT_PIN_INFO | Table with information about a scripted graph int pin. |
| octane.scriptgraph.PROPS_OCIO_COLOR_SPACE_PIN_INFO | Table with information about a scripted graph OCIO color space pin. |
| octane.scriptgraph.PROPS_OCIO_LOOK_PIN_INFO | Table with information about a scripted graph OCIO look pin. |
| octane.scriptgraph.PROPS_OCIO_VIEW_PIN_INFO | Table with information about a scripted graph OCIO view pin. |
| octane.scriptgraph.PROPS_PROJECTION_PIN_INFO | Table with information about a scripted graph projection pin. |
| octane.scriptgraph.PROPS_STRING_PIN_INFO | Table with information about a scripted graph string pin. |
| octane.scriptgraph.PROPS_TEXTURE_PIN_INFO | Table with information about a scripted graph texture pin. |
| octane.scriptgraph.PROPS_TRANSFORM_PIN_INFO | Table with information about a scripted graph transform pin. |
Provides functionality to manipulate Octane's node graphs.
| octane.nodegraph.__eq | Tests 2 graphs for equality (g1 == g2). |
| octane.nodegraph.__index | Fetch a property of a node item. |
| octane.nodegraph.__newindex | Updates a property of a node item. |
| octane.nodegraph.__tostring | Converts value to string. |
| octane.nodegraph.clearAnimator | Clears the animator of an attribute. |
| octane.nodegraph.clearAnimatorIx | Clears the animator of an attribute. |
| octane.nodegraph.clearAttribute | Clears an attribute to its default value. |
| octane.nodegraph.clearAttributeIx | Clears an attribute to its default value. |
| octane.nodegraph.clearTimeTransform | Removes animation time transformation from the graph |
| octane.nodegraph.collapse | Collapses this node graph down into all destination pins. To do this all of its inputs will be collapsed as well. If the node graph doesn't have exactly 1 output linker node or the output linker is not connected to any destination pin only the inputs of the node graph will be collapsed but not the graph itself and false is returned. |
| octane.nodegraph.copyAttributeFrom | Copies an attribute value from another node or graph. |
| octane.nodegraph.copyAttributeFromIx | Copies an attribute value from another node or graph. |
| octane.nodegraph.copyFrom | Copies the items in the list into the destination graph. |
| octane.nodegraph.copyFromGraph | Copies the items owned by the source graph into the destination graph. When an optional list of original items is provided, the function returns a list with their respective copies. |
| octane.nodegraph.copyItemTree | Copies the full tree that has item as root into the destination graph. |
| octane.nodegraph.create | Creates a new node graph. |
| octane.nodegraph.createRootGraph | Creates a root graph. Root graphs are graphs without owners. When they're not destroyed by the script, they are destroyed when the script ends. |
| octane.nodegraph.deleteOwnedItems | Deletes all child items from this graph. Clears all the items if the filter argument is nil. |
| octane.nodegraph.deleteUnconnectedItems | If this node graph is owned by another node graph, this function will remove all items owned by the parent node graph that are not directly/indirectly connected with this graph. |
| octane.nodegraph.destroy | Destroys an existing graph. |
| octane.nodegraph.evaluate | Evaluates the attributes of a graph after making changes to the graph's attribute. |
| octane.nodegraph.expand | Expands all items owned by the input linkers of the node graph. |
| octane.nodegraph.expandOutOfPin | Expands the node graph out of its owner pin - if it is actually owned by a pin. If the owner pin belongs to a node that is also owned by a pin, that node will be expanded out of the owning pin as well. This continues until we find a node that is not owned by a pin anymore. |
| octane.nodegraph.exportToFile | Exports the provided root graph into a file (.orbx or .ocs). |
| octane.nodegraph.exportToString | Exports the provided root graph into a string (.ocs xml format). |
| octane.nodegraph.findFirstNode | Returns the first node in the graph that matches the type. |
| octane.nodegraph.findFirstOutputNode | Returns the first output node in the graph that matches the type. |
| octane.nodegraph.findItemsByName | Returns the list of items in the graph that have the given name. |
| octane.nodegraph.findNodes | Returns the nodes in the graph of the provided type. |
| octane.nodegraph.getAnimationTimeSpan | Returns the total time span for all animations in this graph. This only works on root graphs. |
| octane.nodegraph.getAnimator | Returns the animator of the graph's attribute. Nothing is returned when the attribute isn't animated. |
| octane.nodegraph.getAnimatorIx | Returns the animator of the graph's attribute. Nothing is returned when the attribute isn't animated. |
| octane.nodegraph.getAttribute | Returns the graph's attribute value. |
| octane.nodegraph.getAttributeCount | Returns the number of attributes. |
| octane.nodegraph.getAttributeInfo | Returns the info of an attribute on this graph. |
| octane.nodegraph.getAttributeInfoIx | Returns the info of an attribute on this graph (found via index). |
| octane.nodegraph.getAttributeIx | Returns the graph's attribute value, based on its index. |
| octane.nodegraph.getInputNodes | Returns the input linker nodes of this graph. |
| octane.nodegraph.getNodeGraphInfo | Returns the static information about a graph. |
| octane.nodegraph.getOutputNodes | Returns the output linker nodes of this graph. |
| octane.nodegraph.getOwnedItems | Returns the items (graphs and nodes) owned by this graph. |
| octane.nodegraph.getProperties | Returns the properties of a graph. |
| octane.nodegraph.getRawArrayAttribute | Returns a handle to the internal C-array. This handle is strictly read-only. |
| octane.nodegraph.getRawArrayAttributeIx | Returns a handle to the internal C-array. This handle is strictly read-only. |
| octane.nodegraph.getTimeTransform | Returns current time transform of the graph or nil. |
| octane.nodegraph.group | Replace a list of node items with a nodegraph containing a copy of these items. Any connections coming from other nodes are copied through linker nodes. |
| octane.nodegraph.hasAttribute | Function to find out whether a attribute exists in a node graph. |
| octane.nodegraph.importFromFile | Imports an .ocs or .orbx file into the provided root nodegraph. |
| octane.nodegraph.importFromString | Imports an .ocs string into the provided root graph. |
| octane.nodegraph.insertInputLinkers | Inserts input linkers to the node graph. If this node graph is a scripted graph the inputList argument can contain more information as specified in octane.scriptgraph.setInputLinkers. |
| octane.nodegraph.isAnimated | Function to find whether an attribute is animated. |
| octane.nodegraph.isAnimatedIx | Function to find whether an attribute is animated. |
| octane.nodegraph.loadAllReferences | Loads all top-level reference graphs in the provided root graph. |
| octane.nodegraph.referenceGraphCount | Returns the number of reference graphs in the provided root graph. |
| octane.nodegraph.removeInputLinkers | removes input linkers from the node graph |
| octane.nodegraph.setAnimator | Sets an animator on an attribute of this graph. Only attributes of type AT_BOOL, AT_FLOAT, AT_MATRIX, AT_FILENAME, AT_STRING can have animators. An animator is an array of times and an array of corresponding attribute values. |
| octane.nodegraph.setAnimatorIx | Sets an animator on an attribute of this graph. Only attributes of type AT_BOOL, AT_FLOAT, AT_MATRIX, AT_FILENAME, AT_STRING can have animators. An animator is an array of times and an array of corresponding attribute values. |
| octane.nodegraph.setArrayAnimator | Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT and AT_MATRIX can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| octane.nodegraph.setArrayAnimatorIx | Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT and AT_MATRIX can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| octane.nodegraph.setAttribute | Sets an attribute of a graph. |
| octane.nodegraph.setAttributeIx | Sets an attribute of a graph based on the attribute index. |
| octane.nodegraph.setInputLinkers | Updates the input linker nodes of this node graph. This function takes an array of tables containing information of which linker nodes should be present. For every table it either uses an existing linker node or it creates a new one, with the name specified in the table. Any linker node not on this list will be destroyed. Use this function to modify the list of linkers in a graph while retaining connections with outside nodes as much as possible. If some values in the list are set to false (boolean) instead of a table, linkers at this index will not be touched. Do not use nil as this will terminate the list. If this node graph is a scripted graph the inputList argument can contain more information as specified in octane.scriptgraph.setInputLinkers, and it can only be called from within its evaluate function. |
| octane.nodegraph.setLinearTimeTransform | Can be used to offset or scale the animation playback. |
| octane.nodegraph.setOutputLinkers | Updates the input output nodes of this node graph. This function an array of tables containing information of which linker nodes should be present. For every table it either uses an existing linker node or it creates a new one, with the name specified in the table. Any linker node not on this list will be destroyed. Use this function to modify the list of linkers in a graph while retaining connections with outside nodes as much as possible. |
| octane.nodegraph.setRawArrayAttribute | Sets an attribute of a graph based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| octane.nodegraph.setRawArrayAttributeIx | Sets an attribute of a graph based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| octane.nodegraph.unfold | Unfolds the node graph spaghetti if the graph is inspectable. |
| octane.nodegraph.ungroup | Replaces a nodegraph with a copy of its content in the parent node graph. |
| octane.nodegraph.unloadAllReferences | Unloads all top-level reference graphs in the provided root graph. |
| octane.nodegraph.updateProperties | Updates the properties of a graph. |
| octane.nodegraph.updateTime | Updates the current time in the graph. Works only for root graphs. |
| octane.nodegraph.PROPS_ATTRIBUTE_INFO | Table with information about an attribute. |
| octane.nodegraph.PROPS_GRAPH_INFO | Table with (static) information about a graph. |
| octane.nodegraph.PROPS_NODE_ITEM | Table with (dynamic) information about a graph. |
| octane.nodegraph.PROPS_TIMETRANSFORM_LINEAR | Table with information about linear time transform. type equals to octane.animationTimeTransformType.LINEAR |
Provides help functionality while developing Lua scripts for Octane.
| octane.help.addFunction | Adds a user-defined Lua function to the API registry. Call this function before adding function documentation. |
| octane.help.addFunctionDoc | Adds documentation to a user-defined Lua function. |
| octane.help.addModule | Adds a user-defined Lua module to the API registry. Call this function before adding functions to the module. |
| octane.help.constantDoc | Returns a table with a description and the values defined for an enumeration. |
| octane.help.constants | Returns a table with the names of all the constants defined in a module. |
| octane.help.functionDoc | Returns a table with documentation about a function. |
| octane.help.functions | Returns a table with the names of all the functions defined in a module. |
| octane.help.help | Displays help about an Octane Lua API function |
| octane.help.modules | Returns a table with the available modules. The key is the module name and the value is a descriptive string. |
| octane.help.properties | Returns a table with the names of all the properties defined in a module. |
| octane.help.propertiesDoc | Returns a table with a description of certain properties. |
| octane.help.variableDoc | Returns a table with a description of certain variables. |
| octane.help.variables | Returns a table with the names of all the variables defined in a module. These are usually fields in the module, or fields in the objects created by the module. |
Provides functionality to listen to changes in Octane's node system or force an update after making a set of changes. An observer can be used to observe either item changes or time changes. The observer must be in scope to receive the events. Example usage: -- Create a new observer. myObserver = createObserver({itemChangeCallback = myCallback}). -- Start observing an item. octane.changemanager.observeItem(item, myObserver, eventMask) -- Observe a second item, using the same callback. octane.changemanager.observeItem(otherItem, myObserver, eventMask) -- Stop observing a particular item. octane.changemanager.stopItemObserver(myObserver, item) -- Stop observing all items. octane.changemanager.stopItemObserver(myObserver)
| octane.changemanager.__eq | Tests 2 observers for equality (c1 == c2). |
| octane.changemanager.__gc | GC metamethod |
| octane.changemanager.__index | Returns a property value of the observer. |
| octane.changemanager.__newindex | Updates a property of an observer. |
| octane.changemanager.__tostring | Converts value to string. |
| octane.changemanager.createObserver | Creates a change observer. |
| octane.changemanager.observeItem | Registers a callback for receiving change events for an item. If the callback is already registered, the flags from the given event mask will be added to the existing event mask. |
| octane.changemanager.observeTime | Registers a callback for receiving time change events that are emitted for the specified root node graph. Time observers will receive all events listed in octane.timeEventType. Note : All observers will receive the TimeEventType::FRAME_RATE_CHANGED event regardless of the root node graph they are observing. |
| octane.changemanager.stopItemObserver | Stops observing change events for an item. This function doesn't do anything if the observer wasn't registered with observeItem. |
| octane.changemanager.stopTimeObserver | Stops observing time events. |
| octane.changemanager.update | Updates all previous changes. When making changes in nodes it's necessary to call this function to propagate the changes in Octane. Doing this allows to modify multiple nodes and propagate the changes only once. |
| octane.changemanager.PROPS_CHANGEMANAGER_OBSERVER | Properties for an observer. |
| octane.changemanager.PROPS_ITEM_CHANGE_EVENT | Properties for an item change event. |
| octane.changemanager.PROPS_TIME_CHANGE_EVENT | Properties for a time change event. |
Provides functionality to manipulate Octane's node system.
| octane.node.__eq | Tests 2 nodes for equality (n1 == n2). |
| octane.node.__index | Fetch a property of a node item. |
| octane.node.__newindex | Updates a property of a node item. |
| octane.node.__tostring | Converts value to string. |
| octane.node.canConnectTo | Checks if a source node can be connected with to a pin on a destination node. |
| octane.node.canConnectToIx | Checks if a source node can be connected with to a pin (identified by index) on a destination node. |
| octane.node.clearAnimator | Clears the animator of an attribute. |
| octane.node.clearAnimatorIx | Clears the animator of an attribute. |
| octane.node.clearAttribute | Clears an attribute to its default value. |
| octane.node.clearAttributeIx | Clears an attribute to its default value. |
| octane.node.collapse | Collapses this node down into all destination pins. To do this all of its inputs will be collapsed as well. If the node is an input linker or it's already owned by a pin, false is returned. If the node doesn't have any destination pins, the inputs will be collapsed but not the node itself and false is returned. |
| octane.node.configureEmptyPins | Creates default nodes for empty/unconnected pins that have a default node defined. |
| octane.node.connectTo | Connects source node to a pin on destination node. |
| octane.node.connectToIx | Connects source node to a pin on destination node (identifies the pin via idx). |
| octane.node.copyAttributeFrom | Copies an attribute value from another node or graph. |
| octane.node.copyAttributeFromIx | Copies an attribute value from another node or graph. |
| octane.node.copyFrom | Copies an item into a pin or does nothing if the item can't be copied into the pin because the item is a node with the incorrect type. |
| octane.node.copyFromIx | Copies an item into a pin or does nothing if the item can't be copied into the pin because the item is a node with the incorrect type. Identifies the pin via index. |
| octane.node.create | Creates a new node. |
| octane.node.deleteUnconnectedItems | If this node is owned by a node graph, this function will remove all items owned by the parent node graph that are not directly/indirectly connected with this node. |
| octane.node.destroy | Destroys an existing node. |
| octane.node.disconnect | Disconnects the source node from a pin on the destination node. |
| octane.node.disconnectIx | Disconnects the source node from a pin on the destination node. |
| octane.node.dumpAttributes | Dump all attributes of this item to a text file. |
| octane.node.evaluate | Evaluates the attributes of a node after making changes to the node's attribute. For complex nodes like meshes and textures you have to set up the node first and afterwards call node:evaluate() |
| octane.node.expand | Expands all items owned by the pins of the node. |
| octane.node.expandOutOfPin | Expands the node out of its owner pin - if it is actually owned by a pin. If the owner pin belongs to a node that is also owned by a pin, that node will be expanded out of the owning pin as well. This continues until we find a node that is not owned by a pin anymore. |
| octane.node.exportToFile | Exports a node's raw data to a file (only mesh nodes and textures support this). The full path is determined by Octane and can be found in the A_FILENAME attribute after exporting (e.g. directory/geometry/myNode.obj). |
| octane.node.getAnimator | Returns the animator of the node's attribute. Nothing is returned when the attribute isn't animated. |
| octane.node.getAnimatorIx | Returns the animator of the node's attribute. Nothing is returned when the attribute isn't animated. |
| octane.node.getAttribute | Returns the node's attribute value. |
| octane.node.getAttributeCount | Returns the number of attributes. |
| octane.node.getAttributeInfo | Returns the info of an attribute on this node. |
| octane.node.getAttributeInfoIx | Returns the info of an attribute on this node (found via index). |
| octane.node.getAttributeIx | Returns the node's attribute value, based on its index. |
| octane.node.getConnectedNode | Returns the node connected to a pin. |
| octane.node.getConnectedNodeIx | Returns the node connected to a pin (identifies pin via index). |
| octane.node.getDestinationNodes | Returns a table with with the destination. Each element is a table with a key "node" (to access the destination node) and a key "pin" to access the name of the destination pin. |
| octane.node.getInputNode | Returns the input node of a pin (skipping linker nodes). |
| octane.node.getInputNodeIx | Returns the input node of a pin (skipping linker nodes). |
| octane.node.getNodeInfo | Returns the static information about a node. |
| octane.node.getOutputTextureValueTypeId | Retrieves the id of the type of texture value of the node's texture output |
| octane.node.getOutputTextureValueTypeName | The name of the type of texture value of the node's texture output |
| octane.node.getOwnedItem | Returns the item owned by a pin. |
| octane.node.getOwnedItemIx | Returns the item owned by a pin (identifies pin via index). |
| octane.node.getPinCount | Returns the number of pins of this node. |
| octane.node.getPinInfo | Returns the info of a pin on this node (static or dynamic). |
| octane.node.getPinInfoIx | Returns the info of a pin on this node (static or dynamic). |
| octane.node.getPinTextureValueType | Retrieves the texture value type of a node's pin given a pin id or pin name |
| octane.node.getPinTextureValueTypeIx | Retrieves the texture value type of a node's pin given a pin id or pin name |
| octane.node.getPinTextureValueTypeName | Retrieves the name of the texture value type of a node's pin given a pin id or pin name |
| octane.node.getPinTextureValueTypeNameIx | Retrieves the name of the texture value type of a node's pin given a pin index |
| octane.node.getPinValue | Returns the value of a value node (skipping linker nodes) connected to the pin. When the pin isn't connected, the default value for the pin is returned. This function doesn't work for the input pin of a linker node. |
| octane.node.getPinValueIx | Returns the value of a value node (skipping linker nodes) connected to the pin.When the pin isn't connected, the default value for the pin is returned. The pin is identified by index. This function doesn't work for the input pin of a linker node. |
| octane.node.getProperties | Returns the properties of a node. |
| octane.node.getRawArrayAttribute | Returns a handle to the internal C-array. This handle is strictly read-only. |
| octane.node.getRawArrayAttributeIx | Returns a handle to the internal C-array. This handle is strictly read-only. |
| octane.node.getTextureTypeConfiguration | Get the current typed texture node's type configuration |
| octane.node.hasAttribute | Function to find out whether a attribute exists in a node graph. |
| octane.node.hasPin | Function to find out whether a pin exists in a node. |
| octane.node.isAnimated | Function to find whether an attribute is animated. |
| octane.node.isAnimatedIx | Function to find whether an attribute is animated. |
| octane.node.setAnimator | Sets an animator on an attribute of this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| octane.node.setAnimatorIx | Sets an animator on an attribute by index on this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| octane.node.setArrayAnimator | Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| octane.node.setArrayAnimatorIx | Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| octane.node.setAttribute | Sets an attribute of a node. |
| octane.node.setAttributeIx | Sets an attribute of a node based on the attribute index. |
| octane.node.setPinValue | Sets the value attribute of a connected node through the pin. This means that the value is clamped in the range of the pin (if applicable). This function doesn't work for the input pin of a linker node. |
| octane.node.setPinValueIx | Sets the value attribute of a connected node through the pin. This means that the value is clamped in the range of the pin (if applicable). The pin is identified via its index. This function doesn't work for the input pin of a linker node. |
| octane.node.setRawArrayAttribute | Sets an attribute of a node based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| octane.node.setRawArrayAttributeIx | Sets an attribute of a node based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| octane.node.setTextureTypeConfiguration | Set the typed texture node to use a configuration given configuration parameters |
| octane.node.updateProperties | Updates the properties of a node. |
| octane.node.PROPS_ATTRIBUTE_INFO | Table with information about an attribute. |
| octane.node.PROPS_BIT_MASK_PIN_INFO | Table with info about a bit mask pin. |
| octane.node.PROPS_BOOL_PIN_INFO | Table with info about a bool type pin. |
| octane.node.PROPS_ENUM_PIN_INFO | Table with info about an enum type pin. |
| octane.node.PROPS_FLOAT_PIN_INFO | Table with info about a float type pin. |
| octane.node.PROPS_INT_PIN_INFO | Table with info about an int type pin. |
| octane.node.PROPS_NODE_INFO | Table with (static) information about a node. |
| octane.node.PROPS_NODE_ITEM | Table with (dynamic) information about a node. |
| octane.node.PROPS_OCIO_COLOR_SPACE_PIN_INFO | Table with info about an OCIO color space type pin. |
| octane.node.PROPS_OCIO_LOOK_PIN_INFO | Table with info about an OCIO look type pin. |
| octane.node.PROPS_OCIO_VIEW_PIN_INFO | Table with info about an OCIO view type pin. |
| octane.node.PROPS_PIN_IDENTIFIER | Identifies a pin on a node. Only one of id, name and index should be set. |
| octane.node.PROPS_PIN_INFO | Table with information about a nodepin. |
| octane.node.PROPS_PROJECTION_PIN_INFO | Table with info about a projection type pin. |
| octane.node.PROPS_STRING_PIN_INFO | Table with info about a string type pin. |
| octane.node.PROPS_TEXTURE_PIN_INFO | Table with info about a texture type pin. |
| octane.node.PROPS_TRANSFORM_PIN_INFO | Table with info about a transform type pin. |
Provides functionality relating to MaterialX support in Octane and for integrations
| octane.apimaterialx.findConfiguration | Find a typed texture node configuration corresponding to a given inputs and output type interface. |
| octane.apimaterialx.findConfigurationByNames | Find a typed texture node configuration corresponding to a given inputs and output type interface (specified as MaterialX input names and value types). |
| octane.apimaterialx.getAllMxNodeCategories | Get all MaterialX node categories that are supported. |
| octane.apimaterialx.getGraphMxInputNames | Get the names of inputs of a MaterialX node category represented as an Octane node graph. Graphs have dynamic pins, so there will be no pin ids. Instead, the input names are provided as an array of strings in the order they appear in the node graph. Each input name's placement in the array corresponds to the index of the input in the graph. |
| octane.apimaterialx.getGraphMxOutputNames | Get the names of outputs of a MaterialX node category represented as an Octane node graph. Graphs have dynamic pins, so there will be no pin ids. Instead, the output names are provided as an array of strings in the order they appear in the node graph. Each input name's placement in the array corresponds to the index of the output in the graph. |
| octane.apimaterialx.getGraphType | Get the Octane graph type representing a MaterialX node category. |
| octane.apimaterialx.getMxInputNamesAndPinIds | Get the MaterialX input names and their respective Octane pin ids and pin indices for a given node type |
| octane.apimaterialx.getMxNodeCategory | Get the MaterialX node category represented by a given node type. |
| octane.apimaterialx.getMxNodeCategoryOfGraphType | Get the MaterialX node category represented by a given graph type. |
| octane.apimaterialx.getMxValueType | Get the MaterialX value type represented by a texture value type. |
| octane.apimaterialx.getNodeTypes | Get the Octane node types representing a MaterialX node category. |
| octane.apimaterialx.getTextureValueType | Get the texture value type representing a MaterialX value type. |
| octane.apimaterialx.importMaterialXFile | Import a MaterialX file (`.mtlx`) as a node graph with material outputs, into a given parent graph (defaults to root). Each material output is internally connected to a separate sub-graph for each material in the MaterialX file. There can be further nesting of sub graphs based on the topology of the original material graphs in the source file. Importing has 2 modes: - Native: Uses dedicated node types for MaterialX that follow the specification - Octane: Uses pre-existing Octane node types to emulate the behaviour of the MaterialX material |
Provides functionality to create and manipulate images.
| octane.image.__gc | GC metamethod |
| octane.image.__index | Returns a property value of the image. |
| octane.image.__tostring | Converts value to string. |
| octane.image.applyBoxFilter | Applies Box filter to the image. A faster algorithm than gaussian filter. |
| octane.image.applyGaussianFilter | Applies gaussian filter to the image. |
| octane.image.applyLevels | Applies level correction to the image. |
| octane.image.calculateMeanSquareError | Compares this image to another image, and calculates the mean square error for it. |
| octane.image.compareValues | Compares this image to another image, and puts the difference in this image. |
| octane.image.compress | Compress the given image. May use a different compression type if the given type cannot represent the current image channels. Compression will fail if the image is a 2-channel YA image. Raises an error when compression fails. Otherwise the image is compressed in place. |
| octane.image.convert | Convert to a different type of image. This call is always synchronous, and is potentially slow if destinationType is a compressed format. If specifying a compressed image type that cannot represent the current image channels a different compressed type may be used. Converting to a compressed type will fail if the source image is a 2-channel YA image. |
| octane.image.copyRegion | Copies a region of an image to another image. |
| octane.image.create | Creates an image with all pixels set to 0. |
| octane.image.createFromNode | Create an image from an image texture node (NT_TEX_IMAGE or similar). |
| octane.image.fill | Fills a rectangle with a color. |
| octane.image.fillImageNode | Fills the passed in NT_TEX_IMAGE node with the data from this image. |
| octane.image.fromBase64 | Loads an image from a base64-encoded string as a bitmap, which allows you to embed small images in a script. |
| octane.image.getImageInfo | Gets the information on the given image file. |
| octane.image.getLayerInfo | Gets the information on the given image file. |
| octane.image.getPixel | Returns the value of a pixel in the image. The pixel value (1, 1) is in the top-left corner of the image, x points to the right and y points down. |
| octane.image.getProperties | Returns the image's properties. |
| octane.image.getRawPixels | Returns the pixels of this image as a C-array. This is only a raw byte array and it's up to the called how to interpret these bytes based on the image type. This array is valid until the image is garbage collected. |
| octane.image.load | Loads an image from a file as a bitmap. |
| octane.image.save | Saves an image to disk. Compressed images are saved as DDS, and regular HDR images are saved as EXR, LDR images are saved as PNG. The correct extension is added to the path (if it didn't exist yet). |
| octane.image.saveAsync | Starts saving an image to disk on a background thread. HDR images are saved as exr, LDR images are saved as png. The correct extension is added to the path (if it didn't exist yet). |
| octane.image.setPixel | Sets the value of a pixel in the image. The pixel value (1, 1) is in the top-left corner of the image, x points to the right and y points down. |
| octane.image.INFOS_IMAGE | Information of an image. |
| octane.image.INFOS_LAYER | Information of an image layer. |
| octane.image.PROPS_EXR_SAVE | Options for saving EXR files. |
| octane.image.PROPS_IMAGE | Properties of an image. |
| octane.image.PROPS_JPEG_SAVE | Options for saving JPEG files. |
| octane.image.PROPS_TIFF_SAVE | Options for saving TIFF files. |
Function to interact with the Octane file caches, e.g. the meshlet cache.
| octane.caches.checkMeshletBuildStatus | Checks the status of the cached meshlet mesh for the given mesh node. This should be run *after* the mesh node got evaluated and any meshlet data was loaded or its build was started. |
| octane.caches.checkVirtualTextureStatus | Check the status of the cached virtual texture corresponding to the settings contained in the given node. If node is nullptr, does not present a type that supports virtual textures, or if the settings don't result in a virtual texture being used, returns cacheStatus.NONE. Otherwise returns one of the other constants in CacheStatus. |
| octane.caches.clearMeshletCache | Deletes all meshlet cache files that are currently not in use. |
| octane.caches.clearMeshletCacheFileForNode | Deletes the meshlet cache file of the given node if the file isn't used anywhere else. This can be called before or after evaluation of the mesh node. |
| octane.caches.clearMeshletCacheFilesForId | Deletes all meshlet cache files for a given meshlet mesh ID that are currently not in use anywhere. |
| octane.caches.clearVirtualTextureCacheForNode | Clears the cache entry matching the settings contained in the given node item. This call succeeds only if there are no other node items referencing the same file, and if the build for the given cache entry is not currently in progress. The item is left in an intermediate state, evaluating the item after this call may rebuild the cache for the item. If a build is in progress, the build may be cancelled by this call, resulting in the file being deleted some indeterminate time after this call. |
| octane.caches.getMeshletCacheFileName | Gets the file name of the meshlet cache file if the mesh node has an associated meshlet cache file or an empty string if it does not. A meshlet cache file is only assigned to a mesh node if A_CONVERT_TO_MESHLETS is set to true and the mesh node either has been evaluated or hasMeshletCacheFile() has been called with this node. |
| octane.caches.getMeshletCacheSize | Returns the maximum size of the meshlet cache size as specified in the application preferences. |
| octane.caches.getMeshletCacheUsedSize | Returns the sum of all meshlet cache files that are currently in the meshlet cache. |
| octane.caches.getVirtualTextureCacheSize | Returns the maximum size of the virtual texture cache size as specified in the application preferences. |
| octane.caches.getVirtualTextureCacheUsedSize | Returns the sum of all virtual texture cache files that are currently in the virtual texture cache. |
| octane.caches.hasMeshletCacheFile | Checks if a cache file can be found for the given geometry import preferences and filename / meshlet ID attribute. If a meshlet cache file exists it will be opened and kept open by the mesh node. This function can be used before or after the mesh node is evaluated. When you call it before evaluation you don't have to populate the actual geometry attributes yet. This allows you to check whether you need to populate the geometry data or not and thus save a bit of memory and time. If the meshlet cache file exists and the node was not evaluated yet you still have to evaluate the mesh node to populate the material / object layer names and pins and bring the node into a consistent state. If the meshlet cache file does not exist you will have to completely populate the geometry attributes and then evaluate the mesh node. This will then kick off the meshlet build in the background. You can check the state of that build using checkMeshletBuildStatus(). |
| octane.caches.pruneVirtualTextureCache | Shrinks the virtual texture cache size by deleting virtual texture cache files that are currently not in use. |
Provides functionality to create user interfaces on top of Octane. This module cannot be used by scripted graphs.
| octane.gui.__eq | Tests 2 components for equality (c1 == c2). |
| octane.gui.__index | Fetches a property value. |
| octane.gui.__newindex | Updates a property of a component. |
| octane.gui.__tostring | Converts value to string. |
| octane.gui.bind | Binds a component's property to data in the property table. When a component's property and data are bound, updating the data value updates the property and updating the component updates the data value. A callback is called when the data value is updated from the user interface. This function will throw an error when the property is not bindable or doesn't exist. Initially, the value in the table gets the value of the component's property. |
| octane.gui.browseForAsset | Select a file for reading or saving an asset. The path to the file will be saved in the preferences, as with the dialogs shown by Octane. |
| octane.gui.closeWindow | Closes the window. This function must be called in the window event callback. Calling this function makes showWindow return. |
| octane.gui.create | Creates a GUI component. |
| octane.gui.createButton | Creates a button component. |
| octane.gui.createCheckBox | Creates a checkbox component. |
| octane.gui.createComboBox | Creates a combo box component. |
| octane.gui.createGroup | Creates a group component. |
| octane.gui.createLabel | Creates a label component. |
| octane.gui.createNumericBox | Creates a numeric box component. |
| octane.gui.createOcioColorSpaceComboBox | Creates an OCIO color space combo box component. |
| octane.gui.createOcioLookComboBox | Creates an OCIO look combo box component. |
| octane.gui.createOcioViewComboBox | Creates an OCIO view combo box component. |
| octane.gui.createParameter | Creates a label and numeric box set and returns it. |
| octane.gui.createProgressBar | Creates a progress bar component. |
| octane.gui.createPropertyTable | Creates a table holding data values that are bound to component's properties. When the values in this table are updated, the component is updated. When the component is updated, the values in the table are updated accordingly. The values must first be bound with a call to octane.gui.bind. |
| octane.gui.createSlider | Creates a slider component. |
| octane.gui.createTextEditor | Creates a text editor component. |
| octane.gui.createWindow | Creates a window component. |
| octane.gui.dispatchGuiEvents | Dispatches GUI events until the given time has elapsed. This can be used to make the GUI appear responsive while doing heavy work. The timeout should be small, in most cases it can be less than 100 milliseconds. This function should be used with care. You may receive callbacks while this function is running, like GUI callbacks, render callbacks or timer callbacks. If any of these callbacks open a dialog window, this function will not return until that window is closed, regardless of the timeout. Due to the complications above, this function should not be used to run code after a set delay, use octane.timer instead. |
| octane.gui.getProperties | Returns the component's properties. |
| octane.gui.showDialog | Shows a dialog window. This function will block until the dialog is closed. |
| octane.gui.showError | Shows an error. |
| octane.gui.showWindow | Makes this window visible, this function blocks until closeWindow is called on the window. Use the event callback function to react to UI events. |
| octane.gui.updateProperties | Updates the component's properties. |
| octane.gui.updateStatus | Updates the status of the lua script. This will display a status bar and a status message in the status bar of OctaneRender Standalone. |
| octane.gui.PROPS_BUTTON_DIALOG | Properties for a button dialog. |
| octane.gui.PROPS_DIALOG | Generic properties applicable to every dialog. |
| octane.gui.PROPS_FILE_DIALOG | Properties for a file dialog. |
| octane.gui.PROPS_GUI_BITMAP | Properties for a bitmap. |
| octane.gui.PROPS_GUI_BUTTON | Properties for a button. |
| octane.gui.PROPS_GUI_CHECK_BOX | Properties for a check box. |
| octane.gui.PROPS_GUI_COLOUR_SWATCH | Properties for a color swatch. |
| octane.gui.PROPS_GUI_COMBO_BOX | Properties for a combo box. |
| octane.gui.PROPS_GUI_COMPONENT | Generic properties that are valid for each component. |
| octane.gui.PROPS_GUI_GROUP | Properties for a group. |
| octane.gui.PROPS_GUI_LABEL | Properties for a label. |
| octane.gui.PROPS_GUI_OCIO_COLOR_SPACE_COMBO_BOX | Properties for an OCIO color space combo box. |
| octane.gui.PROPS_GUI_OCIO_LOOK_COMBO_BOX | Properties for an OCIO look combo box. |
| octane.gui.PROPS_GUI_OCIO_VIEW_COMBO_BOX | Properties for an OCIO view combo box. |
| octane.gui.PROPS_GUI_PANEL_STACK | Properties for a panel stack. |
| octane.gui.PROPS_GUI_PROGRESS_BAR | Properties for a progress bar. |
| octane.gui.PROPS_GUI_SLIDER | Properties for a slider. |
| octane.gui.PROPS_GUI_TABLE | Properties for a table. |
| octane.gui.PROPS_GUI_TABS | Properties for a tabbed component. |
| octane.gui.PROPS_GUI_WINDOW | Properties for a window. |
| octane.gui.PROPS_NUMERIC_BOX | Properties for a numeric box. |
| octane.gui.PROPS_TEXT_EDITOR | Properties for a text editor. |
| octane.gui.componentType | Types of components that can be created in a gui. |
| octane.gui.dialogIcon | Types of icons displayed on dialogs |
| octane.gui.dialogType | Types of dialogs that can be shown in the user interface. |
| octane.gui.eventType | Types of events that can be fired from a gui component. |
Provides functionality to get information about the API.
| octane.apiinfo.findConfigurationByInterface | Find the configuration that has the given node interface of texture value types of output and inputs |
| octane.apiinfo.findConfigurationByParameters | Find the configuration that the typed texture node would switch to when set to given configuration parameters |
| octane.apiinfo.getAttributeId | Returns the ID for an attribute name. |
| octane.apiinfo.getAttributeIdName | Returns the attribute ID as string specified as ID or name. |
| octane.apiinfo.getAttributeName | Returns the name for an attribute ID. |
| octane.apiinfo.getAttributeTypeName | Returns the name for an attribute type. |
| octane.apiinfo.getCompatibleTypes | Returns the graphs and nodes compatible with the output type. |
| octane.apiinfo.getGraphAttributeInfo | Returns info about an attribute available on graphs of a given type. |
| octane.apiinfo.getGraphInfo | Returns info about a graph type. |
| octane.apiinfo.getGraphTypeName | Returns the name for a graph type. |
| octane.apiinfo.getGraphTypes | Fetches all registered node graph types. |
| octane.apiinfo.getNodeAttributeInfo | Returns info about an attribute available on nodes of a given type. |
| octane.apiinfo.getNodeInfo | Returns info about a node type. |
| octane.apiinfo.getNodeTypeName | Returns the name for a node type. |
| octane.apiinfo.getNodeTypes | Fetches all registered node types. |
| octane.apiinfo.getPinId | Returns the ID of a pin based on its name. |
| octane.apiinfo.getPinIdName | Returns the pin ID as string specified as ID or name. |
| octane.apiinfo.getPinInfo | Returns info about a pin available on nodes of a given type (static pins only). |
| octane.apiinfo.getPinName | Returns the name of a pin based on its pin ID. |
| octane.apiinfo.getPinTypeName | Returns the name for a pin type. |
| octane.apiinfo.getSystemInfo | Returns a table with info about the system. |
| octane.apiinfo.getTextureValueTypeName | Gets the OSL value type name string of an octane.textureValueType |
| octane.apiinfo.isDeprecated | Returns true if a given pin info or attribute info is deprecated in the current version. |
| octane.apiinfo.PROPS_ATTR_INFO | Table with info about an attribute. |
| octane.apiinfo.PROPS_BIT_MASK_PIN_INFO | Table with info about a bit mask pin. |
| octane.apiinfo.PROPS_BOOL_PIN_INFO | Table with info about a bool type pin. |
| octane.apiinfo.PROPS_ENUM_PIN_INFO | Table with info about an enum type pin. |
| octane.apiinfo.PROPS_FLOAT_PIN_INFO | Table with info about a float type pin. |
| octane.apiinfo.PROPS_GRAPH_INFO | Table with info about a graph type. |
| octane.apiinfo.PROPS_INT_PIN_INFO | Table with info about an int type pin. |
| octane.apiinfo.PROPS_NODE_CONFIGURATION | A specific configuration of value types of a texture node's output and texture inputs |
| octane.apiinfo.PROPS_NODE_CONFIGURATION_INTERFACE | The resolved texture value types of the node's output and texture inputs in the configuration |
| octane.apiinfo.PROPS_NODE_CONFIGURATION_PARAMETERS | Parameters that control what the texture types of output and inputs are resolved to in the configuration |
| octane.apiinfo.PROPS_NODE_INFO | Table with info about a node type. |
| octane.apiinfo.PROPS_OCIO_COLOR_SPACE_PIN_INFO | Table with info about an OCIO color space type pin. |
| octane.apiinfo.PROPS_OCIO_LOOK_PIN_INFO | Table with info about an OCIO look type pin. |
| octane.apiinfo.PROPS_OCIO_VIEW_PIN_INFO | Table with info about an OCIO view type pin. |
| octane.apiinfo.PROPS_PIN_INFO | Table with info about a pin. |
| octane.apiinfo.PROPS_PROJECTION_PIN_INFO | Table with info about a projection type pin. |
| octane.apiinfo.PROPS_STRING_PIN_INFO | Table with info about a string type pin. |
| octane.apiinfo.PROPS_SYSTEM_INFO | Table with info about the user's system. |
| octane.apiinfo.PROPS_TEXTURE_NODE_TYPE_INFO | Metadata related to texture nodes with typed texture inputs and/or output |
| octane.apiinfo.PROPS_TEXTURE_PIN_INFO | Table with info about a texture type pin. |
| octane.apiinfo.PROPS_TRANSFORM_PIN_INFO | Table with info about a transform type pin. |
32-bit Mersenne Twister 19937 pseudo-random number generator functions. Use this for a consistent cross-platform engine instead of the built-in math.random()..
| octane.mt19937.max | Gets the largest possible value in the output range. |
| octane.mt19937.random | Advances the engine's state and returns the generated value. |
| octane.mt19937.random01 | Advances the engine's state and returns the generated value in the [0, 1] range. |
| octane.mt19937.seed | Sets the current state of the engine. |
There are currently 3 ways to write Lua code in OctaneRender: In a Lua script, in a Lua script graph and in a render job graph. You will find more details about those below. In general, you can use all functionality of the Lua language (OctaneRender uses currently version 5.3) as well as additional functions provided by OctaneRender to interact with Octane, the project and rendering. The Lua documentation portal can be found under the URL: https://www.lua.org/docs.html And the Lua 5.3 reference manual can be found here: https://www.lua.org/manual/5.3 The Lua API of OctaneRender is documented in the Lua API browser (which you are using right now). Another source of information are the Lua scripts and render jobs distributed with the Standalone. And last but not least you can find a lot of valuable information and exisiting scripts on our dedicated Lua scripting forum: https://render.otoy.com/forum/viewforum.php?f=73 === LUA SCRIPTS === Lua scripts can be either written directly in the Lua script editor and run from there. Or you create a file with suffix .lua in the Lua script directory that is set in the application preferences. All scripts in that directory will appear in the script menu. To run a Lua script you either select it from the script menu or you select it in the Lua script editor and click on the run button. Alternatively you can assign a keyboard shortcut via the metadata section (see below) and run the script this way. === LUA SCRIPT GRAPHS === Lua script graphs allow you to add new functionality to the node system of OctaneRender. Examples would be a script graph that allows you to switch between multiple inputs or a script graph that moves a camera along a circle. Fundamentally a Lua script graph consists of a special node graph with an assigned Lua script. This script can then create inputs and outputs of the node graph and any other node items it needs. Then whenever the time or its inputs are changed it can update the content of the node graph. For more information about writing a Lua script graph please read the documentation of the module "scriptgraph" in the Lua API browser. To create a new Lua script graph, select "Other" -> "Scripted graph" in the item dropdown menu of the node graph editor. Then start writing the Lua code. To reuse finished Lua script graphs you can either export it into a ORBX package or store it in the Local DB. Alternatively, you can add a defined category in the metadata (see below) of the Lua script and save the Lua script in the Lua script directory. After re-scanning the folder, the Lua script graph will appear as an option in the new item context menu. === RENDER JOB GRAPHS === Render job graphs are a Lua script graphs with additional callbacks so that they can be integrated into the render job render flow. For more information please consult the documentation of the module "renderjobgraph" or check out the examples we distribute with the Standalone. === METADATA === In the header of a Lua script you can define additional metadata to help the user and allow a better integration of the Lua script in the OctaneRender user interface. These are the possible fields you can define: @author - Author(s) of the script. @description - Short description of the script and what it does. @version - Version of the script. @script-id - A string unique to this script, used to identify stored script settings and data. See storage module for more details. Not valid for Lua script graphs and render job graphs. @shortcut - Shortcut key to execute the script. The shortcut should specify a key plus an optional modifier, e.g "ALT + S". The list of assigned shortcuts can be found in tab "Shortcuts" of the OctaneRender application preferences. Not valid for Lua script graphs and render job graphs. @node-registry-category - Category under which a Lua script graph registers in the node registry. Must start with "|" followed by any categories and the name under which the script graph should appear in the node graph context menu. For example, "|My script graphs|Awesome graphs|Make movie" will appear in the category "My script graphs" -> "Awesome graphs" with the menu entry "Make movie". Valid only for Lua script graphs.
Call functions after certain time-outs. Timers can't run while other Lua code is running. Setting a timer is meaningful in these situations: - standalone scripts can receive timer events during blocking function calls (such as octane.render.start or window:showWindow()); - scripted graphs can receive timer events between onEvaluate calls.
| octane.timer.__gc | GC callback. |
| octane.timer.__tostring | Converts value to string. |
| octane.timer.create | Causes a function to be executed on a regular interval. |
| octane.timer.start | Starts a timer, or change the interval of a running timer. |
| octane.timer.stop | Stop a timer. |
The render job graph is a special type of script graph, with additional features to support us with the render functions(Eg: Batch render). The main purpose of this render job will be that the render settings can be saved with the project. The render job graph will also allow us with additional options like creating multiple render job nodes for different settings Batch render job, Daylight animation job, Turntable animation job scripts are shipped with OctaneRender. These render job graphs can be created from the node graph editor context menu. Script: Please read the script graph to find out, how to use Lua script in the script graph. The attributes of the render job graph listed under GT_RENDER_JOB, this can be viewed in the items window. Two important attributes of the render job graph are described below. 1. A_TOTAL_FRAMES (write) : The script has to specify a total number of the frames exists in this render job. The number should be grand total count of all the render target animation frames (ie if animation frames = 30 and input render target count is 3 then total frames for this render job is 90) Eg: graph:setAttribute(octane.A_TOTAL_FRAMES, 90) 2. A_OUTPUT_DIRECTORY (read) : Location on the disk where we need to save the rendered files. This is set from the render job user interface. Eg: graph:getAttribute(octane.A_OUTPUT_DIRECTORY) Additional callbacks: In addition to the script graph OnInit(), onEvaluate(), OnShutdown(), this render job graph has four additional callback functions. onIterate, onSaveRenderedFrame, onStartIteration, onFinishIteration For detailed description, please click on the callbacks names listed in the members window
| octane.renderjobgraph.onFinishIteration | This callback function is called once at the end of the iteration. It can be used to release anything upon the completion of rendering. |
| octane.renderjobgraph.onIterate | Callback function, This is the main render loop callback function, which will be called for A_TOTAL_FRAMES times. Then this callback can tell octane viewport, which render target has to be rendered. |
| octane.renderjobgraph.onSaveRenderedFrame | This callback function will be called when the rendering of current frame has been completed. |
| octane.renderjobgraph.onStartIteration | This callback function is called once on the start of the iteration. The function can be used to initialize before the start of rendering. |
Provides functionality to do rendering: configuring render devices (GPUs), modifying the clay mode, starting and stopping the render engine and saving render results as images to disk.
| octane.render.callbackStop | Stops the rendering. Calling this function pauses the render and unblocks octane.render.start. |
| octane.render.canSaveDeepImage | Checks if we can the current render as a deep image. Renders can only be saved as deep images when deep image rendering is enabled and enough deep 'seed' samples are calculated. |
| octane.render.clear | Stops rendering and clears the render target. Calling this while a call to start() is running will raise an error. Use callbackStop() instead. |
| octane.render.continue | Continues rendering, if paused. Calling this while a call to start() is running will raise an error. |
| octane.render.deepImageEnabled | Checks if deep image rendering is enabled. |
| octane.render.deepPassesEnabled | Checks if deep image rendering and deep render AOVs are enabled. |
| octane.render.getAllRenderPassIds | Returns a table with the IDs of all the render AOVs available in Octane. |
| octane.render.getChangeLevel | Returns the change level of the render engine. The change level is a number tracked in the engine. It's incremented every time a change is made in the render engine. |
| octane.render.getClayMode | Returns the current clay mode. |
| octane.render.getDeviceCount | Returns the number of devices (GPUs) |
| octane.render.getDeviceProperties | Returns the properties and memory usage statistics of the rendering device. |
| octane.render.getDisplayRenderPassId | Returns the id of the render pass that is displayed, returned from the render callback. |
| octane.render.getEnabledAovs | Returns a table with the IDs of all render AOVs and composite AOVs that are enabled in the specified render target node. |
| octane.render.getGeometryStatistics | Returns the geometry statistics |
| octane.render.getMemoryUsage | Returns memory usage on the device in MB. |
| octane.render.getPreviewRenderTargetNode | Returns the preview render target node. |
| octane.render.getRenderPassInfo | Returns the information for a render pass. |
| octane.render.getRenderRegion | Returns the current render region. The coordinate system is the same as for the render results. |
| octane.render.getRenderResultStatistics | Returns the statistics for the latest render result. When no result was rendered yet, the result will be zeroed out. |
| octane.render.getRenderTargetNode | Returns the render target node that's currently rendering. Returns nil if there isn't one. |
| octane.render.getSubSampleMode | Returns the current sub-sampling mode |
| octane.render.grabRenderResult | Gets the render result. |
| octane.render.isPaused | Checks if rendering is currently paused. |
| octane.render.loadRenderState | Loads an .OCR render state. |
| octane.render.pause | Pauses the current render. Behaves the same as the pause button in the standalone. Calling this while a call to start() is running will raise an error. |
| octane.render.preview | Renders a preview of the given material |
| octane.render.previewHdr | Deprecated: Use previewHdr2 instead. Renders an HDR preview of the given material |
| octane.render.previewHdr2 | Renders an HDR preview of the given material |
| octane.render.reset | Resets the render engine. Calling this while a call to start() is running will raise an error. Use callbackStop() instead. |
| octane.render.restart | Restarts rendering. Behaves the same as the restart button in the standalone. Calling this while a call to start() is running will raise an error. |
| octane.render.saveDeepImage | Deprecated: Use saveDeepImage2 instead. Saves the raw XYZ buffers in a multi layer EXR. |
| octane.render.saveDeepImage2 | Saves the current render as a deep image. The output format is OpenEXR. |
| octane.render.saveImage | Deprecated: Use saveImage3 instead. Saves out the current render to file. When render passes are enabled, this will only save the render pass that is currently displayed in the render viewport. |
| octane.render.saveImage2 | Deprecated: Use saveImage3 instead. Saves out the current render to file. When render passes are enabled, this will only save the render pass that is currently displayed in the render viewport. |
| octane.render.saveImage3 | Saves out the current render to file. When render passes are enabled, this will only save the render pass that is currently displayed in the render viewport. |
| octane.render.saveRenderPass | Deprecated: Use saveRenderPass3 instead. Saves out a render pass to file only when the render pass is enabled |
| octane.render.saveRenderPass2 | Deprecated: Use saveRenderPass3 instead. Saves out a render pass to file only when the render pass is enabled |
| octane.render.saveRenderPass3 | Saves out a render pass to file only when the render pass is enabled |
| octane.render.saveRenderPasses | Deprecated: Use saveRenderPasses3 instead. Saves the result of all the render passes in multiple files. Only render passes that are already started by the render engine are saved out to file. |
| octane.render.saveRenderPasses2 | Deprecated: Use saveRenderPasses3 instead. Saves the result of all the render passes in multiple files. Only render passes that are already started by the render engine are saved out to file. |
| octane.render.saveRenderPasses3 | Saves the result of all the render passes in multiple files. Only render passes that are already started by the render engine are saved out to file. |
| octane.render.saveRenderPassesDeepExr | Deprecated: Use saveRenderPassesDeepExr2 instead. Saves a set of render passes into a deep pixel OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.). If deep render passes is not enabled in the kernel settings, only RENDER_PASS_BEAUTY can be exported. |
| octane.render.saveRenderPassesDeepExr2 | Saves a set of render passes into a deep pixel OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.). If deep render passes is not enabled in the kernel settings, only RENDER_PASS_BEAUTY can be exported. |
| octane.render.saveRenderPassesMultiExr | Deprecated: Use saveRenderPassesMultiExr3 instead. Saves a set of render passes into a multi-layer OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.) |
| octane.render.saveRenderPassesMultiExr2 | Deprecated: Use saveRenderPassesMultiExr3 instead. Saves a set of render passes into a multi-layer OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.) |
| octane.render.saveRenderPassesMultiExr3 | Saves a set of render passes into a multi-layer OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.) |
| octane.render.saveRenderState | Saves the render state as .OCR. |
| octane.render.setClayMode | Sets the current clay mode. |
| octane.render.setDevicesActivity | Sets the render device active for rendering. |
| octane.render.setDisplayRenderPassId | Sets the displayed render pass. This is the render pass displayed in the Octane viewport and the result returned from the render callback. This function will throw an error when rendering hasn't started yet or when the render pass is not enabled in the node. |
| octane.render.setRenderRegion | Sets the render region. Both min and max will be clamped at the actual resolution. The coordinate system is the same as for render results. |
| octane.render.setSubSampleMode | Sets the current sub-sampling mode. |
| octane.render.start | Starts rendering. This function will block until rendering is finished and returns the final render results. To get intermediate results, it's possible to add a callback function. After rendering finished the render engine will be paused. You can continue it yourself via octane.render.continue if you want. This function returns when octane.render.callbackStop is called from the callback, when the requested samples are reached or when the max render time is exceeded. |
| octane.render.synchronousTonemap | Deprecated: Use synchronousTonemap3 instead. Tonemap one or more render passes. This is a fairly slow operation and should not be called often. See also setDisplayRenderPassId(), which determines which render pass you receive via the render callback. When a list of render pass IDs is given, any duplicates, and any passes which are disabled will be omitted from the results. |
| octane.render.synchronousTonemap2 | Deprecated: Use synchronousTonemap3 instead. Tonemap one or more render passes. This is a fairly slow operation and should not be called often. See also setDisplayRenderPassId(), which determines which render pass you receive via the render callback. When a list of render pass IDs is given, any duplicates, and any passes which are disabled will be omitted from the results. |
| octane.render.synchronousTonemap3 | Tonemap one or more render passes. This is a fairly slow operation and should not be called often. See also setDisplayRenderPassId(), which determines which render pass you receive via the render callback. When a list of render pass IDs is given, any duplicates, and any passes which are disabled will be omitted from the results. |
| octane.render.PROPS_RENDER_COLOR_SPACE_INFO | Table with properties about the color space to render to. The type property determines which other properties are relevant: octane.outputColorSpaceType.KNOWN_COLOR_SPACE: colorSpace, forceToneMapping octane.outputColorSpaceType.OCIO_COLOR_SPACE: ocioColorSpaceName, ocioLookName, forceToneMapping, ocioColorSpaceCurveType octane.outputColorSpaceType.OCIO_VIEW: ocioDisplayName, ocioViewName, ocioUseViewLook, ocioLookName, forceToneMapping, ocioColorSpaceCurveType octane.outputColorSpaceType.USE_IMAGER_SETTINGS: colorSpace |
| octane.render.PROPS_RENDER_DEVICE | Table with properties of a render device. |
| octane.render.PROPS_RENDER_GEOM_STATS | Table with the geometry statistics. |
| octane.render.PROPS_RENDER_MEM_USAGE | Table with the memory usage. |
| octane.render.PROPS_RENDER_PASS_EXPORT | Table with render pass export information. |
| octane.render.PROPS_RENDER_PASS_INFO | Table with information about a render pass. |
| octane.render.PROPS_RENDER_PREVIEW | Table with properties to render a material preview. |
| octane.render.PROPS_RENDER_REGION | Table representing a render region. |
| octane.render.PROPS_RENDER_RESULT | Table with a render result. |
| octane.render.PROPS_RENDER_RESULT_STATISTICS | Table with render statistics. |
| octane.render.PROPS_RENDER_START | Table with properties to start a render. |
Arranges its child components into a resizable grid layout. The grid itself is not visible. The grid arranges cells in rows or columns. Cells can be empty or components can occupy multiple grid cells. Cells can also contain nested grids. The grid can stretch beyond its initial size but it cannot shrink beyond its initial size. You should setup the grid with the minimum initial size of the components. A grid layout can only be added to a window via the gridLayout property. Here's a usage example of the grid layout: local layout = octane.gridlayout.create() layout:startSetup() local row = 1 local title = octane.gui.create{ type=octane.componentType.TITLE_COMPONENT, text="Settings" } layout:add(title, 1, row) row = row + 1 local button1 = octane.gui.create{ type=octane.componentType.BUTTON, text="First button" } layout:add(button1, 1, row) row = row + 1 local button2 = octane.gui.create{ type=octane.componentType.BUTTON, text="Second button" } layout:add(button2, 1, row) row = row + 1 layout:setElasticityForAllRows(0) layout:endSetup() local window = octane.gui.create { type = octane.gui.componentType.WINDOW, text = "Grid layout", gridLayout = layout, -- grid is resized to fit the window width = 480, height = 640, } window:showWindow()
| octane.gridlayout.__index | __index meta-method for gridlayout. |
| octane.gridlayout.__tostring | Converts value to string. |
| octane.gridlayout.add | Adds a new component to a grid cell. |
| octane.gridlayout.addEmpty | Add a new empty grid cell. This will make sure that the dimensions of the grid are extended to fit this cell. |
| octane.gridlayout.addSpan | Adds a new component spanning multiple cells of the grid. |
| octane.gridlayout.create | Creates a new grid layout. |
| octane.gridlayout.endNestedGrid | Finishes the current nested grid and switches the context back to the parent grid. |
| octane.gridlayout.endSetup | Creates the initial layout and resizes the parent component accordingly. After that, no components can be added anymore. |
| octane.gridlayout.getHeight | Returns the current height of the grid in pixels. |
| octane.gridlayout.getWidth | Returns the current width of the grid in pixels. |
| octane.gridlayout.inSetupPhase | Returns true if the grid is in the setup phase. The setup phase means that octane.gridlayout.startSetup() was called but not yet octane.gridlayout.endSetup(). |
| octane.gridlayout.setColElasticity | Sets the stretch factor of a column. |
| octane.gridlayout.setElasticityForAllCols | Sets the elasticity for all the cols in the grid (which is the current active grid, i.e. this can be a sub-grid). |
| octane.gridlayout.setElasticityForAllRows | Sets the elasticity for all the rows in the grid (which is the current active grid, i.e. this can be a sub-grid). |
| octane.gridlayout.setRowElasticity | Sets the stretch factor of a row. |
| octane.gridlayout.startNestedGrid | Starts a new nested grid. All components that will be added after startNestedGrid() will go into the nest grid until endNestedGrid() has been called. |
| octane.gridlayout.startSetup | Starts the set up phase, where components can be added to the grid. Setting up the grid layout should be done only once. |
| octane.gridlayout.PROPS_GRID_LAYOUT | Properties of a grid layout. |
Provides common functionality used everywhere in scripts.
| octane.common.print | Prints a value, value can be of type (number, boolean, table, string, function, thread, nil). |
| octane.common.time | Returns the current time as reported by your system. This value can be compared to values returned from octane.file.getModifiedTime() and similar functions. Precision depends on the system, but it should be more precise than os.time() which returns whole seconds. |
| Description |
|---|
| Returns a table with the IDs of available external command modules. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| moduleIds | table | Table with the IDs of available external command modules. |
| Synopsis |
|---|
| moduleIds = octane.modules.getCommandModules( ) |
| Description |
|---|
| Returns the current directory from where Octane loads external modules. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to Octane's external modules directory. |
| Synopsis |
|---|
| path = octane.modules.getDirectory( ) |
| Description |
|---|
| Returns module information for the passed module Id. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| moduleId | integer | The module id. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_MODULE_INFO | table | Table with the module's properties. |
| Synopsis |
|---|
| PROPS_MODULE_INFO = octane.modules.getModuleInfo( moduleId ) |
| Description |
|---|
| Returns a table with the IDs of available external node graph modules. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| moduleIds | table | Table with the IDs of available external node graph modules. |
| Synopsis |
|---|
| moduleIds = octane.modules.getNodegraphModules( ) |
| Description |
|---|
| Execute a command module |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| moduleId | number | The command module Id. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | TRUE if the command was successfully executed. Otherwise FALSE. |
| Synopsis |
|---|
| success = octane.modules.runCommandModule( moduleId ) |
| Description |
|---|
| A directory from which modules will be loaded. The alternate method is to get the application preferences node and set the path in the A_MODULES_DIRECTORY attribute. NOTE: Modules are only loaded during application start. If a new path is set you will have to restart Octane in order to load the new modules. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | The new modules directory. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | TRUE if the directory is set successfully. Otherwise FALSE. |
| Synopsis |
|---|
| success = octane.modules.setDirectory( path ) |
| Description |
|---|
| Opens a Web UI for creating a new render task. Has no effect if no user is currently logged in. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| sceneGuid | string | GUID of the scene to be rendered. |
| Synopsis |
|---|
| octane.rendercloudmanager.newRenderTask( sceneGuid ) |
| Description |
|---|
| Uploads the current project to the server. The project name on the server will be the name of the root node graph of the project. Has no effect if no user is currently logged in. If passing in a function to missingFileCallback, the signature is: proceed = onUpdateCallback(percent) - percent (number): current upload percent from 0 to 100; - proceed (bool): whether the upload must continue after the callback returns. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootGuid | string | (optional) Scene's root version GUID on the server (this will be ignored if the project settings graph already contains versioning information). |
| onUpdateCallback | function | (optional) Upload progress update callback. It will report the total upload progress.If the callback returns FALSE the whole upload will be canceled. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_CLOUD_UPLOAD_RESULTS | table | Table containing the upload results. |
| Synopsis |
|---|
| PROPS_RENDER_CLOUD_UPLOAD_RESULTS = octane.rendercloudmanager.uploadCurrentProject( rootGuid, onUpdateCallback ) |
| Description |
|---|
| Uploads a root node graph together with the current project settings to the server. The project name on the server will be the name of the root node graph of the project. Has no effect if no user is currently logged in. If passing in a function to missingFileCallback, the signature is: proceed = onUpdateCallback(percent) - percent (number): current upload percentage from 0 to 100; - proceed (bool): whether the upload must continue after the callback returns. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootNodeGraph | graph | The root node graph to upload. The name of the root node graph will be used as project name on the server. |
| rootGuid | string | (optional) Scene's root version GUID on the server (this will be ignored if the project settings graph already contains versioning information). |
| onUpdateCallback | function | (optional) Upload progress update callback. It will report the total upload progress.If the callback returns FALSE the whole upload will be canceled. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_CLOUD_UPLOAD_RESULTS | table | Table containing the upload results. |
| Synopsis |
|---|
| PROPS_RENDER_CLOUD_UPLOAD_RESULTS = octane.rendercloudmanager.uploadRootNodeGraph( rootNodeGraph, rootGuid, onUpdateCallback ) |
| Description |
|---|
| Populates the provided table with the information for the current user's subscription. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_CLOUD_USER_SUBSCRIPTION_INFO_RESULTS | table | User subscription data. |
| Synopsis |
|---|
| PROPS_RENDER_CLOUD_USER_SUBSCRIPTION_INFO_RESULTS = octane.rendercloudmanager.userSubscriptionInfo( ) |
| Description |
|---|
| Returns the sum of 2 matrices. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| n | matrix | matrix. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| sum | matrix | The sum of the 2 matrices. |
| Synopsis |
|---|
| sum = octane.matrix.add( m, n ) |
| Description |
|---|
| Divides each element of the matrix with the scalar value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| s | matrix | scalar. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| prod | matrix | matrix |
| Synopsis |
|---|
| prod = octane.matrix.divScalar( m, s ) |
| Description |
|---|
| Returns the identity matrix. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| identity | matrix | The identity matrix. |
| Synopsis |
|---|
| identity = octane.matrix.getIdentity( ) |
| Description |
|---|
| Returns the inverse of the matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | Matrix which we'd like to invert. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inverse | matrix | The inverse of the input matrix. |
| Synopsis |
|---|
| inverse = octane.matrix.inverse( matrix ) |
| Description |
|---|
| Check if this matrix is singular. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The matrix to check. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| singular | bool | TRUE if this matrix is singular. |
| Synopsis |
|---|
| singular = octane.matrix.isSingular( matrix ) |
| Description |
|---|
| Interpolates the values of the matrices with the weight t. (e.g Rij = (1 - t ) * Aij + t * Bij) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| n | matrix | matrix. |
| t | number | interpolation weight between 0 and 1. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | matrix | matrix |
| Synopsis |
|---|
| result = octane.matrix.lerp( m, n, t ) |
| Description |
|---|
| Creates a 2d transformation matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rotationZ | number | Rotation around the Z axis in radians. |
| scale | vec | Scale vector. |
| translation | vec | Translation vector. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The transformation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.make2dTransformation( rotationZ, scale, translation ) |
| Description |
|---|
| Creates a 3d transformation matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rotation | vec | Rotation XYZ angles in radians. |
| scale | vec | Scale vector. |
| translation | vec | Translation vector. |
| order | number | Rotation order. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The transformation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.make3dTransformation( rotation, scale, translation, order ) |
| Description |
|---|
| Creates a rotation matrix of a rotation around the X axis. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| angle | number | Rotation angle in radians. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The rotation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.makeRotX( angle ) |
| Description |
|---|
| Creates a rotation matrix of a rotation around the Y axis. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| angle | number | Rotation angle in radians. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The rotation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.makeRotY( angle ) |
| Description |
|---|
| Creates a rotation matrix of a rotation around the Z axis. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| angle | number | Rotation angle in radians. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The rotation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.makeRotZ( angle ) |
| Description |
|---|
| Creates a rotation matrix for Euler angles. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| angles | vec | Rotation XYZ angles in radians. |
| order | number | Rotation order. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The rotation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.makeRotation( angles, order ) |
| Description |
|---|
| Creates a scale matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| scale | vec | The scale components. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The translation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.makeScale( scale ) |
| Description |
|---|
| Creates a translation matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| translation | vec | The translation direction. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | The translation matrix. |
| Synopsis |
|---|
| matrix = octane.matrix.makeTranslation( translation ) |
| Description |
|---|
| Returns the product of 2 matrices. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| n | matrix | matrix. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| prod | matrix | The product of the 2 matrices. |
| Synopsis |
|---|
| prod = octane.matrix.mul( m, n ) |
| Description |
|---|
| Returns the product of a matrix and a vec, applying translation to the vec. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| v | vec | vector. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| w | vec | Product of the matrix and the vector. |
| Synopsis |
|---|
| w = octane.matrix.mulP( m, v ) |
| Description |
|---|
| Multiplies each element of the matrix with the scalar value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| s | matrix | scalar. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| prod | matrix | matrix |
| Synopsis |
|---|
| prod = octane.matrix.mulScalar( m, s ) |
| Description |
|---|
| Returns the product of a matrix and a vec, not applying translation to the vec. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| v | vec | vector. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| w | vec | Product of the matrix and the vector. |
| Synopsis |
|---|
| w = octane.matrix.mulV( m, v ) |
| Description |
|---|
| Applies a scale to the matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | Matrix on which we apply the scaling. |
| scale | vec | Scale to apply. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| scaled | matrix | Matrix after applying the scaling. |
| Synopsis |
|---|
| scaled = octane.matrix.scale( matrix, scale ) |
| Description |
|---|
| Converts a matrix into rotation/scale/translation. Only orthogonal matrices can be represented (more or less) exactly by these 3 vectors. If the matrix is not orthogonal, we try to make a best guess, depending on the rotation order: We will keep the axis of the rightmost rotation operation and the plane of the axis' of the leftmost and the rightmost rotation operations, e.g.: If the rotation order is ROT_XYZ, we keep the Z axis and the X and Z axis' stay in their original plane. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | Transformation matrix to split. |
| rotationOrder | number | Rotation order. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| rotation | vec | Rotation vector. |
| scale | vec | Scale vector. |
| translation | vec | Translation vector. |
| Synopsis |
|---|
| rotation, scale, translation = octane.matrix.split( matrix, rotationOrder ) |
| Description |
|---|
| Returns the difference of 2 matrices. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| m | matrix | matrix. |
| n | matrix | matrix. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| diff | matrix | The difference of the 2 matrices. |
| Synopsis |
|---|
| diff = octane.matrix.sub( m, n ) |
| Description |
|---|
| Applies a translation to the matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | Matrix on which we apply the translation. |
| translation | vec | Translation to apply. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| translated | matrix | Matrix after applying the translation. |
| Synopsis |
|---|
| translated = octane.matrix.translate( matrix, translation ) |
| Description |
|---|
| Returns the transpose of the matrix. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| matrix | matrix | Matrix which we'd like to transpose. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| transposed | matrix | The transpose of the input matrix. |
| Synopsis |
|---|
| transposed = octane.matrix.transpose( matrix ) |
| Description |
|---|
| Returns the sum of 2 vectors. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| vec0 | vec | 1st vector (array of 3 numbers). |
| vec1 | vec | 2nd vector (array of 3 numbers). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| sum | vec | Sum of the vectors. |
| Synopsis |
|---|
| sum = octane.vec.add( vec0, vec1 ) |
| Description |
|---|
| Returns the cross product of 2 vectors. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| v | vec | 1st vector (array of 3 numbers). |
| w | vec | 2nd vector (array of 3 numbers). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cross | vec | The cross product of the vectors. |
| Synopsis |
|---|
| cross = octane.vec.cross( v, w ) |
| Description |
|---|
| Returns the dot product of 2 vectors. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| v | vec | 1st vector (array of 3 numbers). |
| w | vec | 2nd vector (array of 3 numbers). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| dot | number | The dot product of the vectors. |
| Synopsis |
|---|
| dot = octane.vec.dot( v, w ) |
| Description |
|---|
| Returns the length of a vector. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| v | vec | A vector (array of 3 numbers). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| length | number | The length of the vector. |
| Synopsis |
|---|
| length = octane.vec.length( v ) |
| Description |
|---|
| Interpolates the values of the vectors with the weight t. (e.g result.x = (1 - t ) * v.x + t * w.x) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| v | vec | vector |
| w | vec | vector |
| t | number | interpolation weight between 0 and 1. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | vec | vector |
| Synopsis |
|---|
| result = octane.vec.lerp( v, w, t ) |
| Description |
|---|
| Returns a normalized vector. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| v | vec | A vector (array of 3 numbers). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| normalized | vec | The normalized vector. |
| Synopsis |
|---|
| normalized = octane.vec.normalized( v ) |
| Description |
|---|
| Rotates a vector around an axis. (The axis must be normalized.) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| vec | vec | A vector (array of 3 numbers). |
| axis | vec | Axis of rotation (normalized). |
| radians | number | Angle of rotation in radians. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| rotated | vec | A rotated vector. |
| Synopsis |
|---|
| rotated = octane.vec.rotate( vec, axis, radians ) |
| Description |
|---|
| Returns a vector multiplied with a scalar. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| vec | vec | A vector (array of 3 numbers). |
| scalar | number | A scalar value. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| scaled | vec | Scaled vector. |
| Synopsis |
|---|
| scaled = octane.vec.scale( vec, scalar ) |
| Description |
|---|
| Returns the difference of 2 vectors. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| vec0 | vec | 1st vector (array of 3 numbers). |
| vec1 | vec | 2nd vector (array of 3 numbers). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| diff | vec | Difference of the vectors. |
| Synopsis |
|---|
| diff = octane.vec.sub( vec0, vec1 ) |
| Description |
|---|
| Boxes a pointer from LuaJIT. The pointer will be boxed in a light user data. The way to to this is pass in the results of tonumber(ffi.cast('intptr_t', ffi.cast('void*', ptr))). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| number | number | pointer wrapped in a number |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pointer | pointer | pointer wrapped in Lua light user data |
| Synopsis |
|---|
| pointer = octane.util.boxPointer( number ) |
| Description |
|---|
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| delay | number | seconds |
| Synopsis |
|---|
| octane.util.crashMe( delay ) |
| Description |
|---|
| Returns a range for float inputs. If any of the inputs is nil it is substituted with respectively a large negative or large positive value which is normally the default for a pin range. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| min | number | minimum value |
| max | number | maximum value |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| range | table | sequence of 2 numbers {min, max} |
| Synopsis |
|---|
| range = octane.util.floatRange( min, max ) |
| Description |
|---|
| Generates a 16 byte unique identifier. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| uid | string | 16-byte unique identifier |
| Synopsis |
|---|
| uid = octane.util.generateUid( ) |
| Description |
|---|
| Returns the elapse milliseconds since a fixed event (the semantics of the fixed event is system dependent -- usually this is system startup). The accuracy of this timer is system dependent. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| millisecons | number | milliseconds elapsed since fixed event |
| Synopsis |
|---|
| millisecons = octane.util.getCurrentMillis( ) |
| Description |
|---|
| Returns a range for integer inputs. If any of the inputs is nil it is substituted with respectively a large negative or large positive value which is normally the default for a pin range. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| min | number | minimum value |
| max | number | maximum value |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| range | table | sequence of 2 numbers {min, max} |
| Synopsis |
|---|
| range = octane.util.intRange( min, max ) |
| Description |
|---|
| Updates a runtime flag with the provided value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| name | string | Name of the flag to update. |
| value | number | Numerical value the flag will be updated to. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| oldValue | number | Numerical value the flag used to have before. |
| Synopsis |
|---|
| oldValue = octane.util.updateFlag( name, value ) |
| Description |
|---|
| Parse a JSON string Limitations: - Lua uses the same representation for empty objects and empty arrays. - Lua does not represent nil values in tables. Such key/value pairs will be lost. - Due to the above, if an array contains null elements, the resulting Lua table will not be a sequence. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| jsonString | string | A string containing JSON |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| data | table | The parsed data |
| Synopsis |
|---|
| data = octane.json.decode( jsonString ) |
| Description |
|---|
| Serialize a Lua value to a JSON string |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| data | table | The data to serialize. Limitations: - JSON only represents string keys for objects. Keys in a table which is not a sequence will be converted to strings. - If any key in a table is not a string, number or bool, an error will be raised. - Lua tables cannot contain nil values, and sequences cannot have 'holes'. - The empty table is serialized as an empty object ({}). This supports bool, integer, number and string values. Tables which are sequences will be serialized to arrays. Other tables will be serialized as objects. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| jsonString | string | A string containing JSON |
| Synopsis |
|---|
| jsonString = octane.json.encode( data ) |
| Description |
|---|
| Downloads a material from the LiveDB. This will add the material's nodegraph to the project's scenegraph. This function fetches online and might take a while. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| materialId | number | id of the material to download |
| destGraph | graph | destination graph for the downloaded material graph |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| output | node | output linker node of the graph |
| Synopsis |
|---|
| output = octane.livedb.downloadMaterial( materialId, destGraph ) |
| Description |
|---|
| Returns an array PROPS_LIVE_DB_CATEGORY. This will fetch the categories online so it might take a while. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cats | table | Array of PROPS_LIVE_DB_CATEGORY elements. |
| Synopsis |
|---|
| cats = octane.livedb.getCategories( ) |
| Description |
|---|
| Returns an array of PROPS_LIVE_DB_MATERIAL for the materials in a category. fetches online so it might take a while. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| category | number | category id |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| materials | table | Array of PROPS_LIVE_DB_MATERIAL elements. |
| Synopsis |
|---|
| materials = octane.livedb.getMaterials( category ) |
| Description |
|---|
| Add a row to a settings component Keys in the settings table are: - type: the data type, can be "float", "integer", "bool", "colour", "string", "file", "directory", "enum". The type determines which kind of component is created. - key: what key in the data table to use - label: The label shown in front of the component. Can be either a string or a component. - labelEnabled: true or false, will turn the label into a checkbox with the given default value. Will add an extra key in the data table with name key.."Enabled" - component: if given, must be a component which is added to the grid. Any other keys are ignored - default: initial value if the key in the data table is not yet set - enum: table representing the enum, should be a sequence of value/name pairs, eg. { {1, "Small"}, {5, "Medium"}, {10, "Large"} } or a sequence of strings. In the latter case the index in the sequence will be the value. - forSaving, wildcards: used for files or directories - various other keys are used depending on the data type, as defined in the various octane.gui.PROPS_GUI_COMPONENT variants, eg. for sliders: step, minValue and maxValue may be specified to set data ranges, callback can be specified to get additional GUI callbacks. Some scripts also operate on nodes or graphs, for this case the component can contain a combo box to let the user select the nodes. Use the following keys: - key: what key in the data table to use. This key is set to the selected node or graph. A second key, key.."Name" is used to store the node name. - type: set to "node" - items: sequence of node items to show in the dropdown. If not set, scan a node graph for items - parentGraph: which node graph to scan for matching nodes for the dropdown, if nil the project scene graph is used. - nodeTypes: limit selection to the given node types and graph types - graphTypes: see above - outputType: if set, limit selection to node items with the given output type |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | settingsgroup | Settings component. |
| settings | table | Table describing the row to add |
| Synopsis |
|---|
| octane.settingsgroup.addRow( self, settings ) |
| Description |
|---|
| Begin a new group |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | settingsgroup | Settings component. |
| name | string | The name of the group to add |
| open | bool | Wether or not this group should be open by default |
| Synopsis |
|---|
| octane.settingsgroup.beginGroup( self, name, open ) |
| Description |
|---|
| Creates a group of settings which can be shown as a component. The list argument is a table with following keys: - data: the table, created with octane.gui.createPropertyTable, containing the settings to edit. Keys in this table will be bound to the components using octane.gui.bind. - width: the initial width for this component - labelWidth: the initial width of the label column - callback (optional): callback function, see octane.gui.bind - debug: set to true to draw debugging outlines in group components See settingsgroup for a list of functions you can call on this object. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| list | table | The table describing the settings. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| group | component | The component to be displayed |
| Synopsis |
|---|
| group = octane.settingsgroup.create( list ) |
| Description |
|---|
| Shows these settings in a dialog window |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | settingsgroup | Settings component. |
| title | string | The dialog title |
| buttons | table | sequence of text strings, these are shown as buttons below the settings. Default value is {"OK"} |
| callback | function | Function to be called when one of the buttons is clicked. Signature is callback(window, button_index). Default value is octane.gui.closeWindow |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| values | multi | The return values depend on the callback, more specifically these are the values passed to octane.gui.closeWindow. With the default callback, returns the index of the button clicked, and nil when the dialog was closed with the close button in the title bar |
| Synopsis |
|---|
| values = octane.settingsgroup.showDialog( self, title, buttons, callback ) |
| Description |
|---|
| Create a component with these settings |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | settingsgroup | Settings component. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| component | component | A component, which can be added to a window or a group component. |
| Synopsis |
|---|
| component = octane.settingsgroup.toComponent( self ) |
| Description |
|---|
| Clears the current selection. |
| Synopsis |
|---|
| octane.project.clearSelection( ) |
| Description |
|---|
| Removes an item from the current selection. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| item | multi | Graph or node to remove from the current selection. |
| Synopsis |
|---|
| octane.project.deselect( item ) |
| Description |
|---|
| Returns the absolute path of the current project. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| filePath | string | Absolute path to the Octane project file. Empty string if the project wasn't saved yet. |
| Synopsis |
|---|
| filePath = octane.project.getCurrentProject( ) |
| Description |
|---|
| Returns the mesh node (NT_GEO_MESH) representing the material ball. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| materialBall | node | material ball mesh node |
| Synopsis |
|---|
| materialBall = octane.project.getMaterialBall( ) |
| Description |
|---|
| Returns the application preferences node (NT_LOCAL_APP_PREFS). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| prefs | node | Node containing the application preferences. |
| Synopsis |
|---|
| prefs = octane.project.getPreferences( ) |
| Description |
|---|
| Returns the project's preview render target. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| renderTarget | node | preview render target |
| Synopsis |
|---|
| renderTarget = octane.project.getPreviewRenderTarget( ) |
| Description |
|---|
| Returns the project settings node (NT_PROJECT_SETTINGS). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| prefs | node | Node containing the current project settings. |
| Synopsis |
|---|
| prefs = octane.project.getProjectSettings( ) |
| Description |
|---|
| Returns the scene graph of the project (root graph). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| sceneGraph | graph | scene graph of the project |
| Synopsis |
|---|
| sceneGraph = octane.project.getSceneGraph( ) |
| Description |
|---|
| Returns the items currently selected in the project. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| selection | table | Table with all items selected in the project. |
| Synopsis |
|---|
| selection = octane.project.getSelection( ) |
| Description |
|---|
| Loads an Octane project from a file. If passing in a function to missingFileCallback, the signature is: fileToUse = missingFileCallback(filename) - filename (string): value of the "filename" attribute of the node being loaded; - fileToUse (string): absolute filename, or nil if we don't have a file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| filePath | string | Absolute path to the Octane project file. |
| missingFileCallback | function | Function to handle missing asset files. If nil, missing assets will be resolved interactively. (nil by default) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the project was loaded successfully. |
| Synopsis |
|---|
| success = octane.project.load( filePath, missingFileCallback ) |
| Description |
|---|
| Checks if the current project was loaded from a package. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| fromPackage | boolean | true if the project was loaded from a package |
| Synopsis |
|---|
| fromPackage = octane.project.loadedFromPackage( ) |
| Description |
|---|
| Resets an Octane project (starts off with a new project.). If there are unsaved changes, it will ask the user what to do. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the project was reset successfully. |
| Synopsis |
|---|
| success = octane.project.reset( ) |
| Description |
|---|
| Saves the current project on disk. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the project was saved successfully. |
| Synopsis |
|---|
| success = octane.project.save( ) |
| Description |
|---|
| Saves the loaded Octane project on disk. The project can be saved either as a regular ocs file or as a package file (.orbx). Procedurally generated geometry is saved as OBJ so justregular polygonal geometry will be exported ignoring hair and particle primitives. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the ocs file (.ocs) or the package file (.orbx). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the project was saved successfully. |
| Synopsis |
|---|
| success = octane.project.saveAs( path ) |
| Description |
|---|
| Saves the loaded Octane project into a package (.orbx). The resulting package will include extra data with animated bounding boxes of the scene geometry which can be later visualized when the package is loaded in GT_REFERENCE node graph. Procedurally generated geometry is saved as OBJ so just regular polygonal geometry will be exported ignoring hair and particle primitives. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the package file (.orbx). |
| PROPS_REFERENCE_PACKAGE_EXPORT_INFO | table | Table with reference package export settings. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the project was saved successfully. |
| Synopsis |
|---|
| success = octane.project.saveAsReferencePackage( path, PROPS_REFERENCE_PACKAGE_EXPORT_INFO ) |
| Description |
|---|
| Adds an item to the current selection. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| item | multi | Graph or node to add to the current selection. |
| Synopsis |
|---|
| octane.project.select( item ) |
| Description |
|---|
| Clears the current selection, and select all the given nodes and pins. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| items | table | List of node items to select. |
| pins | table | List of node pins to select. See PROPS_PIN_IDENTIFIER. |
| selectDestination | boolean | Mark all destination pins of the given items as selected (true by default). |
| Synopsis |
|---|
| octane.project.setSelection( items, pins, selectDestination ) |
| Description |
|---|
| Unpacks a package into the provided directory. If no package path is specified, the package of the current project will unpacked. Obviously, the latter will work only if the project was loaded from a package (This will NOT switch the current loaded package to the unpacked package). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| unpackDir | string | Absolute path to the unpack directory. |
| packagePath | string | (optional) Absolute path to the package file. If not specified, the package of current project will be unpacked. |
| fileToUnpack | string | (optional) Relative path to the asset in the file to unpack only a single asset instead of the whole package. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the package was unpacked successfully. |
| Synopsis |
|---|
| success = octane.project.unpackPackage( unpackDir, packagePath, fileToUnpack ) |
| Description |
|---|
| GC callback. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| Synopsis |
|---|
| octane.geometryexporter.__gc( exporter ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.geometryexporter.__tostring( exporter ) |
| Description |
|---|
| Adds another item to export in the next frame. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| item | item | new item to add |
| Synopsis |
|---|
| octane.geometryexporter.addItem( exporter, item ) |
| Description |
|---|
| Closes the exported file. The file will eventually be closed by the garbage collector if you don't call this function, but until then it will be unreadable for other applications. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| Synopsis |
|---|
| octane.geometryexporter.close( exporter ) |
| Description |
|---|
| Create a geometry exporter. This function may raise an error if we can't create the exporter |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_GEOMETRY_EXPORTER | table | Arguments for creating the exporter. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | The exporter. |
| Synopsis |
|---|
| exporter = octane.geometryexporter.create( PROPS_GEOMETRY_EXPORTER ) |
| Description |
|---|
| createNodeGraph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| nodegraph | table | Parent node graph. |
| makeObjectLayers | number | Specify if the returned graph should have object layer inputs. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| graph | nodegraph | The created node graph. Currently this will be a geometry archive. |
| Synopsis |
|---|
| graph = octane.geometryexporter.makeGraph( exporter, nodegraph, makeObjectLayers ) |
| Description |
|---|
| Override the time sampling written to the file. By default it is inferred from the time values from the items when frames are exported. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| times | table | Array with times. This array must be sorted ascending. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (if period > 0) (times[#times] - times[1]) < period. |
| Synopsis |
|---|
| octane.geometryexporter.setTimeSampling( exporter, times, period ) |
| Description |
|---|
| Adds another item to export in the next frame. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| exporter | geometryexporter | the exporter |
| interval | table | (optional) time interval to inspect. This will be used to export subframes for fast animations. |
| Synopsis |
|---|
| octane.geometryexporter.writeFrame( exporter, interval ) |
| Description |
|---|
| Calculates a checksum based on the file's contents. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the file, or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| hash | number | Checksum calculated on the file. |
| Synopsis |
|---|
| hash = octane.file.checksum( path ) |
| Description |
|---|
| Copies a file to a different location. See octane.file.copyDirectory to copy directories. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| src | string | Absolute path to the source file. |
| dst | string | Absolute path to the destination file. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | true if the file was copied. |
| Synopsis |
|---|
| result = octane.file.copy( src, dst ) |
| Description |
|---|
| Tries to copy an entire directory, recursively. If source isn't a directory or if any target files cannot be created, this will fail. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| src | string | Absolute path to the source directory. |
| dst | string | Absolute path to the destination directory. This is the name of the actual directory to create, not the directory into which the new one should be placed. Any files inside will be overwritten by files with the same name that are copied. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | true if the directory was copied. |
| Synopsis |
|---|
| result = octane.file.copyDirectory( src, dst ) |
| Description |
|---|
| Creates a directory. This will also create the parent directories to complete the full path. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the new directory. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | true if the directory was created |
| Synopsis |
|---|
| result = octane.file.createDirectory( path ) |
| Description |
|---|
| Creates an empty file |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the new file. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | true if the file was created |
| Synopsis |
|---|
| result = octane.file.createFile( path ) |
| Description |
|---|
| Checks if an absolute path exists on the system. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| exists | boolean | true if the path exists. |
| Synopsis |
|---|
| exists = octane.file.exists( path ) |
| Description |
|---|
| Opens a file. If the passed in file name refers to a file on disk, io.open will be called. If the passed in file refers to a file in a package, octane.package.fopen will be called. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the file, or PROPS_PACKAGE_PATH. |
| mode | string | The read or write mode, as specified by io.open(). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| handle | multi | A file handle. The exact type depends on the type of file. |
| Synopsis |
|---|
| handle = octane.file.fopen( path, mode ) |
| Description |
|---|
| Returns the creation time of a file. If a file is in a package, then returns the creation time of the package. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to a file or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| time | number | Creation time (milliseconds since midnight Jan 1st 1970 UTC) |
| Synopsis |
|---|
| time = octane.file.getCreationTime( path ) |
| Description |
|---|
| Get the current working directory. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cwd | string | Current working directory |
| Synopsis |
|---|
| cwd = octane.file.getCurrentWorkingDirectory( ) |
| Description |
|---|
| Returns the extension. (e.g. /foo/bar.txt would return .txt) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Relative or absolute path, or PROPS_PACKAGE_PATH |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| fileName | string | The file extension. |
| Synopsis |
|---|
| fileName = octane.file.getFileExtension( path ) |
| Description |
|---|
| Returns the last section of a path name. (e.g. /foo/bar.txt would return bar.txt and /foo/bar would return bar. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Relative or absolute path, or PROPS_PACKAGE_PATH |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| fileName | string | The last component of the path (e.g. the filename) |
| Synopsis |
|---|
| fileName = octane.file.getFileName( path ) |
| Description |
|---|
| Returns the last part of the filename, without the extension. (e.g. /foo/bar.txt returns bar). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Relative or absolute path, or PROPS_PACKAGE_PATH |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| fileName | string | The filename without extension. |
| Synopsis |
|---|
| fileName = octane.file.getFileNameWithoutExtension( path ) |
| Description |
|---|
| Returns the size of a file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to a file or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| size | number | Size of the file in bytes |
| Synopsis |
|---|
| size = octane.file.getFileSize( path ) |
| Description |
|---|
| If the path is a link, returns the path the link points to. Otherwise the path itself is returned. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to a link. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| target | string | link target |
| Synopsis |
|---|
| target = octane.file.getLinkTarget( path ) |
| Description |
|---|
| Returns the last modification time of a file. If a file is in a package, then returns the last modification time of the package. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to a file or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| time | number | Modification time (milliseconds since midnight Jan 1st 1970 UTC) |
| Synopsis |
|---|
| time = octane.file.getModifiedTime( path ) |
| Description |
|---|
| Returns the directory the parent path of a path. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Relative or absolute path |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| fileName | string | Parent directory of the file. |
| Synopsis |
|---|
| fileName = octane.file.getParentDirectory( path ) |
| Description |
|---|
| Returns a table with full paths to common directories on the user's system. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_SPECIAL_DIRECTORIES | table | List of the special directories on the system. |
| Synopsis |
|---|
| PROPS_SPECIAL_DIRECTORIES = octane.file.getSpecialDirectories( ) |
| Description |
|---|
| Checks if a path to a file is writable or can be created. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to a file or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| writable | boolean | True if the path is writable or can be created. For a path in a package this is always false. |
| Synopsis |
|---|
| writable = octane.file.hasWriteAccess( path ) |
| Description |
|---|
| Checks if this string is an absolute path. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | A string to test. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| isAbsolute | boolean | true if the path is an absolute path. |
| Synopsis |
|---|
| isAbsolute = octane.file.isAbsolute( path ) |
| Description |
|---|
| Checks if the path is a directory. Although packages allow you to look up a file using a relative path they don't support directory access. So unlike isFile, isDirectory only works for file names |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| exists | boolean | true if the path is a directory. |
| Synopsis |
|---|
| exists = octane.file.isDirectory( path ) |
| Description |
|---|
| Checks if an absolute path exists on the system and is not a directory. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path or PROPS_PACKAGE_PATH. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| exists | boolean | true if the path exists and is a file. |
| Synopsis |
|---|
| exists = octane.file.isFile( path ) |
| Description |
|---|
| Checks if a file is a hidden file (platform specific). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to a file. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| writable | boolean | true if the file is hidden |
| Synopsis |
|---|
| writable = octane.file.isHidden( path ) |
| Description |
|---|
| Joins the file paths in the arguments together. Any relative path is appended to the previous paths, an absolute path replaces the previous paths |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | The path components to add together (this function can take any number of arguments). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| fileName | string | The combined path. |
| Synopsis |
|---|
| fileName = octane.file.join( path ) |
| Description |
|---|
| Returns a list with the contents of a directory. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to the directory to list. |
| files | boolean | true to return the files. |
| dirs | boolean | true to return the directories. |
| noHidden | boolean | true to ignore the hidden files |
| recursive | boolean | true to recurse in all the subdirectories. |
| pattern | string | (optional) Wildcard patterns to search for, separated by semicolons. (e.g. "*.png;*.jpg"). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| content | table | table with the content of the directory. |
| Synopsis |
|---|
| content = octane.file.listDirectory( path, files, dirs, noHidden, recursive, pattern ) |
| Description |
|---|
| Makes file name relative to the specified path. The filename and the path must either both be absolute (having the same root) or both relative. If both are relative, it's assumed that they are both starting at the same working directory. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| fileName | string | The file name |
| path | string | The path relative to which the filename will be afterwards. NOTE: This file name is interpreted to be a directory only. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| newFileName | string | The new relative filename. nil if it was not possible to make the file name relative to the path |
| Synopsis |
|---|
| newFileName = octane.file.makeRelativeTo( fileName, path ) |
| Description |
|---|
| Moves a file to a different location. If the destination already exists, this will try to delete the destination first, and will fail if this cannot be done. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| src | string | Absolute path to the source file. |
| dst | string | Absolute path to the destination file. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | true if the file was moved. |
| Synopsis |
|---|
| result = octane.file.move( src, dst ) |
| Description |
|---|
| Removes a file or a directory and all its subdirectories. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path to remove. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | true if the file or directory was removed |
| Synopsis |
|---|
| result = octane.file.remove( path ) |
| Description |
|---|
| Creates a filename from a template with embedded placeholders. Placeholders are single letters prefixed with a % sign. When the placeholder cannot be resolved, it's kept in the string. You can freely choose the placeholders but some of them are reserved: %e - maps to the file extension %t - maps to a timestamp in hh_mm_ss format %% - maps to the percentage sign |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| template | string | the template string to resolve |
| resolver | table | resolution table with single letters as key and the target value as value |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| string | string | resolved string |
| Synopsis |
|---|
| string = octane.file.resolveTemplate( template, resolver ) |
| Description |
|---|
| GC metamethod |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | package | The package handle. |
| Synopsis |
|---|
| octane.package.__gc( package ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | Package | The package handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.package.__tostring( package ) |
| Description |
|---|
| Close a package handle. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | package | The package handle. |
| Synopsis |
|---|
| octane.package.close( package ) |
| Description |
|---|
| Convert the inputs to a package path. You may pass in following combinations of arguments: 1. (string, string): The first argument points to the package (either an absolute path or a package handle) and the second argument is a relative path to the file inside the package 2. (string): Points to a file in the file system. 3. (PROPS_PACKAGE_PATH): Package path property table. In this case that table will be returned. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| args | multi | 1 or 2 arguments. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_PACKAGE_PATH | table | The resulting packagepath. |
| Synopsis |
|---|
| PROPS_PACKAGE_PATH = octane.package.createPath( args ) |
| Description |
|---|
| Check if a file exists. Synonym for octane.file.exists(package:getChildFile(path)) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | package | The package handle. |
| path | string | The path to the child file, must be a relative path. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| exists | boolean | true if the package contains a file with that path. |
| Synopsis |
|---|
| exists = octane.package.fexists( package, path ) |
| Description |
|---|
| Opens a file inside a package for reading. The interface of the returned object conforms to the interface of standard lua files. If path is not a relative path an error will be raised. If the file doesn't exist, or an error occurs while opening the file, returns nil and an error message. See also octane.file.fopen() which automatically will open either a file in a package or a file in the file system. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | package | The package handle. |
| path | string | The filename of the subfile. |
| mode | string | File open mode. For packages only "r" and "rb" are supported. The default is "r" |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Synopsis |
|---|
| packagefile = octane.package.fopen( package, path, mode ) |
| Description |
|---|
| Creates a package path referencing a file in this package. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | package | The package handle. |
| path | string | The path to the child file, must be a relative path. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_PACKAGE_PATH | table | The resulting packagepath. |
| Synopsis |
|---|
| PROPS_PACKAGE_PATH = octane.package.getChildFile( package, path ) |
| Description |
|---|
| Returns a sequence of all files stored in the package. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | Package | The package handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| table | table | A sequence of the files stored in the package. |
| Synopsis |
|---|
| table = octane.package.getFileList( package ) |
| Description |
|---|
| Explicitly open a package for reading. This will keep the package open until close() is called. By default any file operation on a file inside a package will implicitly open that package, and keep it open until the script finishes or until another package is accessed, or in case of scripted graphs, until the callback finishes. If necessary, open() and close() may be used for more control over when packages are opened and closed. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | The package file name. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| newFileName | package | A package handle. A program can open multiple handles to a package. The package will stay open (and locked) until all handles are closed. |
| Synopsis |
|---|
| newFileName = octane.package.open( path ) |
| Description |
|---|
| GC metamethod |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| package | package | The package handle. |
| Synopsis |
|---|
| octane.packagefile.__gc( package ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.packagefile.__tostring( packagefile ) |
| Description |
|---|
| Close file |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Synopsis |
|---|
| octane.packagefile.close( packagefile ) |
| Description |
|---|
| (unsupported) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | nil on failure |
| Synopsis |
|---|
| result = octane.packagefile.flush( packagefile ) |
| Description |
|---|
| Returns an iterator function which returns a new line from the file when called. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | nil on failure |
| Synopsis |
|---|
| result = octane.packagefile.lines( packagefile ) |
| Description |
|---|
| Reads from a file. The meaning of the arguments is the same as file:read(). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| format | multi | format specifiers. Supported formats are integer numbers, and the following strings: "a", "l", "L" and "n" (and their old synonyms like "*l" and "*line"). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | Returns one value for each format specifier. On failure, this will be nil. Additionally the (number) and "*l" formats return nil when called on a handle which is at EOF. |
| Synopsis |
|---|
| result = octane.packagefile.read( packagefile, format ) |
| Description |
|---|
| Seeks to a new position in a file. For files opened in text mode, the value for offset must be: - if whence is "pos": a value returned by this function; - otherwise: zero, to get the current position or seek to the end of the file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| whence | string | "set", "cur" or "end". This specifies the base from where the offset is calculated. The default value is "cur". |
| offset | number | The offset. The default value is 0. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | number | Returns the offset relative to the start of the file, or nil and an error message on failure. The returned offset is always measured in bytes. |
| Synopsis |
|---|
| result = octane.packagefile.seek( packagefile, whence, offset ) |
| Description |
|---|
| (unsupported) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | nil on failure |
| Synopsis |
|---|
| result = octane.packagefile.setvbuf( packagefile ) |
| Description |
|---|
| (unsupported) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| packagefile | packagefile | The file handle. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | nil on failure |
| Synopsis |
|---|
| result = octane.packagefile.write( packagefile ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.scriptgraph.__tostring( self ) |
| Description |
|---|
| Adds an asset to the graph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| asset | string | Asset path (filename or PROPS_PACKAGE_PATH) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| index | number | The index of this asset |
| Synopsis |
|---|
| index = octane.scriptgraph.appendAsset( self, asset ) |
| Description |
|---|
| gets an asset from the graph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| ix | number | The index of the asset in the array |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| path | PROPS_PACKAGE_PATH | The asset file path, or nil if the index is out of range |
| Synopsis |
|---|
| path = octane.scriptgraph.getAsset( self, ix ) |
| Description |
|---|
| Returns size of the asset array |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| count | number | size |
| Synopsis |
|---|
| count = octane.scriptgraph.getAssetCount( self ) |
| Description |
|---|
| Gets the A_VALUE attribute of the input node connected to the linker node, which can't be done directly using the input pin of the linker. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| node | linker | An input linker node of the graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| multi | value | The value connected to the input pin of the linker node. |
| Synopsis |
|---|
| multi = octane.scriptgraph.getInputValue( self, node ) |
| Description |
|---|
| Tells if an input was changed since the last evaluation. This is only meaningful when called from the evaluate function. If this is the first evaluation after loading the script, this. function returns false. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| node | linker | An input linker node of the graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| boolean | changed | true if the input was changed. |
| Synopsis |
|---|
| boolean = octane.scriptgraph.inputWasChanged( self, node ) |
| Description |
|---|
| Inserts input linkers to the script graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| inputList | table | List of input pin infos. See the module overview for how to specify input pin infos. |
| ix | index | (optional) Position in the list where the linkers are inserted if nil then linkers are inserted at the end of the list |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputs | table | The input linkers list which has been created. |
| Synopsis |
|---|
| inputs = octane.scriptgraph.insertInputLinkers( self, inputList, ix ) |
| Description |
|---|
| Callback which is called when the connected value of one of the input linker nodes changes. Can be overridden in your script object. The graph is not cleared before this callback runs, all nodes created by previous calls to init and evaluate will still be there. If onEvaluate raises an error, onShutdown will be called and no further callbacks will be received. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The scripted node graph. |
| Synopsis |
|---|
| octane.scriptgraph.onEvaluate( self, graph ) |
| Description |
|---|
| Callback which is called after initializing the scripted graph. Can be overridden in your script object. This callback will be run once after updating the script and before the call to evaluate. The graph will be cleared of all nodes except the linker nodes and the special input node before this call. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The scripted node graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the initialization finished without errors. |
| Synopsis |
|---|
| success = octane.scriptgraph.onInit( self, graph ) |
| Description |
|---|
| Callback which is called before the scripted graph is destroyed, or before the script is reloaded. Can be overridden in your script object. If the onInit callback didn't raise an error this callback will be called once before destroying the object. You should release any external resources used by the script in this function. You should not interact with the node graph contents during this function as the nodes connected to the inputs may have been deleted at this point, and saving the project has happened before this call. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The scripted node graph. |
| Synopsis |
|---|
| octane.scriptgraph.onShutdown( self, graph ) |
| Description |
|---|
| Callback which is called when the trigger button has been clicked. The trigger button will be displayed in the node inspector if onTrigger() is provided in the script object. The graph is not cleared before this callback runs, all nodes created by previous calls to init and evaluate will still be there. If onTrigger() raises an error, onShutdown() will be called and no further callbacks will be received. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The scripted node graph. |
| Synopsis |
|---|
| octane.scriptgraph.onTrigger( self, graph ) |
| Description |
|---|
| removes all the assets |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| Synopsis |
|---|
| octane.scriptgraph.removeAllAssets( self ) |
| Description |
|---|
| removes an asset from the graph. This will shift all subsequent assets one down. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| ix | number | The index of the asset in the array. If out of bounds an error is raised |
| Synopsis |
|---|
| octane.scriptgraph.removeAsset( self, ix ) |
| Description |
|---|
| removes input linkers from the script graph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| range | vec | (optional) the linker in this range will be deleted and removed from the listif nil nothing is touched, set x and y same value to remove one linker |
| Synopsis |
|---|
| octane.scriptgraph.removeInputLinkers( self, range ) |
| Description |
|---|
| Resets the node graph contents to the initial state, as it would be just before init was called. This state will always still contain all linker nodes and may contain some other nodes which are internally created and used by the scripted node graph. Any other nodes added by the script will be deleted. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| Synopsis |
|---|
| octane.scriptgraph.reset( self ) |
| Description |
|---|
| Choose if the onEvaluate function gets called after time updates, regardless of whether or not any animated nodes are connected to the inputs. This function call doesn't affect the behaviour of animated items inside the graph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| shouldEvaluate | boolean | true if the graph should be evaluated after time changes. |
| interval | vec | (optional) animation interval. This only affects the calculation of the total animation interval of the graph, the onEvaluate function will always be called after any time change. |
| Synopsis |
|---|
| octane.scriptgraph.setEvaluateTimeChanges( self, shouldEvaluate, interval ) |
| Description |
|---|
| Sets a custom icon for this scripted graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| icon | image | The icon image. This must be a RGBA image with low dynamic range. If nil, the icon is reverted to the default icon. |
| Synopsis |
|---|
| octane.scriptgraph.setIcon( self, icon ) |
| Description |
|---|
| Assigns a new node pin info to an input linker node. Must be called only from the init or evaluate function, and can't be called for an input which was changed before this evaluate call. The given pin type must match the type of the existing linker node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| node | linker | An input linker node of the graph. |
| PROPS_PIN_INFO | table | A table with pin info. See the module overview for how to specify input pin infos. |
| Synopsis |
|---|
| octane.scriptgraph.setInputInfo( self, node, PROPS_PIN_INFO ) |
| Description |
|---|
| Assigns a new node pin info to an input linker node. This version accepts more information in the pin info tables (see the octane.scriptgraph.setInputInfo documentation). As with octane.nodegraph.setInputLinkers you may pad this table with elements set to false (boolean) for linkers you don't want to touch. This is important if you want to change the linkers due to an input change. See also insertInputLinkers and removeInputLinkers. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| inputList | table | List of input pin infos. See the module overview for how to specify input pin infos. |
| range | vec | (optional) The range of linker node indices to replace. (array of 2 numbers). If nil, all linkers are replaced. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputs | table | The input linkers list which has been created. |
| Synopsis |
|---|
| inputs = octane.scriptgraph.setInputLinkers( self, inputList, range ) |
| Description |
|---|
| Sets the input value of a linker node, which can't be done directly using the input pin of the linker. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| node | linker | An input linker node of the graph. |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the connected node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.scriptgraph.setInputValue( self, node, value, evaluate ) |
| Description |
|---|
| Returns TRUE if the time was changed since the last evaluation. This is only meaningful when called from the evaluate function, if the evaluation of time changes has been enabled via setEvaluateTimeChanges(). If this is the first evaluation after loading the script, this function returns FALSE. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| boolean | changed | TRUE if the time was changed. |
| Synopsis |
|---|
| boolean = octane.scriptgraph.timeWasChanged( self ) |
| Description |
|---|
| Tests 2 graphs for equality (g1 == g2). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| g1 | node | the first graph |
| g2 | node | the second graph |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| equal | boolean | true if they're equal , false otherwise |
| Synopsis |
|---|
| equal = octane.nodegraph.__eq( g1, g2 ) |
| Description |
|---|
| Fetch a property of a node item. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | node | item |
| name | string | property name |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| equal | boolean | the value, or nil if no such value |
| Synopsis |
|---|
| equal = octane.nodegraph.__index( n1, name ) |
| Description |
|---|
| Updates a property of a node item. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | node | item |
| name | string | property name |
| value | boolean | the value to set |
| Synopsis |
|---|
| octane.nodegraph.__newindex( n1, name, value ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n | node | item |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.nodegraph.__tostring( n ) |
| Description |
|---|
| Clears the animator of an attribute. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Id or name of the attribute to clear. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.clearAnimator( graph, attribute, evaluate ) |
| Description |
|---|
| Clears the animator of an attribute. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attrIx | number | Index of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.clearAnimatorIx( graph, attrIx, evaluate ) |
| Description |
|---|
| Clears an attribute to its default value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Name of the attribute or id of the attribute |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.clearAttribute( graph, attribute, evaluate ) |
| Description |
|---|
| Clears an attribute to its default value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| index | number | Index of the attribute to clear. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.clearAttributeIx( graph, index, evaluate ) |
| Description |
|---|
| Removes animation time transformation from the graph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to remove the transformation. |
| Synopsis |
|---|
| octane.nodegraph.clearTimeTransform( graph ) |
| Description |
|---|
| Collapses this node graph down into all destination pins. To do this all of its inputs will be collapsed as well. If the node graph doesn't have exactly 1 output linker node or the output linker is not connected to any destination pin only the inputs of the node graph will be collapsed but not the graph itself and false is returned. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph which will be collapsed. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| collapsed | boolean | Returns true if this graph has been collapsed, otherwise false. |
| Synopsis |
|---|
| collapsed = octane.nodegraph.collapse( graph ) |
| Description |
|---|
| Copies an attribute value from another node or graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| dstGraph | graph | The destination graph. |
| destAttrId | number | The ID of the destination attribute. |
| srcItem | multi | The source item (node or nodegraph). |
| srcAttr | multi | Name or ID of the source attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.nodegraph.copyAttributeFrom( dstGraph, destAttrId, srcItem, srcAttr, evaluate ) |
| Description |
|---|
| Copies an attribute value from another node or graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| dstGraph | graph | The destination node. |
| destAttrId | multi | Name or ID of the destination attribute. |
| srcItem | multi | The source item (node or nodegraph). |
| srcAttrIx | number | Index of the source attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.nodegraph.copyAttributeFromIx( dstGraph, destAttrId, srcItem, srcAttrIx, evaluate ) |
| Description |
|---|
| Copies the items in the list into the destination graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destGraph | graph | The graph we copy into. |
| sourceItems | table | List of items (nodes/graphs) to copy into the graph. The items must have the same owner. |
| origItems | table | Optional list of items for which we want to identify the copies |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| sourceCopies | table | List of the copied items in the same order as the source items. |
| origCopies | table | List of the copies of the items in origItems list in the same order. Returned only if origItems is given. |
| Synopsis |
|---|
| sourceCopies, origCopies = octane.nodegraph.copyFrom( destGraph, sourceItems, origItems ) |
| Description |
|---|
| Copies the items owned by the source graph into the destination graph. When an optional list of original items is provided, the function returns a list with their respective copies. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destGraph | graph | The graph we copy into. |
| sourceGraph | graph | The graph from which we copy the owned items. |
| origItems | table | Optional list of items for which we want to identify the copies |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| copiedItems | table | List of the copies of the items in origItems list in the same order. |
| Synopsis |
|---|
| copiedItems = octane.nodegraph.copyFromGraph( destGraph, sourceGraph, origItems ) |
| Description |
|---|
| Copies the full tree that has item as root into the destination graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destGraph | graph | The graph we copy into. |
| rootItem | item | Item at the root of our tree (should have an owner) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| copy | item | Copy of the root item. |
| Synopsis |
|---|
| copy = octane.nodegraph.copyItemTree( destGraph, rootItem ) |
| Description |
|---|
| Creates a new node graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_NODE_ITEM | table | Table with properties for the graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The freshly created graph. |
| Synopsis |
|---|
| graph = octane.nodegraph.create( PROPS_NODE_ITEM ) |
| Description |
|---|
| Creates a root graph. Root graphs are graphs without owners. When they're not destroyed by the script, they are destroyed when the script ends. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| name | string | Optional name for the root graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| rootgraph | graph | The freshly created root graph. |
| Synopsis |
|---|
| rootgraph = octane.nodegraph.createRootGraph( name ) |
| Description |
|---|
| Deletes all child items from this graph. Clears all the items if the filter argument is nil. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph to delete the items from. |
| filter | multi | Optional filter function to apply. This function should take one argument, the item, and should return true if this item should be deleted. |
| Synopsis |
|---|
| octane.nodegraph.deleteOwnedItems( graph, filter ) |
| Description |
|---|
| If this node graph is owned by another node graph, this function will remove all items owned by the parent node graph that are not directly/indirectly connected with this graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph for which we check what is connected and what not. |
| Synopsis |
|---|
| octane.nodegraph.deleteUnconnectedItems( graph ) |
| Description |
|---|
| Destroys an existing graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to destroy. |
| Synopsis |
|---|
| octane.nodegraph.destroy( graph ) |
| Description |
|---|
| Evaluates the attributes of a graph after making changes to the graph's attribute. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to evaluate. |
| Synopsis |
|---|
| octane.nodegraph.evaluate( graph ) |
| Description |
|---|
| Expands all items owned by the input linkers of the node graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph of which the inputs will be expanded. |
| Synopsis |
|---|
| octane.nodegraph.expand( graph ) |
| Description |
|---|
| Expands the node graph out of its owner pin - if it is actually owned by a pin. If the owner pin belongs to a node that is also owned by a pin, that node will be expanded out of the owning pin as well. This continues until we find a node that is not owned by a pin anymore. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph which will be expanded out of a pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| itselfOrCopy | graph | Returns itself, if the graph is not owned by any pin or a copy of itself, if it is. |
| Synopsis |
|---|
| itselfOrCopy = octane.nodegraph.expandOutOfPin( graph ) |
| Description |
|---|
| Exports the provided root graph into a file (.orbx or .ocs). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | rootgraph | Root graph that we'll export to file. |
| path | path | Absolute path to the file to export (.ocs or .orbx). |
| ocsRelativePaths | boolean | True to store relative paths to assets if saving an .ocs file, false to store absolute paths. Optional; the default value is true. Ignored if saving an .orbx file. |
| Synopsis |
|---|
| octane.nodegraph.exportToFile( graph, path, ocsRelativePaths ) |
| Description |
|---|
| Exports the provided root graph into a string (.ocs xml format). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | rootgraph | root graph which we'll export to a string. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| xml | path | .ocs xml string |
| Synopsis |
|---|
| xml = octane.nodegraph.exportToString( graph ) |
| Description |
|---|
| Returns the first node in the graph that matches the type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to search. |
| nodeType | number | The node type to search for. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node that matches the provided type. |
| Synopsis |
|---|
| node = octane.nodegraph.findFirstNode( graph, nodeType ) |
| Description |
|---|
| Returns the first output node in the graph that matches the type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to search. |
| pinType | number | The pin type to search for. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node that matches the provided type. |
| Synopsis |
|---|
| node = octane.nodegraph.findFirstOutputNode( graph, pinType ) |
| Description |
|---|
| Returns the list of items in the graph that have the given name. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to search. |
| name | string | The name to search for. |
| recurse | boolean | true to recurses in embedded graphs (default is false). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| items | table | Items that match the provided name. |
| Synopsis |
|---|
| items = octane.nodegraph.findItemsByName( graph, name, recurse ) |
| Description |
|---|
| Returns the nodes in the graph of the provided type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to search. |
| nodeType | number | The node type to search for. |
| recurse | boolean | true to recurses in embedded graphs (default is false). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| nodes | table | Nodes that match the provided type. |
| Synopsis |
|---|
| nodes = octane.nodegraph.findNodes( graph, nodeType, recurse ) |
| Description |
|---|
| Returns the total time span for all animations in this graph. This only works on root graphs. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootGraph | graph | The root graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| timespan | table | table with the minimum and maximum time. |
| Synopsis |
|---|
| timespan = octane.nodegraph.getAnimationTimeSpan( rootGraph ) |
| Description |
|---|
| Returns the animator of the graph's attribute. Nothing is returned when the attribute isn't animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph |
| attribute | multi | ID or name of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| times | table | Array with the time values. |
| period | number | Period of the time values. |
| values | multi | Array with values. For an array attributes, the values are grouped per array element (e.g. for array values a, b, c, d, e animated over 3 time stamps we would return a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, e1, e2, e3. |
| isArray | boolean | TRUE if this the attribute is an array attribute. |
| numTimes | number | Number of time values for each array element, if the attribute is an array attribute, 0 otherwise. In the example above numTimes would be 3. |
| Synopsis |
|---|
| times, period, values, isArray, numTimes = octane.nodegraph.getAnimator( graph, attribute ) |
| Description |
|---|
| Returns the animator of the graph's attribute. Nothing is returned when the attribute isn't animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph |
| attributeIx | number | Index of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| times | table | Array with the time values. |
| period | number | Period of the time values. |
| values | multi | Array with values. For an array attributes, the values are grouped per array element (e.g. for array values a, b, c, d, e animated over 3 time stamps we would return a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, e1, e2, e3. |
| isArray | boolean | TRUE if this the attribute is an array attribute. |
| numTimes | number | Number of time values for each array element, if the attribute is an array attribute, 0 otherwise. In the example above numTimes would be 3. |
| Synopsis |
|---|
| times, period, values, isArray, numTimes = octane.nodegraph.getAnimatorIx( graph, attributeIx ) |
| Description |
|---|
| Returns the graph's attribute value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Name of the attribute or id of the attribute |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value of the attribute. |
| Synopsis |
|---|
| value = octane.nodegraph.getAttribute( graph, attribute ) |
| Description |
|---|
| Returns the number of attributes. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| count | number | Number of attributes on this graph. |
| Synopsis |
|---|
| count = octane.nodegraph.getAttributeCount( graph ) |
| Description |
|---|
| Returns the info of an attribute on this graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Name of the attribute or id of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ATTRIBUTE_INFO | table | Table with the info of the attribute. |
| Synopsis |
|---|
| PROPS_ATTRIBUTE_INFO = octane.nodegraph.getAttributeInfo( graph, attribute ) |
| Description |
|---|
| Returns the info of an attribute on this graph (found via index). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attributeIndex | number | Index of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ATTRIBUTE_INFO | table | Table with the info of the attribute. |
| Synopsis |
|---|
| PROPS_ATTRIBUTE_INFO = octane.nodegraph.getAttributeInfoIx( graph, attributeIndex ) |
| Description |
|---|
| Returns the graph's attribute value, based on its index. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | number | The graph. |
| index | number | Optional index of the attribute, when omitted, the first attribute is returned. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value of the graph's attribute. |
| Synopsis |
|---|
| value = octane.nodegraph.getAttributeIx( graph, index ) |
| Description |
|---|
| Returns the input linker nodes of this graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputNodes | table | Table with the input linker nodes of the graph. |
| Synopsis |
|---|
| inputNodes = octane.nodegraph.getInputNodes( graph ) |
| Description |
|---|
| Returns the static information about a graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | Graph from which we'd like to get the info. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_GRAPH_INFO | table | Table with the info of the graph. |
| Synopsis |
|---|
| PROPS_GRAPH_INFO = octane.nodegraph.getNodeGraphInfo( graph ) |
| Description |
|---|
| Returns the output linker nodes of this graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| outputNodes | table | Table with the output linker nodes of the graph. |
| Synopsis |
|---|
| outputNodes = octane.nodegraph.getOutputNodes( graph ) |
| Description |
|---|
| Returns the items (graphs and nodes) owned by this graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| ownedItems | table | Table with the items the graph owns. |
| Synopsis |
|---|
| ownedItems = octane.nodegraph.getOwnedItems( graph ) |
| Description |
|---|
| Returns the properties of a graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | Graph from which we'd like to get the properties. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_NODE_ITEM | table | Table with the properties of the graph. |
| Synopsis |
|---|
| PROPS_NODE_ITEM = octane.nodegraph.getProperties( graph ) |
| Description |
|---|
| Returns a handle to the internal C-array. This handle is strictly read-only. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Name of the attribute or id of the attribute |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| handle | octane.util.PROPS_C_ARRAY | Handle to the attribute array. |
| Synopsis |
|---|
| handle = octane.nodegraph.getRawArrayAttribute( graph, attribute ) |
| Description |
|---|
| Returns a handle to the internal C-array. This handle is strictly read-only. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| index | number | Optional index of the attribute, when omitted, the first attribute is returned. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| handle | octane.util.PROPS_C_ARRAY | Handle to the attribute array. |
| Synopsis |
|---|
| handle = octane.nodegraph.getRawArrayAttributeIx( graph, index ) |
| Description |
|---|
| Returns current time transform of the graph or nil. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to get the time transform. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| timeTransformProps | table | Time transform properties. If not nil, use the "type" property (octane.animationTimeTransformType) to check the time transform type. Currently only PROPS_TIMETRANSFORM_LINEAR is supported. |
| Synopsis |
|---|
| timeTransformProps = octane.nodegraph.getTimeTransform( graph ) |
| Description |
|---|
| Replace a list of node items with a nodegraph containing a copy of these items. Any connections coming from other nodes are copied through linker nodes. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| owner | graph | graph owning the items to group |
| items | table | list of items to group (these items are destroyed) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| grouped | graph | graph containing copies of the original items |
| Synopsis |
|---|
| grouped = octane.nodegraph.group( owner, items ) |
| Description |
|---|
| Function to find out whether a attribute exists in a node graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph we check. |
| attribute | multi | Name of the attribute or id of the attribute |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | boolean | TRUE if the attribute exists. Otherwise FALSE |
| Synopsis |
|---|
| value = octane.nodegraph.hasAttribute( graph, attribute ) |
| Description |
|---|
| Imports an .ocs or .orbx file into the provided root nodegraph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | rootgraph | root graph in which we import the file |
| path | path | absolute path to the file to import |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| version | number | version of Octane the file was saved with |
| Synopsis |
|---|
| version = octane.nodegraph.importFromFile( graph, path ) |
| Description |
|---|
| Imports an .ocs string into the provided root graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | rootgraph | root graph in which we import the file |
| xml | string | String with the ocs-xml content. |
| baseDir | string | base directory for asset resolution |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| version | number | Version of Octane the ocs file was written in. |
| Synopsis |
|---|
| version = octane.nodegraph.importFromString( graph, xml, baseDir ) |
| Description |
|---|
| Inserts input linkers to the node graph. If this node graph is a scripted graph the inputList argument can contain more information as specified in octane.scriptgraph.setInputLinkers. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph. |
| inputList | table | List of input pin infos. Every element is a table containing with keys like: "label", the name of the linker node and "type", a pin type, like octane.PT_FLOAT (see PROPS_PIN_INFO properties for full list). |
| ix | index | (optional) Position in the list where the linkers are inserted if nil then linkers are inserted at the end of the list |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputs | table | The input linkers list which has been created. |
| Synopsis |
|---|
| inputs = octane.nodegraph.insertInputLinkers( graph, inputList, ix ) |
| Description |
|---|
| Function to find whether an attribute is animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph of which we check the attribute. |
| attribute | multi | ID or name of the attribute to clear. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| animated | boolean | Returns TRUE if the attribute has an animator assigned to it. |
| Synopsis |
|---|
| animated = octane.nodegraph.isAnimated( graph, attribute ) |
| Description |
|---|
| Function to find whether an attribute is animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph of which we check the attribute. |
| attrIx | number | Index of the attribute. |
| Synopsis |
|---|
| octane.nodegraph.isAnimatedIx( graph, attrIx ) |
| Description |
|---|
| Loads all top-level reference graphs in the provided root graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootGraph | graph | The root graph. |
| Synopsis |
|---|
| octane.nodegraph.loadAllReferences( rootGraph ) |
| Description |
|---|
| Returns the number of reference graphs in the provided root graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootGraph | graph | The root graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| count | number | The count of reference graphs that exist in the provided root graph. |
| Synopsis |
|---|
| count = octane.nodegraph.referenceGraphCount( rootGraph ) |
| Description |
|---|
| removes input linkers from the node graph |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph. |
| range | vec | (optional) the linker in this range will be deleted and removed from the listif nil nothing is touched, set x and y same value to remove one linker |
| Synopsis |
|---|
| octane.nodegraph.removeInputLinkers( graph, range ) |
| Description |
|---|
| Sets an animator on an attribute of this graph. Only attributes of type AT_BOOL, AT_FLOAT, AT_MATRIX, AT_FILENAME, AT_STRING can have animators. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Id or name of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values each value corresponds to a time in the times array. It must have the same length as the times array and the values must have the same type as the attribute type. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (if period > 0) (times[#times] - times[1] < period) |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.setAnimator( graph, attribute, times, values, period, evaluate ) |
| Description |
|---|
| Sets an animator on an attribute of this graph. Only attributes of type AT_BOOL, AT_FLOAT, AT_MATRIX, AT_FILENAME, AT_STRING can have animators. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attributeIx | multi | Index of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values each value corresponds to a time in the times array. It must have the same length as the times array and the values must have the same type as the attribute type. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (times[#times] - times[1] < period) |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.setAnimatorIx( graph, attributeIx, times, values, period, evaluate ) |
| Description |
|---|
| Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT and AT_MATRIX can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Id or name of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values. The array first contains all the animated values for the first element, then for the second element, and so on. |
| numTimes | number | The number of time stamps in the value array. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (if period > 0) (times[#times] - times[1]) < period. |
| Synopsis |
|---|
| octane.nodegraph.setArrayAnimator( graph, attribute, times, values, numTimes, period ) |
| Description |
|---|
| Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT and AT_MATRIX can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attributeIx | multi | Index of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values. The array first contains all the animated values for the first element, then for the second element, and so on. |
| numTimes | number | The number of time stamps in the value array. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (times[#times] - times[1] < period) |
| Synopsis |
|---|
| octane.nodegraph.setArrayAnimatorIx( graph, attributeIx, times, values, numTimes, period ) |
| Description |
|---|
| Sets an attribute of a graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Name of the attribute or id of the attribute |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.setAttribute( graph, attribute, value, evaluate ) |
| Description |
|---|
| Sets an attribute of a graph based on the attribute index. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| index | number | Index of the attribute to set. |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the graph's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.setAttributeIx( graph, index, value, evaluate ) |
| Description |
|---|
| Updates the input linker nodes of this node graph. This function takes an array of tables containing information of which linker nodes should be present. For every table it either uses an existing linker node or it creates a new one, with the name specified in the table. Any linker node not on this list will be destroyed. Use this function to modify the list of linkers in a graph while retaining connections with outside nodes as much as possible. If some values in the list are set to false (boolean) instead of a table, linkers at this index will not be touched. Do not use nil as this will terminate the list. If this node graph is a scripted graph the inputList argument can contain more information as specified in octane.scriptgraph.setInputLinkers, and it can only be called from within its evaluate function. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph. |
| inputList | table | List of input pin infos. Every element is a table containing these keys: "label" (name of the linker node), and "type" (a pin type, like octane.PT_FLOAT. See PROPS_PIN_INFO properties). |
| range | vec | (optional) The range of linker node indices to replace. (array of 2 numbers). If nil, all linkers are replaced. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputs | table | The input linkers list which has been created. |
| Synopsis |
|---|
| inputs = octane.nodegraph.setInputLinkers( graph, inputList, range ) |
| Description |
|---|
| Can be used to offset or scale the animation playback. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to set the transformation. |
| delay | number | The delay of the animation start time in seconds. |
| speedUp | number | The scale of the animation playback speed (default is 1). |
| customInterval | vec | (optional) Start and end time (in seconds) of the untransformed time of the animation that should be played. The animation outside this interval will be cut out. E.g. if the start time is 2s and the delay is 0s, then the transformed animation at time 0 will be that of the untransformed animation at time 2s. |
| Synopsis |
|---|
| octane.nodegraph.setLinearTimeTransform( graph, delay, speedUp, customInterval ) |
| Description |
|---|
| Updates the input output nodes of this node graph. This function an array of tables containing information of which linker nodes should be present. For every table it either uses an existing linker node or it creates a new one, with the name specified in the table. Any linker node not on this list will be destroyed. Use this function to modify the list of linkers in a graph while retaining connections with outside nodes as much as possible. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The node graph. |
| inputList | table | List of input pin infos. Every element is a table containing these two keys: "label", the name of the linker node and "type", a pin type, like octane.PT_FLOAT (see PROPS_PIN_INFO properties). |
| range | vec | (optional) The range of linker node indices to replace. (array of 2 numbers). If nil, all linkers are replaced. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputs | table | The input linkers list which has been created. |
| Synopsis |
|---|
| inputs = octane.nodegraph.setOutputLinkers( graph, inputList, range ) |
| Description |
|---|
| Sets an attribute of a graph based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| attribute | multi | Name of the attribute or id of the attribute |
| handle | octane.util.PROPS_C_ARRAY | Raw handle to the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.setRawArrayAttribute( graph, attribute, handle, evaluate ) |
| Description |
|---|
| Sets an attribute of a graph based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph. |
| index | number | Index of the attribute to set. |
| handle | octane.util.PROPS_C_ARRAY | Raw handle to the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.nodegraph.setRawArrayAttributeIx( graph, index, handle, evaluate ) |
| Description |
|---|
| Unfolds the node graph spaghetti if the graph is inspectable. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destGraph | graph | The graph we want to unfold. |
| recursive | boolean | Enables the unfolding of all nested graphs (optional, default=false). |
| Synopsis |
|---|
| octane.nodegraph.unfold( destGraph, recursive ) |
| Description |
|---|
| Replaces a nodegraph with a copy of its content in the parent node graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | graph to ungroup (this graph is destroyed) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| ungrouped | table | list containing the ungrouped items |
| Synopsis |
|---|
| ungrouped = octane.nodegraph.ungroup( graph ) |
| Description |
|---|
| Unloads all top-level reference graphs in the provided root graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootGraph | graph | The root graph. |
| Synopsis |
|---|
| octane.nodegraph.unloadAllReferences( rootGraph ) |
| Description |
|---|
| Updates the properties of a graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graph | graph | The graph to update. |
| PROPS_NODE_ITEM | table | Table with properties to update. |
| Synopsis |
|---|
| octane.nodegraph.updateProperties( graph, PROPS_NODE_ITEM ) |
| Description |
|---|
| Updates the current time in the graph. Works only for root graphs. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| rootGraph | graph | The root graph. |
| time | number | The new time value. |
| sendUpdate | boolean | Optional flag to update the render data, the default is true. |
| Synopsis |
|---|
| octane.nodegraph.updateTime( rootGraph, time, sendUpdate ) |
| Description |
|---|
| Adds a user-defined Lua function to the API registry. Call this function before adding function documentation. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module to register the function in. |
| function | string | Name of the function to register. |
| Synopsis |
|---|
| octane.help.addFunction( module, function ) |
| Description |
|---|
| Adds documentation to a user-defined Lua function. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module the Lua function is in. |
| functionName | string | Name of Lua function to document. |
| description | string | Description of Lua function. |
| args | table | Table with arguments. Eg. { name = "width", type = "string",description = "Width of screen." } |
| returns | table | Table with return parameters. Eg. { name = "success", type = "boolean",description = "Whether the operation succeeded." } |
| Synopsis |
|---|
| octane.help.addFunctionDoc( module, functionName, description, args, returns ) |
| Description |
|---|
| Adds a user-defined Lua module to the API registry. Call this function before adding functions to the module. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| description | string | Description of the module. |
| Synopsis |
|---|
| octane.help.addModule( module, description ) |
| Description |
|---|
| Returns a table with a description and the values defined for an enumeration. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| enumName | string | Name of the enumeration. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| doc | table | Table with the documentation, structured as follows: {description, values={ [i]={name, value, description, deprecated} } }. |
| Synopsis |
|---|
| doc = octane.help.constantDoc( module, enumName ) |
| Description |
|---|
| Returns a table with the names of all the constants defined in a module. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| constants | table | Table with all the constants defined in the module. |
| Synopsis |
|---|
| constants = octane.help.constants( module ) |
| Description |
|---|
| Returns a table with documentation about a function. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| moduleName | string | Name of the API module. |
| functionName | string | Name of the function in the module. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| doc | table | Table documentation about the function. |
| Synopsis |
|---|
| doc = octane.help.functionDoc( moduleName, functionName ) |
| Description |
|---|
| Returns a table with the names of all the functions defined in a module. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| functions | table | Table with all the functions defined in the module. |
| Synopsis |
|---|
| functions = octane.help.functions( module ) |
| Description |
|---|
| Displays help about an Octane Lua API function |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| function | function | Lua Octane API function |
| Synopsis |
|---|
| octane.help.help( function ) |
| Description |
|---|
| Returns a table with the available modules. The key is the module name and the value is a descriptive string. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| modules | table | Table with all the modules. |
| Synopsis |
|---|
| modules = octane.help.modules( ) |
| Description |
|---|
| Returns a table with the names of all the properties defined in a module. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| properties | table | Table with all the properties relevant in the module. |
| Synopsis |
|---|
| properties = octane.help.properties( module ) |
| Description |
|---|
| Returns a table with a description of certain properties. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| properties | string | Name of the properties. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| doc | table | Table with info about the properties. |
| Synopsis |
|---|
| doc = octane.help.propertiesDoc( module, properties ) |
| Description |
|---|
| Returns a table with a description of certain variables. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| variable | string | Name of the variable. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| doc | table | Table with info about the properties. |
| Synopsis |
|---|
| doc = octane.help.variableDoc( module, variable ) |
| Description |
|---|
| Returns a table with the names of all the variables defined in a module. These are usually fields in the module, or fields in the objects created by the module. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| module | string | Name of the module. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| properties | table | Table with all the variables relevant in the module. |
| Synopsis |
|---|
| properties = octane.help.variables( module ) |
| Description |
|---|
| Tests 2 observers for equality (c1 == c2). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| o1 | observer | the first observer |
| o2 | observer | the second observer |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| equal | boolean | true if they're equal, false otherwise |
| Synopsis |
|---|
| equal = octane.changemanager.__eq( o1, o2 ) |
| Description |
|---|
| GC metamethod |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | the observer |
| Synopsis |
|---|
| octane.changemanager.__gc( observer ) |
| Description |
|---|
| Returns a property value of the observer. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | the observer |
| propertyName | string | name of the property |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| propertyValue | multi | the value of the property or nil if there is no such property |
| Synopsis |
|---|
| propertyValue = octane.changemanager.__index( observer, propertyName ) |
| Description |
|---|
| Updates a property of an observer. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | observer | observer |
| name | string | property name |
| value | boolean | the value to set |
| Synopsis |
|---|
| octane.changemanager.__newindex( n1, name, value ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | the observer |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.changemanager.__tostring( observer ) |
| Description |
|---|
| Creates a change observer. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_CHANGEMANAGER_OBSERVER | table | Table with properties for the observer. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | The freshly created observer. |
| Synopsis |
|---|
| observer = octane.changemanager.createObserver( PROPS_CHANGEMANAGER_OBSERVER ) |
| Description |
|---|
| Registers a callback for receiving change events for an item. If the callback is already registered, the flags from the given event mask will be added to the existing event mask. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| item | item | The item that should be observed. It must be a valid node or nodegraph. |
| observer | observer | The observer interested in receiving change events. |
| eventMask | int | A bitmask of octane.changeEventType flags corresponding to the events the observer wants to receive. |
| Synopsis |
|---|
| octane.changemanager.observeItem( item, observer, eventMask ) |
| Description |
|---|
| Registers a callback for receiving time change events that are emitted for the specified root node graph. Time observers will receive all events listed in octane.timeEventType. Note : All observers will receive the TimeEventType::FRAME_RATE_CHANGED event regardless of the root node graph they are observing. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | The observer interested in changes. |
| rootNodeGraph | graph; | The root node graph that should be observed. |
| Synopsis |
|---|
| octane.changemanager.observeTime( observer, rootNodeGraph ) |
| Description |
|---|
| Stops observing change events for an item. This function doesn't do anything if the observer wasn't registered with observeItem. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | The observer that wants to stop observing. |
| item | item | (optional) The item to stop observing. If this is nil the observer stops observing all the items it was observing. |
| Synopsis |
|---|
| octane.changemanager.stopItemObserver( observer, item ) |
| Description |
|---|
| Stops observing time events. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| observer | observer | The observer that wants to stop observing. |
| rootNodeGraph | graph | (optional) The root node graph to stop observing. If this is nil the change manager will stop the observer observing from all root node graphs it was observing. |
| Synopsis |
|---|
| octane.changemanager.stopTimeObserver( observer, rootNodeGraph ) |
| Description |
|---|
| Updates all previous changes. When making changes in nodes it's necessary to call this function to propagate the changes in Octane. Doing this allows to modify multiple nodes and propagate the changes only once. |
| Synopsis |
|---|
| octane.changemanager.update( ) |
| Description |
|---|
| Tests 2 nodes for equality (n1 == n2). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | node | the first node |
| n2 | node | the second node |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| equal | boolean | true if they're equal , false otherwise |
| Synopsis |
|---|
| equal = octane.node.__eq( n1, n2 ) |
| Description |
|---|
| Fetch a property of a node item. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | node | item |
| name | string | property name |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| equal | boolean | the value, or nil if no such value |
| Synopsis |
|---|
| equal = octane.node.__index( n1, name ) |
| Description |
|---|
| Updates a property of a node item. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | node | item |
| name | string | property name |
| value | boolean | the value to set |
| Synopsis |
|---|
| octane.node.__newindex( n1, name, value ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n | node | item |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.node.__tostring( n ) |
| Description |
|---|
| Checks if a source node can be connected with to a pin on a destination node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destinationNode | node | The destination node. |
| pin | multi | Name or ID of the pin. |
| sourceNode | node | The source node. |
| doCycleCheck | boolean | Set to TRUE if you want to do a check for graph cycles. Default is FALSE. Octane doesn't allow cycles in the node graph, but this check can be fairly expensive. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | boolean | TRUE if the node can be connected to the pin, FALSE if not. |
| Synopsis |
|---|
| value = octane.node.canConnectTo( destinationNode, pin, sourceNode, doCycleCheck ) |
| Description |
|---|
| Checks if a source node can be connected with to a pin (identified by index) on a destination node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destinationNode | node | The destination node. |
| pinIdx | number | Index of the pin. |
| sourceNode | node | The source node. |
| doCycleCheck | boolean | Set to TRUE if you want to do a check for graph cycles. Default is FALSE.Octane doesn't allow cycles in the node graph, but this check can be fairly expensive. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | boolean | TRUE if the node can be connected to the pin, FALSE if not. |
| Synopsis |
|---|
| value = octane.node.canConnectToIx( destinationNode, pinIdx, sourceNode, doCycleCheck ) |
| Description |
|---|
| Clears the animator of an attribute. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Id or name of the attribute to clear. |
| Synopsis |
|---|
| octane.node.clearAnimator( node, attribute ) |
| Description |
|---|
| Clears the animator of an attribute. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attrIx | number | Index of the attribute. |
| Synopsis |
|---|
| octane.node.clearAnimatorIx( node, attrIx ) |
| Description |
|---|
| Clears an attribute to its default value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or id of the attribute |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.clearAttribute( node, attribute, evaluate ) |
| Description |
|---|
| Clears an attribute to its default value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the attribute to clear. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.clearAttributeIx( node, index, evaluate ) |
| Description |
|---|
| Collapses this node down into all destination pins. To do this all of its inputs will be collapsed as well. If the node is an input linker or it's already owned by a pin, false is returned. If the node doesn't have any destination pins, the inputs will be collapsed but not the node itself and false is returned. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node which will be collapsed. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| collapsed | boolean | Returns true if this node has been collapsed, otherwise false. |
| Synopsis |
|---|
| collapsed = octane.node.collapse( node ) |
| Description |
|---|
| Creates default nodes for empty/unconnected pins that have a default node defined. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node to configure. |
| Synopsis |
|---|
| octane.node.configureEmptyPins( node ) |
| Description |
|---|
| Connects source node to a pin on destination node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destinationNode | node | The destination node. |
| pin | multi | Name of the pin or id of the pin. |
| sourceNode | node | The source node. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.node.connectTo( destinationNode, pin, sourceNode, evaluate ) |
| Description |
|---|
| Connects source node to a pin on destination node (identifies the pin via idx). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| destinationNode | node | The destination node. |
| pinIdx | number | Index of the pin. |
| sourceNode | node | The source node. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.node.connectToIx( destinationNode, pinIdx, sourceNode, evaluate ) |
| Description |
|---|
| Copies an attribute value from another node or graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| dstNode | node | The destination node. |
| destAttrId | multi | Name or id of the destination attribute. |
| srcItem | multi | The source item (node or nodegraph). |
| srcAttr | multi | Name or id of the source attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.node.copyAttributeFrom( dstNode, destAttrId, srcItem, srcAttr, evaluate ) |
| Description |
|---|
| Copies an attribute value from another node or graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| dstNode | node | The destination node. |
| destAttrId | multi | Name or id of the destination attribute. |
| srcItem | multi | The source item (node or nodegraph). |
| srcAttrIx | number | Index of the source attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.node.copyAttributeFromIx( dstNode, destAttrId, srcItem, srcAttrIx, evaluate ) |
| Description |
|---|
| Copies an item into a pin or does nothing if the item can't be copied into the pin because the item is a node with the incorrect type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The parent node of the destination pin. |
| pin | multi | Name or id of the destination pin. |
| item | multi | Item we'd like to copy in the pin. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node. Default value is true. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| copy | multi | The newly created item or nil if copying failed. |
| Synopsis |
|---|
| copy = octane.node.copyFrom( node, pin, item, evaluate ) |
| Description |
|---|
| Copies an item into a pin or does nothing if the item can't be copied into the pin because the item is a node with the incorrect type. Identifies the pin via index. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The parent node of the destination pin. |
| index | number | Index of the destination pin. |
| item | multi | Item we'd like to copy in the pin. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node. Default value is true. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| copy | multi | The newly created item or nil if copying failed. |
| Synopsis |
|---|
| copy = octane.node.copyFromIx( node, index, item, evaluate ) |
| Description |
|---|
| Creates a new node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_NODE_ITEM | table | Table with properties for the node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| node | node | The freshly created node. |
| Synopsis |
|---|
| node = octane.node.create( PROPS_NODE_ITEM ) |
| Description |
|---|
| If this node is owned by a node graph, this function will remove all items owned by the parent node graph that are not directly/indirectly connected with this node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node for which we check what is connected and what not. |
| Synopsis |
|---|
| octane.node.deleteUnconnectedItems( node ) |
| Description |
|---|
| Destroys an existing node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node to destroy. |
| Synopsis |
|---|
| octane.node.destroy( node ) |
| Description |
|---|
| Disconnects the source node from a pin on the destination node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The destination node. |
| pin | multi | Name of the pin or id of the pin. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.node.disconnect( node, pin, evaluate ) |
| Description |
|---|
| Disconnects the source node from a pin on the destination node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The destination node. |
| pinIx | number | index of the pin to disconnect. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the destination node's attributes. The default value is true. |
| Synopsis |
|---|
| octane.node.disconnectIx( node, pinIx, evaluate ) |
| Description |
|---|
| Dump all attributes of this item to a text file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| directory | string | (optional)Full path to a directory where the file will be written. If not provided the file will be created under user's desktop directory. A text file with be created using this node name |
| Synopsis |
|---|
| octane.node.dumpAttributes( node, directory ) |
| Description |
|---|
| Evaluates the attributes of a node after making changes to the node's attribute. For complex nodes like meshes and textures you have to set up the node first and afterwards call node:evaluate() |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node to evaluate. |
| Synopsis |
|---|
| octane.node.evaluate( node ) |
| Description |
|---|
| Expands all items owned by the pins of the node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node of which the pins will be expanded. |
| Synopsis |
|---|
| octane.node.expand( node ) |
| Description |
|---|
| Expands the node out of its owner pin - if it is actually owned by a pin. If the owner pin belongs to a node that is also owned by a pin, that node will be expanded out of the owning pin as well. This continues until we find a node that is not owned by a pin anymore. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node which will be expanded out of a pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| itselfOrCopy | node | Returns itself, if the node is not owned by any pin or a copy of itself, if it is. |
| Synopsis |
|---|
| itselfOrCopy = octane.node.expandOutOfPin( node ) |
| Description |
|---|
| Exports a node's raw data to a file (only mesh nodes and textures support this). The full path is determined by Octane and can be found in the A_FILENAME attribute after exporting (e.g. directory/geometry/myNode.obj). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node which we'd like to export. |
| directory | string | Path to the export destination directory. |
| Synopsis |
|---|
| octane.node.exportToFile( node, directory ) |
| Description |
|---|
| Returns the animator of the node's attribute. Nothing is returned when the attribute isn't animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node |
| attribute | multi | ID or name of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| times | table | Array with the time values. |
| period | number | Period of the time values. |
| values | multi | Array with values. For an array attributes, the values are grouped per array element (e.g. for array values a, b, c animated over 3 time stamps we would return a1, a2, a3, b1, b2, b3, c1, c2, c3. |
| isArray | boolean | true if the attribute is an array attribute. |
| numTimes | number | number of time values for each array element. |
| Synopsis |
|---|
| times, period, values, isArray, numTimes = octane.node.getAnimator( node, attribute ) |
| Description |
|---|
| Returns the animator of the node's attribute. Nothing is returned when the attribute isn't animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node |
| attributeIx | number | Index of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| times | table | Array with the time values. |
| period | number | Period of the time values. |
| values | multi | Array with values. For an array attributes, the values are grouped per array element (e.g. for array values a, b, c animated over 3 time stamps we would return a1, a2, a3, b1, b2, b3, c1, c2, c3. |
| isArray | boolean | true if the attribute is an array attribute. |
| numTimes | number | number of time values for each array element. |
| Synopsis |
|---|
| times, period, values, isArray, numTimes = octane.node.getAnimatorIx( node, attributeIx ) |
| Description |
|---|
| Returns the node's attribute value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or id of the attribute |
| type | number | (optional) Specifies the type of value to be returned. Only applies to attributes which are not arrays. If not given or if set to AT_UNKNOWN, the type is determined by the attribute type being fetched. For nodes of types NT_FLOAT, NT_INT and NT_FLOAT_TIME, by default a 3-channel vector is returned. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value of the attribute. |
| Synopsis |
|---|
| value = octane.node.getAttribute( node, attribute, type ) |
| Description |
|---|
| Returns the number of attributes. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| count | number | Number of attributes on this node. |
| Synopsis |
|---|
| count = octane.node.getAttributeCount( node ) |
| Description |
|---|
| Returns the info of an attribute on this node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or ID of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ATTRIBUTE_INFO | table | Table with the info of the attribute. |
| Synopsis |
|---|
| PROPS_ATTRIBUTE_INFO = octane.node.getAttributeInfo( node, attribute ) |
| Description |
|---|
| Returns the info of an attribute on this node (found via index). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attributeIndex | number | Index of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ATTRIBUTE_INFO | table | Table with the info of the attribute. |
| Synopsis |
|---|
| PROPS_ATTRIBUTE_INFO = octane.node.getAttributeInfoIx( node, attributeIndex ) |
| Description |
|---|
| Returns the node's attribute value, based on its index. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | number | The node. |
| index | number | Optional index of the attribute, when omitted, the first attribute is returned. |
| type | number | (optional) Specifies the type of value to be returned. Only applies to attributes which are not arrays. If not given or if set to AT_UNKNOWN, the type is determined by the attribute type being fetched. For nodes of types NT_FLOAT, NT_INT and NT_FLOAT_TIME, by default a 3-channel vector is returned. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value of the node's attribute. |
| Synopsis |
|---|
| value = octane.node.getAttributeIx( node, index, type ) |
| Description |
|---|
| Returns the node connected to a pin. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or ID of the pin. |
| enterWrapperNode | boolean | (optional) If the connected node is a built-in wrapper node the returned node will be the output linker of the wrapped script graph instead. The default is false. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| connectedNode | node | Node that's connected to the input pin. |
| Synopsis |
|---|
| connectedNode = octane.node.getConnectedNode( node, pin, enterWrapperNode ) |
| Description |
|---|
| Returns the node connected to a pin (identifies pin via index). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Index of the input pin. |
| enterWrapperNode | boolean | (optional) If the connected node is a built-in wrapper node the returned node will be the output linker of the wrapped script graph instead. The default is false. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| connectedNode | node | Node that's connected to the input pin. |
| Synopsis |
|---|
| connectedNode = octane.node.getConnectedNodeIx( node, pin, enterWrapperNode ) |
| Description |
|---|
| Returns a table with with the destination. Each element is a table with a key "node" (to access the destination node) and a key "pin" to access the name of the destination pin. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| destinations | table | Table with the destinations. |
| Synopsis |
|---|
| destinations = octane.node.getDestinationNodes( node ) |
| Description |
|---|
| Returns the input node of a pin (skipping linker nodes). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or id of the pin. |
| enterWrapperNode | boolean | (optional) Set to TRUE if built-in wrapper nodes should be entered (see getConnectedNode()). The default is false. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputNode | node | Input node of the pin. |
| Synopsis |
|---|
| inputNode = octane.node.getInputNode( node, pin, enterWrapperNode ) |
| Description |
|---|
| Returns the input node of a pin (skipping linker nodes). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Index of the input pin. |
| enterWrapperNode | boolean | (optional) Set to TRUE if built-in wrapper nodes should be entered (see getConnectedNode()). The default is false. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| inputNode | node | Input node of the pin. |
| Synopsis |
|---|
| inputNode = octane.node.getInputNodeIx( node, pin, enterWrapperNode ) |
| Description |
|---|
| Returns the static information about a node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node from which we'd like to get the info. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_NODE_INFO | table | Table with the info of the node. |
| Synopsis |
|---|
| PROPS_NODE_INFO = octane.node.getNodeInfo( node ) |
| Description |
|---|
| Retrieves the id of the type of texture value of the node's texture output |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| valueTypeId | string | The id of the texture value type of the node's texture output |
| Synopsis |
|---|
| valueTypeId = octane.node.getOutputTextureValueTypeId( node ) |
| Description |
|---|
| The name of the type of texture value of the node's texture output |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| valueTypeName | string | The name of the texture value type of the node's texture output |
| Synopsis |
|---|
| valueTypeName = octane.node.getOutputTextureValueTypeName( node ) |
| Description |
|---|
| Returns the item owned by a pin. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or id of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| ownedItem | multi | Item that's owned by the pin. (node, graph or nil) |
| Synopsis |
|---|
| ownedItem = octane.node.getOwnedItem( node, pin ) |
| Description |
|---|
| Returns the item owned by a pin (identifies pin via index). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Index of the input pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| ownedItem | multi | Item that's owned by the pin (node , graph or nil). |
| Synopsis |
|---|
| ownedItem = octane.node.getOwnedItemIx( node, pin ) |
| Description |
|---|
| Returns the number of pins of this node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pinCount | number | Number of pins on this node. |
| Synopsis |
|---|
| pinCount = octane.node.getPinCount( node ) |
| Description |
|---|
| Returns the info of a pin on this node (static or dynamic). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node |
| pin | multi | The id of the pin or the name of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ | table | Table with static info about the pin. Depending upon the pin type, it returns either a, PROPS_BOOL_PIN_INFO PROPS_FLOAT_PIN_INFO PROPS_INT_PIN_INFO PROPS_ENUM_PIN_INFO PROPS_PROJECTION_PIN_INFO PROPS_TEXTURE_PIN_INFO PROPS_TRANSFORM_PIN_INFO PROPS_STRING_PIN_INFO PROPS_BIT_MASK_PIN_INFO PROPS_PIN_INFO(if the pin doesn't belong any specfic type). |
| Synopsis |
|---|
| PROPS_ |
| Description |
|---|
| Returns the info of a pin on this node (static or dynamic). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node |
| pinIndex | number | The index of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ | table | Table with static info about the pin. Depending upon the pin type, it returns either a, PROPS_BOOL_PIN_INFO PROPS_FLOAT_PIN_INFO PROPS_INT_PIN_INFO PROPS_ENUM_PIN_INFO PROPS_PROJECTION_PIN_INFO PROPS_TEXTURE_PIN_INFO PROPS_TRANSFORM_PIN_INFO PROPS_STRING_PIN_INFO PROPS_BIT_MASK_PIN_INFO PROPS_PIN_INFO(if the pin doesn't belong any specfic type). |
| Synopsis |
|---|
| PROPS_ |
| Description |
|---|
| Retrieves the texture value type of a node's pin given a pin id or pin name |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or id of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| valueTypeId | number | The id of the texture value type of the pin |
| Synopsis |
|---|
| valueTypeId = octane.node.getPinTextureValueType( node, pin ) |
| Description |
|---|
| Retrieves the texture value type of a node's pin given a pin id or pin name |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| valueTypeId | number | The id of the texture value type of the pin |
| Synopsis |
|---|
| valueTypeId = octane.node.getPinTextureValueTypeIx( node, index ) |
| Description |
|---|
| Retrieves the name of the texture value type of a node's pin given a pin id or pin name |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or id of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| valueTypeName | string | The name of the texture value type of the pin |
| Synopsis |
|---|
| valueTypeName = octane.node.getPinTextureValueTypeName( node, pin ) |
| Description |
|---|
| Retrieves the name of the texture value type of a node's pin given a pin index |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| valueTypeName | string | The name of the texture value type of the pin |
| Synopsis |
|---|
| valueTypeName = octane.node.getPinTextureValueTypeNameIx( node, index ) |
| Description |
|---|
| Returns the value of a value node (skipping linker nodes) connected to the pin. When the pin isn't connected, the default value for the pin is returned. This function doesn't work for the input pin of a linker node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or id of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value of the attribute of the connected node. |
| Synopsis |
|---|
| value = octane.node.getPinValue( node, pin ) |
| Description |
|---|
| Returns the value of a value node (skipping linker nodes) connected to the pin.When the pin isn't connected, the default value for the pin is returned. The pin is identified by index. This function doesn't work for the input pin of a linker node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value of the node's attribute. |
| Synopsis |
|---|
| value = octane.node.getPinValueIx( node, index ) |
| Description |
|---|
| Returns the properties of a node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node from which we'd like to get the properties. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_NODE_ITEM | table | Table with the properties of the node. |
| Synopsis |
|---|
| PROPS_NODE_ITEM = octane.node.getProperties( node ) |
| Description |
|---|
| Returns a handle to the internal C-array. This handle is strictly read-only. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or id of the attribute |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| handle | octane.util.PROPS_C_ARRAY | Handle to the attribute array. |
| Synopsis |
|---|
| handle = octane.node.getRawArrayAttribute( node, attribute ) |
| Description |
|---|
| Returns a handle to the internal C-array. This handle is strictly read-only. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Optional index of the attribute, when omitted, the first attribute is returned. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| handle | octane.util.PROPS_C_ARRAY | Handle to the attribute array. |
| Synopsis |
|---|
| handle = octane.node.getRawArrayAttributeIx( node, index ) |
| Description |
|---|
| Get the current typed texture node's type configuration |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| configuration | PROPS_NODE_CONFIGURATION | Table with the current node type configuration |
| Synopsis |
|---|
| configuration = octane.node.getTextureTypeConfiguration( node ) |
| Description |
|---|
| Function to find out whether a attribute exists in a node graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or id of the attribute |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | boolean | TRUE if the attribute exists. Otherwise FALSE |
| Synopsis |
|---|
| value = octane.node.hasAttribute( node, attribute ) |
| Description |
|---|
| Function to find out whether a pin exists in a node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node |
| pin | multi | The id of the pin or the name of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | boolean | TRUE if the pin exists. Otherwise FALSE |
| Synopsis |
|---|
| value = octane.node.hasPin( node, pin ) |
| Description |
|---|
| Function to find whether an attribute is animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Id or name of the attribute to clear. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| animated | boolean | Returns TRUE if the attribute has an animator assigned to it. |
| Synopsis |
|---|
| animated = octane.node.isAnimated( node, attribute ) |
| Description |
|---|
| Function to find whether an attribute is animated. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attrIx | number | Index of the attribute. |
| Synopsis |
|---|
| octane.node.isAnimatedIx( node, attrIx ) |
| Description |
|---|
| Sets an animator on an attribute of this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Id or name of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values each value corresponds to a time in the times array. The values must have the same type as the attribute type. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (if period > 0) (times[#times] - times[1]) < period. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| animationType | animationType | (optional) Animation type to use (octane.animationType). Defaults to octane.animationType.ONCE. |
| endTime | number | (optional) Time when animation ends. Used with animationType. |
| Synopsis |
|---|
| octane.node.setAnimator( node, attribute, times, values, period, evaluate, animationType, endTime ) |
| Description |
|---|
| Sets an animator on an attribute by index on this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attributeIx | multi | Index of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values each value corresponds to a time in the times array. The values must have the same type as the attribute type. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (times[#times] - times[1] < period) |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| animationType | animationType | (optional) Animation type to use (octane.animationType). Defaults to octane.animationType.ONCE. |
| endTime | number | (optional) Time when animation ends. Used with animationType. |
| Synopsis |
|---|
| octane.node.setAnimatorIx( node, attributeIx, times, values, period, evaluate, animationType, endTime ) |
| Description |
|---|
| Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Id or name of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values. The array first contains all the animated values for the first element, then for the second element, and so on. |
| numTimes | number | The number of time stamps in the value array. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (if period > 0) (times[#times] - times[1]) < period. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| animationType | animationType | (optional) Animation type to use (octane.animationType). Defaults to octane.animationType.ONCE. |
| endTime | number | (optional) Time when animation ends. Used with animationType. |
| Synopsis |
|---|
| octane.node.setArrayAnimator( node, attribute, times, values, numTimes, period, evaluate, animationType, endTime ) |
| Description |
|---|
| Sets an animator on an array attribute of this node. Only attributes of AT_FLOAT, AT_MATRIX AT_BOOL, AT_FILENAME and AT_STRING can have an animator. An animator is an array of times and an array of corresponding attribute values. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attributeIx | multi | Index of the attribute to animate. |
| times | table | Array with times. This array must be sorted ascending. |
| values | table | Array with values. The array first contains all the animated values for the first element, then for the second element, and so on. |
| numTimes | number | The number of time stamps in the value array. |
| period | number | Period in seconds , if the period > 0 then the time pattern is repeated every period seconds. The time difference between the time of the last and first sample must be less than the period (times[#times] - times[1] < period) |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| animationType | animationType | (optional) Animation type to use (octane.animationType). Defaults to octane.animationType.ONCE. |
| endTime | number | (optional) Time when animation ends. Used with animationType. |
| Synopsis |
|---|
| octane.node.setArrayAnimatorIx( node, attributeIx, times, values, numTimes, period, evaluate, animationType, endTime ) |
| Description |
|---|
| Sets an attribute of a node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or id of the attribute |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.setAttribute( node, attribute, value, evaluate ) |
| Description |
|---|
| Sets an attribute of a node based on the attribute index. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the attribute to set. |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.setAttributeIx( node, index, value, evaluate ) |
| Description |
|---|
| Sets the value attribute of a connected node through the pin. This means that the value is clamped in the range of the pin (if applicable). This function doesn't work for the input pin of a linker node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| pin | multi | Name of the pin or id of the pin |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the connected node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.setPinValue( node, pin, value, evaluate ) |
| Description |
|---|
| Sets the value attribute of a connected node through the pin. This means that the value is clamped in the range of the pin (if applicable). The pin is identified via its index. This function doesn't work for the input pin of a linker node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the attribute to set. |
| value | multi | value of the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.setPinValueIx( node, index, value, evaluate ) |
| Description |
|---|
| Sets an attribute of a node based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| attribute | multi | Name of the attribute or id of the attribute |
| handle | octane.util.PROPS_C_ARRAY | Raw handle to the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.setRawArrayAttribute( node, attribute, handle, evaluate ) |
| Description |
|---|
| Sets an attribute of a node based on the attribute index. The attribute value is fetched via a raw CArray handle. The memory pointed to in the handle must be valid until this function returns. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| index | number | Index of the attribute to set. |
| handle | octane.util.PROPS_C_ARRAY | Raw handle to the attribute. |
| evaluate | boolean | (optional) whether or not to immediately evaluate the node's attributes. Default value is true. |
| Synopsis |
|---|
| octane.node.setRawArrayAttributeIx( node, index, handle, evaluate ) |
| Description |
|---|
| Set the typed texture node to use a configuration given configuration parameters |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node. |
| parameters | PROPS_NODE_CONFIGURATION_PARAMETERS | Table with texture node type configuration parameters |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | Whether the given typed texture node was successfully set to the given configuration |
| Synopsis |
|---|
| success = octane.node.setTextureTypeConfiguration( node, parameters ) |
| Description |
|---|
| Updates the properties of a node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | The node to update. |
| PROPS_NODE_ITEM | table | Table with properties to update. |
| Synopsis |
|---|
| octane.node.updateProperties( node, PROPS_NODE_ITEM ) |
| Description |
|---|
| Find a typed texture node configuration corresponding to a given inputs and output type interface. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategory | string | A MaterialX node category |
| configurationInterface | PROPS_NODE_CONFIGURATION_INTERFACE | The types of output and inputs a node would have in the desired configuration |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| configuration | PROPS_NODE_CONFIGURATION | The configuration that was found to match the given interface |
| Synopsis |
|---|
| configuration = octane.apimaterialx.findConfiguration( mxNodeCategory, configurationInterface ) |
| Description |
|---|
| Find a typed texture node configuration corresponding to a given inputs and output type interface (specified as MaterialX input names and value types). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategory | string | A MaterialX node category |
| mxOutputValueType | string | The value type of the node's output |
| mxInputNamesToValueTypes | table | Table mapping from names of MaterialX node inputs to their respective value types |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| configuration | PROPS_NODE_CONFIGURATION | Table with the found node type configuration |
| Synopsis |
|---|
| configuration = octane.apimaterialx.findConfigurationByNames( mxNodeCategory, mxOutputValueType, mxInputNamesToValueTypes ) |
| Description |
|---|
| Get all MaterialX node categories that are supported. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategories | string[] | Array of all supported MaterialX node categories |
| Synopsis |
|---|
| mxNodeCategories = octane.apimaterialx.getAllMxNodeCategories( ) |
| Description |
|---|
| Get the names of inputs of a MaterialX node category represented as an Octane node graph. Graphs have dynamic pins, so there will be no pin ids. Instead, the input names are provided as an array of strings in the order they appear in the node graph. Each input name's placement in the array corresponds to the index of the input in the graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeGraphType | number | A type of graph that implements a configuration of a MaterialX node category (i.e: octane.GT_TEX_MX_SEPARATE4) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxInputNames | string[] | The names of MaterialX inputs of the node category represented by the given node graph |
| Synopsis |
|---|
| mxInputNames = octane.apimaterialx.getGraphMxInputNames( nodeGraphType ) |
| Description |
|---|
| Get the names of outputs of a MaterialX node category represented as an Octane node graph. Graphs have dynamic pins, so there will be no pin ids. Instead, the output names are provided as an array of strings in the order they appear in the node graph. Each input name's placement in the array corresponds to the index of the output in the graph. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeGraphType | number | A type of graph that implements a configuration of a MaterialX node category (i.e: octane.GT_TEX_MX_SEPARATE4) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxOutputNames | string[] | The names of MaterialX outputs of the node category represented by the given node graph |
| Synopsis |
|---|
| mxOutputNames = octane.apimaterialx.getGraphMxOutputNames( nodeGraphType ) |
| Description |
|---|
| Get the Octane graph type representing a MaterialX node category. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategory | string | A MaterialX node category |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| nodeGraphType | integer | The Octane graph type representing the given MaterialX node category (i.e: octane.GT_TEX_MX_SEPARATE4) |
| Synopsis |
|---|
| nodeGraphType = octane.apimaterialx.getGraphType( mxNodeCategory ) |
| Description |
|---|
| Get the MaterialX input names and their respective Octane pin ids and pin indices for a given node type |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | A type of node that implements some configurations of a MaterialX node category (i.e: octane.NT_TEX_MX_ADD) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxInputNames | string[] | Array array of the MaterialX input names |
| inputPinIds | number[] | Array of the Octane node pin ids (i.e: octane.P_INPUT) |
| inputPinIndices | number[] | Array of the Octane node pin indices |
| Synopsis |
|---|
| mxInputNames, inputPinIds, inputPinIndices = octane.apimaterialx.getMxInputNamesAndPinIds( nodeType ) |
| Description |
|---|
| Get the MaterialX node category represented by a given node type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | A type of node that implements some configurations of a MaterialX node category (i.e: octane.NT_TEX_MX_ADD) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategory | string | The corresponding MaterialX node category |
| Synopsis |
|---|
| mxNodeCategory = octane.apimaterialx.getMxNodeCategory( nodeType ) |
| Description |
|---|
| Get the MaterialX node category represented by a given graph type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeGraphType | number | A type of graph that implements a configuration of a MaterialX node category (i.e: octane.GT_TEX_MX_SEPARATE4) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategoryName | string | The corresponding MaterialX node category |
| Synopsis |
|---|
| mxNodeCategoryName = octane.apimaterialx.getMxNodeCategoryOfGraphType( nodeGraphType ) |
| Description |
|---|
| Get the MaterialX value type represented by a texture value type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| textureValueType | octane.textureValueType | A texture value type (i.e: octane.textureValueType.VECTOR4) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mxValueTypeName | string | The corresponding MaterialX value type |
| Synopsis |
|---|
| mxValueTypeName = octane.apimaterialx.getMxValueType( textureValueType ) |
| Description |
|---|
| Get the Octane node types representing a MaterialX node category. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mxNodeCategory | string | A MaterialX node category |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| nodeTypes | number[] | An array of Octane node types representing a MaterialX node category |
| Synopsis |
|---|
| nodeTypes = octane.apimaterialx.getNodeTypes( mxNodeCategory ) |
| Description |
|---|
| Get the texture value type representing a MaterialX value type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mxValueType | string | A MaterialX value type |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| textureValueType | octane.textureValueType | The corresponding texture value type |
| Synopsis |
|---|
| textureValueType = octane.apimaterialx.getTextureValueType( mxValueType ) |
| Description |
|---|
| Import a MaterialX file (`.mtlx`) as a node graph with material outputs, into a given parent graph (defaults to root). Each material output is internally connected to a separate sub-graph for each material in the MaterialX file. There can be further nesting of sub graphs based on the topology of the original material graphs in the source file. Importing has 2 modes: - Native: Uses dedicated node types for MaterialX that follow the specification - Octane: Uses pre-existing Octane node types to emulate the behaviour of the MaterialX material |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| file | string | The file path of a MaterialX file (.mtlx). |
| graph | graph | The parent graph to put the new MaterialX file graph into (defaults to the root graph). |
| native | boolean | Whether to import into native MaterialX nodes (defaults to true). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| imported | graph | The freshly created MaterialX file graph. |
| Synopsis |
|---|
| imported = octane.apimaterialx.importMaterialXFile( file, graph, native ) |
| Description |
|---|
| GC metamethod |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | udata | image userdata |
| Synopsis |
|---|
| octane.image.__gc( image ) |
| Description |
|---|
| Returns a property value of the image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| name | string | name of the property |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | the value of the property or nil |
| Synopsis |
|---|
| value = octane.image.__index( image, name ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.image.__tostring( image ) |
| Description |
|---|
| Applies Box filter to the image. A faster algorithm than gaussian filter. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| radius | number | The number of nearest pixels to use for this filtering,Should be greater than zero and higher the value slower the operation |
| Synopsis |
|---|
| octane.image.applyBoxFilter( image, radius ) |
| Description |
|---|
| Applies gaussian filter to the image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| radius | number | The number of nearest pixels to use for this filtering,Should be greater than zero and higher the value slower the operation |
| Synopsis |
|---|
| octane.image.applyGaussianFilter( image, radius ) |
| Description |
|---|
| Applies level correction to the image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image, must have float channels |
| gamma | number | Gamma factor (may be nil) |
| levels | table | table with 2 numbers, which give the range in the destination image where the interval [0.0, 1.0] will be mapped (may be nil) |
| Synopsis |
|---|
| octane.image.applyLevels( image, gamma, levels ) |
| Description |
|---|
| Compares this image to another image, and calculates the mean square error for it. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| other | image | the other image, must have the same type and size as this one |
| clamp | boolean | if true, all values will be clamped at 1 (optional, default is false) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mse | number | The calculated mean square error. |
| Synopsis |
|---|
| mse = octane.image.calculateMeanSquareError( image, other, clamp ) |
| Description |
|---|
| Compares this image to another image, and puts the difference in this image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| other | image | the other image, must have the same type and size as this one |
| compareAlpha | boolean | if true the alpha channel will be compared. If false the alpha channel is not modified |
| Synopsis |
|---|
| octane.image.compareValues( image, other, compareAlpha ) |
| Description |
|---|
| Compress the given image. May use a different compression type if the given type cannot represent the current image channels. Compression will fail if the image is a 2-channel YA image. Raises an error when compression fails. Otherwise the image is compressed in place. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | Image to be compressed |
| compType | number | The destination (BC compression) image type, which will be one of the BC compression type defined in octane.imageType |
| Synopsis |
|---|
| octane.image.compress( image, compType ) |
| Description |
|---|
| Convert to a different type of image. This call is always synchronous, and is potentially slow if destinationType is a compressed format. If specifying a compressed image type that cannot represent the current image channels a different compressed type may be used. Converting to a compressed type will fail if the source image is a 2-channel YA image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| newType | integer | Type to convert to |
| forceCopy | boolean | (default: false) If false and if the new type matches the type of this image, a handle to this image is returned. If true, this guarantees a new image is created in any case. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| newImage | image | The converted image. |
| Synopsis |
|---|
| newImage = octane.image.convert( image, newType, forceCopy ) |
| Description |
|---|
| Copies a region of an image to another image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the destination image. Must not be compressed |
| sourceImage | image | The source image. Must have the same type as the destination image |
| sourceArea | table | the area from the source image to be used, given as {x, y, width, height}. If nil the entire image is copied |
| destPos | table | The top-left corner of the area where the source image will be copied |
| Synopsis |
|---|
| octane.image.copyRegion( image, sourceImage, sourceArea, destPos ) |
| Description |
|---|
| Creates an image with all pixels set to 0. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_IMAGE | table | image properties, with 'type' and 'size' set. Other fields will be ignored. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| image | image | the new image |
| Synopsis |
|---|
| image = octane.image.create( PROPS_IMAGE ) |
| Description |
|---|
| Create an image from an image texture node (NT_TEX_IMAGE or similar). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | the image node |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| image | image | The created image |
| Synopsis |
|---|
| image = octane.image.createFromNode( node ) |
| Description |
|---|
| Fills a rectangle with a color. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image. Must not be compressed |
| area | table | the area to fill, given as {x, y, width, height}. If nil the entire image will be filled |
| value | multi | the pixel value, depending on the image type (see setPixel) |
| blend | boolean | If true, the color will be alpha-blended. If false, the color will simply be blitted |
| Synopsis |
|---|
| octane.image.fill( image, area, value, blend ) |
| Description |
|---|
| Fills the passed in NT_TEX_IMAGE node with the data from this image. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| node | node | the image node |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | TRUE if successful. |
| Synopsis |
|---|
| success = octane.image.fillImageNode( image, node ) |
| Description |
|---|
| Loads an image from a base64-encoded string as a bitmap, which allows you to embed small images in a script. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Base64-encoded image. Whitespace in this string is ignored. |
| channels | number | describes how the image should be loaded |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| image | image | the loaded image |
| Synopsis |
|---|
| image = octane.image.fromBase64( path, channels ) |
| Description |
|---|
| Gets the information on the given image file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path or PROPS_PACKAGE_PATH to the image file on disk |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| INFOS_IMAGE | table | table with image information |
| Synopsis |
|---|
| INFOS_IMAGE = octane.image.getImageInfo( path ) |
| Description |
|---|
| Gets the information on the given image file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path or PROPS_PACKAGE_PATH to the image file on disk |
| layerIx | number | The index of the layer starting from 1 |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| INFOS_LAYER | table | table with image information |
| Synopsis |
|---|
| INFOS_LAYER = octane.image.getLayerInfo( path, layerIx ) |
| Description |
|---|
| Returns the value of a pixel in the image. The pixel value (1, 1) is in the top-left corner of the image, x points to the right and y points down. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image. Must not be compressed |
| x | number | the pixel's x-coordinate in [1, image.size[1]] |
| y | number | the pixel's y-coordinate in [1, image.size[2]] |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | the pixel value, depending on the image type: octane.imageType.LDR_MONO: a single value in [0,255] (grayscale) octane.imageType.LDR_MONO_ALPHA: a table with 2 values in [0,255] (grayscale and alpha) octane.imageType.LDR_RGBA: a table with 4 values in [0,255] (RGBA) octane.imageType.HALF_MONO: a single floating point value (grayscale) octane.imageType.HALF_MONO_ALPHA: a table with 2 floating point values (grayscale and alpha) octane.imageType.HALF_RGBA: a table with 4 floating point values (RGBA) octane.imageType.HDR_MONO: a single floating point value (grayscale) octane.imageType.HDR_MONO_ALPHA: a table with 2 floating point values (grayscale and alpha) octane.imageType.HDR_RGBA: a table with 4 floating point values (RGBA) |
| Synopsis |
|---|
| value = octane.image.getPixel( image, x, y ) |
| Description |
|---|
| Returns the image's properties. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_IMAGE | table | table with image properties |
| Synopsis |
|---|
| PROPS_IMAGE = octane.image.getProperties( image ) |
| Description |
|---|
| Returns the pixels of this image as a C-array. This is only a raw byte array and it's up to the called how to interpret these bytes based on the image type. This array is valid until the image is garbage collected. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pixels | octane.util.PROPS_C_ARRAY | C-array of the raw pixel byte values |
| Synopsis |
|---|
| pixels = octane.image.getRawPixels( image ) |
| Description |
|---|
| Loads an image from a file as a bitmap. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| path | string | Absolute path or PROPS_PACKAGE_PATH to the image file on disk |
| channels | number | Load the channels as color or monochrome (value from octane.imageColorType). |
| channelFormat | number | Indicate if HDR images should be loaded as half or float (value from octane.imageChannelType). Default is octane.imageChannelType.FLOAT |
| layerName | string | The layer name of the image, from which the image data will be loaded(optional). If this argument is omitted, default layer will be used. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| image | image | The image loaded as a bitmap. |
| Synopsis |
|---|
| image = octane.image.load( path, channels, channelFormat, layerName ) |
| Description |
|---|
| Saves an image to disk. Compressed images are saved as DDS, and regular HDR images are saved as EXR, LDR images are saved as PNG. The correct extension is added to the path (if it didn't exist yet). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | image to save to disk |
| path | string | absolute path to the destination file |
| metaData | table | Table of string key/value pairs used as meta data in the header of the output image file (optional) |
| Synopsis |
|---|
| octane.image.save( image, path, metaData ) |
| Description |
|---|
| Starts saving an image to disk on a background thread. HDR images are saved as exr, LDR images are saved as png. The correct extension is added to the path (if it didn't exist yet). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | image to save to disk |
| path | string | absolute path to the destination file |
| metaData | table | Table of string key/value pairs used as meta data in the header of the output image file (optional) |
| Synopsis |
|---|
| octane.image.saveAsync( image, path, metaData ) |
| Description |
|---|
| Sets the value of a pixel in the image. The pixel value (1, 1) is in the top-left corner of the image, x points to the right and y points down. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| image | image | the image. Must not be compressed |
| x | number | the pixel's x-coordinate in [1, image.size[1]] |
| y | number | the pixel's y-coordinate in [1, image.size[2]] |
| value | multi | the pixel value, depending on the image type: octane.imageType.LDR_MONO: a single value in [0,255] (grayscale) octane.imageType.LDR_MONO_ALPHA: a table with 2 values in [0,255] (grayscale and alpha) octane.imageType.LDR_RGBA: a table with 4 values in [0,255] (RGBA) octane.imageType.HALF_MONO: a single floating point value (grayscale) octane.imageType.HALF_MONO_ALPHA: a table with 2 floating point values (grayscale and alpha) octane.imageType.HALF_RGBA: a table with 4 floating point values (RGBA) octane.imageType.HDR_MONO: a single floating point value (grayscale) octane.imageType.HDR_MONO_ALPHA: a table with 2 floating point values (grayscale and alpha) octane.imageType.HDR_RGBA: a table with 4 floating point values (RGBA) |
| Synopsis |
|---|
| octane.image.setPixel( image, x, y, value ) |
| Description |
|---|
| Checks the status of the cached meshlet mesh for the given mesh node. This should be run *after* the mesh node got evaluated and any meshlet data was loaded or its build was started. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| meshNode | node | Node of type octane.NT_GEO_MESH to check the state of its meshlet cache file |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| status | number | octane.cacheStatus.NONE if meshNode is not a mesh node, or a mesh node that has A_CONVERT_TO_MESHLETS set to false. Otherwise returns one of the other enums in octane.cacheStatus . |
| Synopsis |
|---|
| status = octane.caches.checkMeshletBuildStatus( meshNode ) |
| Description |
|---|
| Check the status of the cached virtual texture corresponding to the settings contained in the given node. If node is nullptr, does not present a type that supports virtual textures, or if the settings don't result in a virtual texture being used, returns cacheStatus.NONE. Otherwise returns one of the other constants in CacheStatus. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node containing the settings |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| status | number | Status of the cache entry |
| Synopsis |
|---|
| status = octane.caches.checkVirtualTextureStatus( node ) |
| Description |
|---|
| Deletes all meshlet cache files that are currently not in use. |
| Synopsis |
|---|
| octane.caches.clearMeshletCache( ) |
| Description |
|---|
| Deletes the meshlet cache file of the given node if the file isn't used anywhere else. This can be called before or after evaluation of the mesh node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| meshNode | node | Node of type octane.NT_GEO_MESH of which the meshlet cache file should be deleted |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| removed | boolean | true if either the node didn't represent a mesh node with a valid meshlet cache file, or if the cache file for the node was deleted. False if there still exists a cache file for the mesh node. |
| Synopsis |
|---|
| removed = octane.caches.clearMeshletCacheFileForNode( meshNode ) |
| Description |
|---|
| Deletes all meshlet cache files for a given meshlet mesh ID that are currently not in use anywhere. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| meshletMeshId | string | The meshlet mesh ID string |
| Synopsis |
|---|
| octane.caches.clearMeshletCacheFilesForId( meshletMeshId ) |
| Description |
|---|
| Clears the cache entry matching the settings contained in the given node item. This call succeeds only if there are no other node items referencing the same file, and if the build for the given cache entry is not currently in progress. The item is left in an intermediate state, evaluating the item after this call may rebuild the cache for the item. If a build is in progress, the build may be cancelled by this call, resulting in the file being deleted some indeterminate time after this call. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| node | node | Node containing the settings |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| removed | boolean | true if either the node didn't represent a virtual texture cache, or if the cache file for the node was deleted. False if there still exists a cache file. |
| Synopsis |
|---|
| removed = octane.caches.clearVirtualTextureCacheForNode( node ) |
| Description |
|---|
| Gets the file name of the meshlet cache file if the mesh node has an associated meshlet cache file or an empty string if it does not. A meshlet cache file is only assigned to a mesh node if A_CONVERT_TO_MESHLETS is set to true and the mesh node either has been evaluated or hasMeshletCacheFile() has been called with this node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| meshNode | node | Node of type octane.NT_GEO_MESH containing the settings |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cacheFileName | string | The name of the meshlet cache file of the mesh node or an empty string if the mesh is not a meshlet mesh. |
| Synopsis |
|---|
| cacheFileName = octane.caches.getMeshletCacheFileName( meshNode ) |
| Description |
|---|
| Returns the maximum size of the meshlet cache size as specified in the application preferences. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cacheSize | number | The maximum meshlet cache size in bytes. |
| Synopsis |
|---|
| cacheSize = octane.caches.getMeshletCacheSize( ) |
| Description |
|---|
| Returns the sum of all meshlet cache files that are currently in the meshlet cache. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cacheSize | number | The size of the meshlet cache data in bytes. |
| Synopsis |
|---|
| cacheSize = octane.caches.getMeshletCacheUsedSize( ) |
| Description |
|---|
| Returns the maximum size of the virtual texture cache size as specified in the application preferences. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cacheSize | number | The maximum virtual texture cache size in bytes. |
| Synopsis |
|---|
| cacheSize = octane.caches.getVirtualTextureCacheSize( ) |
| Description |
|---|
| Returns the sum of all virtual texture cache files that are currently in the virtual texture cache. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| cacheSize | number | The size of the virtual texture cache data in bytes. |
| Synopsis |
|---|
| cacheSize = octane.caches.getVirtualTextureCacheUsedSize( ) |
| Description |
|---|
| Checks if a cache file can be found for the given geometry import preferences and filename / meshlet ID attribute. If a meshlet cache file exists it will be opened and kept open by the mesh node. This function can be used before or after the mesh node is evaluated. When you call it before evaluation you don't have to populate the actual geometry attributes yet. This allows you to check whether you need to populate the geometry data or not and thus save a bit of memory and time. If the meshlet cache file exists and the node was not evaluated yet you still have to evaluate the mesh node to populate the material / object layer names and pins and bring the node into a consistent state. If the meshlet cache file does not exist you will have to completely populate the geometry attributes and then evaluate the mesh node. This will then kick off the meshlet build in the background. You can check the state of that build using checkMeshletBuildStatus(). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| meshNode | node | Node of type octane.NT_GEO_MESH containing the settings |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| hasCacheFile | boolean | true if a meshlet cache file exists, false if not |
| Synopsis |
|---|
| hasCacheFile = octane.caches.hasMeshletCacheFile( meshNode ) |
| Description |
|---|
| Shrinks the virtual texture cache size by deleting virtual texture cache files that are currently not in use. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| maxCacheSize | number | Maximal desired cache size. |
| Synopsis |
|---|
| octane.caches.pruneVirtualTextureCache( maxCacheSize ) |
| Description |
|---|
| Tests 2 components for equality (c1 == c2). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| c1 | component | the first component |
| c2 | component | the second component |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| equal | boolean | true if they're equal, false otherwise |
| Synopsis |
|---|
| equal = octane.gui.__eq( c1, c2 ) |
| Description |
|---|
| Fetches a property value. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| component | component | Component. |
| propertyName | string | Property name/key. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| propertyValue | multi | The value, or nil if no such value. |
| Synopsis |
|---|
| propertyValue = octane.gui.__index( component, propertyName ) |
| Description |
|---|
| Updates a property of a component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| n1 | component | component |
| name | string | property name |
| value | boolean | the value to set |
| Synopsis |
|---|
| octane.gui.__newindex( n1, name, value ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| c | node | component |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.gui.__tostring( c ) |
| Description |
|---|
| Binds a component's property to data in the property table. When a component's property and data are bound, updating the data value updates the property and updating the component updates the data value. A callback is called when the data value is updated from the user interface. This function will throw an error when the property is not bindable or doesn't exist. Initially, the value in the table gets the value of the component's property. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| component | component | component whose property we bind |
| propertyName | string | name of the component property to bind |
| propertyTable | table | table containing the data values |
| dataKey | string | name of the data key in the property table |
| callback | function | (optional) callback, called when the data in the property table is updated. Arguments are the key and the new value. |
| Synopsis |
|---|
| octane.gui.bind( component, propertyName, propertyTable, dataKey, callback ) |
| Description |
|---|
| Select a file for reading or saving an asset. The path to the file will be saved in the preferences, as with the dialogs shown by Octane. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| title | string | Dialog title. |
| wildcards | string | List of file wildcards, only files that match these wildcards will be visible (e.g. *.lua; *.cpp). Multiple patterns can be separated with semicolons. |
| typeId | number | One of the A_LAST_xxx_DIRECTORY attribute IDs in the NT_LOCAL_APP_PREFS node type, appropriate for the selected file type. |
| forSaving | boolean | True to show a file save dialog, false for an open dialog or directory browse dialog. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| file | string | Path to the selected file. Returns an empty string when the user cancels the dialog. |
| Synopsis |
|---|
| file = octane.gui.browseForAsset( title, wildcards, typeId, forSaving ) |
| Description |
|---|
| Closes the window. This function must be called in the window event callback. Calling this function makes showWindow return. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| window | component | The window to close. |
| values | multi | Any additional values are returned from showWindow. |
| Synopsis |
|---|
| octane.gui.closeWindow( window, values ) |
| Description |
|---|
| Creates a GUI component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_GUI_COMPONENT | table | Table with component properties, at least type should be specified. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| component | component | The freshly created component. |
| Synopsis |
|---|
| component = octane.gui.create( PROPS_GUI_COMPONENT ) |
| Description |
|---|
| Creates a button component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | string or table | See PROPS_GUI_BUTTON. Call using octane.gui.createButton { text="test", width = 170, ... } or simply octane.gui.createButton("test") |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| button | button | The new button. |
| Synopsis |
|---|
| button = octane.gui.createButton( options ) |
| Description |
|---|
| Creates a checkbox component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_CHECK_BOX. Call using octane.gui.createCheckBox { text="test", checked = true, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| checkbox | checkbox | The new checkbox. |
| Synopsis |
|---|
| checkbox = octane.gui.createCheckBox( options ) |
| Description |
|---|
| Creates a combo box component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_COMBO_BOX. Call using octane.gui.createComboBox { callback = function(c,e) end, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| combobox | combobox | The new combo box. |
| Synopsis |
|---|
| combobox = octane.gui.createComboBox( options ) |
| Description |
|---|
| Creates a group component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | An options table such as: { text = "group title here", children = { {a,b}, {c,d} }, padding = { 2 }, inset = { 3 }, border = true }. Where a, b, c, and d are also components. May also be called with just the children table. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| group | group | The new group. |
| Synopsis |
|---|
| group = octane.gui.createGroup( options ) |
| Description |
|---|
| Creates a label component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | string or table | See PROPS_GUI_LABEL. Call using octane.gui.createLabel { text="test", width = 170, ... } or simply octane.gui.createLabel("test") |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| label | label | The new label. |
| Synopsis |
|---|
| label = octane.gui.createLabel( options ) |
| Description |
|---|
| Creates a numeric box component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_NUMERIC_BOX. Call using octane.gui.createNumericBox { text="test", max = 20.4, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| numericbox | numericbox | The new numeric box. |
| Synopsis |
|---|
| numericbox = octane.gui.createNumericBox( options ) |
| Description |
|---|
| Creates an OCIO color space combo box component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_OCIO_COLOR_SPACE_COMBO_BOX. Call using octane.gui.createOcioColorSpaceComboBox{ callback = function(c,e) end, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| combobox | combobox | The new combo box. |
| Synopsis |
|---|
| combobox = octane.gui.createOcioColorSpaceComboBox( options ) |
| Description |
|---|
| Creates an OCIO look combo box component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_OCIO_LOOK_COMBO_BOX. Call using octane.gui.createOcioLookComboBox{ callback = function(c,e) end, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| combobox | combobox | The new combo box. |
| Synopsis |
|---|
| combobox = octane.gui.createOcioLookComboBox( options ) |
| Description |
|---|
| Creates an OCIO view combo box component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_OCIO_VIEW_COMBO_BOX. Call using octane.gui.createOcioViewComboBox{ callback = function(c,e) end, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| combobox | combobox | The new combo box. |
| Synopsis |
|---|
| combobox = octane.gui.createOcioViewComboBox( options ) |
| Description |
|---|
| Creates a label and numeric box set and returns it. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| childrenTable | table | A table in which to insert the { label, box }table. |
| text | string | The label next to the numeric box. |
| value | number | The initial value of the numeric box. |
| min | number | The minimum value of the numeric box. |
| max | number | The maximum value of the numeric box. |
| step | number | The size of the step in the numeric box. |
| log | boolean | Whether or not to set the numeric box to logarithmic mode. |
| width | number | Width of the numeric box. |
| height | number | Height of the numeric box. |
| Synopsis |
|---|
| octane.gui.createParameter( childrenTable, text, value, min, max, step, log, width, height ) |
| Description |
|---|
| Creates a progress bar component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_PROGRESS_BAR. Call using octane.gui.createProgressBar { text="test", max = 20.4, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| progressbar | progressbar | The new progress bar. |
| Synopsis |
|---|
| progressbar = octane.gui.createProgressBar( options ) |
| Description |
|---|
| Creates a table holding data values that are bound to component's properties. When the values in this table are updated, the component is updated. When the component is updated, the values in the table are updated accordingly. The values must first be bound with a call to octane.gui.bind. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| values | table | if this is a table, the keys and values will be copied to the property table |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| propertyTable | table | empty table that will contain data values |
| Synopsis |
|---|
| propertyTable = octane.gui.createPropertyTable( values ) |
| Description |
|---|
| Creates a slider component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | table | See PROPS_GUI_SLIDER. Call using octane.gui.createSlider { text="test", width = 170, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| slider | slider | The new slider. |
| Synopsis |
|---|
| slider = octane.gui.createSlider( options ) |
| Description |
|---|
| Creates a text editor component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | string or table | See PROPS_TEXTEDITOR. Call using octane.gui.createTextEditor { text="test", width = 640, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| texteditor | texteditor | The new texteditor. |
| Synopsis |
|---|
| texteditor = octane.gui.createTextEditor( options ) |
| Description |
|---|
| Creates a window component. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| options | string or table | See PROPS_GUI_WINDOW. Call using octane.gui.createWindow { text="test", width = 640, ... } |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| window | window | The new window. |
| Synopsis |
|---|
| window = octane.gui.createWindow( options ) |
| Description |
|---|
| Dispatches GUI events until the given time has elapsed. This can be used to make the GUI appear responsive while doing heavy work. The timeout should be small, in most cases it can be less than 100 milliseconds. This function should be used with care. You may receive callbacks while this function is running, like GUI callbacks, render callbacks or timer callbacks. If any of these callbacks open a dialog window, this function will not return until that window is closed, regardless of the timeout. Due to the complications above, this function should not be used to run code after a set delay, use octane.timer instead. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| timeout | number | time in milliseconds to dispatch messages |
| Synopsis |
|---|
| octane.gui.dispatchGuiEvents( timeout ) |
| Description |
|---|
| Returns the component's properties. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| component | component | The component for which we'd like to get the properties. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_GUI_COMPONENT | table | Table with the component's properties. |
| Synopsis |
|---|
| PROPS_GUI_COMPONENT = octane.gui.getProperties( component ) |
| Description |
|---|
| Shows a dialog window. This function will block until the dialog is closed. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_DIALOG | table | Properties of the dialog window, should at least contain a type. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_DIALOG | table | Table with all the properties of the dialog including the results. |
| Synopsis |
|---|
| PROPS_DIALOG = octane.gui.showDialog( PROPS_DIALOG ) |
| Description |
|---|
| Shows an error. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| text | string | The error string. |
| title | string | The title of the error window. |
| Synopsis |
|---|
| octane.gui.showError( text, title ) |
| Description |
|---|
| Makes this window visible, this function blocks until closeWindow is called on the window. Use the event callback function to react to UI events. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| window | component | The window to show. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| values | multi | The values passed to closeWindow. |
| Synopsis |
|---|
| values = octane.gui.showWindow( window ) |
| Description |
|---|
| Updates the component's properties. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| component | component | The component to update. |
| PROPS_GUI_COMPONENT | table | Table that contains the properties to update. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true on success , false otherwise. |
| Synopsis |
|---|
| success = octane.gui.updateProperties( component, PROPS_GUI_COMPONENT ) |
| Description |
|---|
| Updates the status of the lua script. This will display a status bar and a status message in the status bar of OctaneRender Standalone. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| message | string | status message |
| progess | number | optional progress between 0 and 1, a negative value just means busy. |
| Synopsis |
|---|
| octane.gui.updateStatus( message, progess ) |
| Description |
|---|
| Find the configuration that has the given node interface of texture value types of output and inputs |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | Node type (e.g. octane.NT_FLOAT) |
| interface | PROPS_NODE_CONFIGURATION_INTERFACE | Table with ids of output and input pins and texture value types |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| configuration | PROPS_NODE_CONFIGURATION | Table with the found node type configuration, nil if not found |
| Synopsis |
|---|
| configuration = octane.apiinfo.findConfigurationByInterface( nodeType, interface ) |
| Description |
|---|
| Find the configuration that the typed texture node would switch to when set to given configuration parameters |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | Node type (e.g. octane.NT_FLOAT) |
| parameters | PROPS_NODE_CONFIGURATION_PARAMETERS | Table with texture node type configuration parameters |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| configuration | PROPS_NODE_CONFIGURATION | Table with the found node type configuration, nil if not found |
| Synopsis |
|---|
| configuration = octane.apiinfo.findConfigurationByParameters( nodeType, parameters ) |
| Description |
|---|
| Returns the ID for an attribute name. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| attributeName | string | Attribute name (e.g. "value"). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| attributeId | number | Attribute ID (e.g. octane.A_VALUE). |
| Synopsis |
|---|
| attributeId = octane.apiinfo.getAttributeId( attributeName ) |
| Description |
|---|
| Returns the attribute ID as string specified as ID or name. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| attribute | numberOrString | ID of the attribute (e.g. octane.A_VALUE) or the name of the attribute (e.g. "value"). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| attributeIdName | string | The attribute ID as string (e.g. "A_VALUE"). |
| Synopsis |
|---|
| attributeIdName = octane.apiinfo.getAttributeIdName( attribute ) |
| Description |
|---|
| Returns the name for an attribute ID. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| attributeId | number | Attribute ID (e.g. octane.A_VALUE). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| attributeName | string | Attribute name (e.g. "value"). |
| Synopsis |
|---|
| attributeName = octane.apiinfo.getAttributeName( attributeId ) |
| Description |
|---|
| Returns the name for an attribute type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| attributeType | number | Attribute type (e.g. octane.AT_FLOAT). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| attributeTypeString | string | Attribute type name (e.g. "AT_FLOAT"). |
| Synopsis |
|---|
| attributeTypeString = octane.apiinfo.getAttributeTypeName( attributeType ) |
| Description |
|---|
| Returns the graphs and nodes compatible with the output type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| outType | number | Output type (pinType). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| compatGraphs | table | Table of graph types compatible with the output type. |
| compatNodes | table | Table of node types compatible with the output type. |
| Synopsis |
|---|
| compatGraphs, compatNodes = octane.apiinfo.getCompatibleTypes( outType ) |
| Description |
|---|
| Returns info about an attribute available on graphs of a given type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graphType | number | Graph type (e.g. octane.GT_STANDARD) |
| attributeIdx | number | Index of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| attributeInfo | PROPS_ATTR_INFO | Table with all the info about the attribute. |
| Synopsis |
|---|
| attributeInfo = octane.apiinfo.getGraphAttributeInfo( graphType, attributeIdx ) |
| Description |
|---|
| Returns info about a graph type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graphType | number | Graph type (e.g. octane.GT_STANDARD) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| graphInfo | PROPS_GRAPH_INFO | Table with all the info about the graph type. |
| Synopsis |
|---|
| graphInfo = octane.apiinfo.getGraphInfo( graphType ) |
| Description |
|---|
| Returns the name for a graph type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| graphType | number | Graph type (e.g. octane.GT_STANDARD). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| graphTypeString | string | Graph type name (e.g. "GT_STANDARD"). |
| Synopsis |
|---|
| graphTypeString = octane.apiinfo.getGraphTypeName( graphType ) |
| Description |
|---|
| Fetches all registered node graph types. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| graphTypes | table | Table (array) with all registered node graph types. |
| Synopsis |
|---|
| graphTypes = octane.apiinfo.getGraphTypes( ) |
| Description |
|---|
| Returns info about an attribute available on nodes of a given type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | Node type (e.g. octane.NT_BOOL) |
| attributeIdx | number | Index of the attribute. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| attributeInfo | PROPS_ATTR_INFO | Table with all the info about the attribute. |
| Synopsis |
|---|
| attributeInfo = octane.apiinfo.getNodeAttributeInfo( nodeType, attributeIdx ) |
| Description |
|---|
| Returns info about a node type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | Node type (e.g. octane.NT_FLOAT) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| nodeInfo | PROPS_NODE_INFO | Table with all the info about the node type. |
| Synopsis |
|---|
| nodeInfo = octane.apiinfo.getNodeInfo( nodeType ) |
| Description |
|---|
| Returns the name for a node type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | Node type (e.g. octane.NT_TEX_MIX). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| nodeTypeString | string | Node type name (e.g. "NT_TEX_MIX"). |
| Synopsis |
|---|
| nodeTypeString = octane.apiinfo.getNodeTypeName( nodeType ) |
| Description |
|---|
| Fetches all registered node types. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| nodeTypes | table | Table (array) with all registered node types. |
| Synopsis |
|---|
| nodeTypes = octane.apiinfo.getNodeTypes( ) |
| Description |
|---|
| Returns the ID of a pin based on its name. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| pinName | string | Name of the pin (e.g. "diffuse"). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pinId | number | Pin ID (e.g. octane.P_DIFFUSE). |
| Synopsis |
|---|
| pinId = octane.apiinfo.getPinId( pinName ) |
| Description |
|---|
| Returns the pin ID as string specified as ID or name. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| pinId | numberOrString | ID of the pin (e.g. octane.P_DIFFUSE) or the name of the pin (e.g. "diffuse"). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pinName | string | The pin ID as string (e.g. "P_DIFFUSE"). |
| Synopsis |
|---|
| pinName = octane.apiinfo.getPinIdName( pinId ) |
| Description |
|---|
| Returns info about a pin available on nodes of a given type (static pins only). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| nodeType | number | Node type (e.g. octane.NT_CAM_THINLENS) |
| pinIdx | number | Index of the pin. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_ | table | Table with static info about the pin. Depending upon the pin type, it returns either a, PROPS_BOOL_PIN_INFO PROPS_FLOAT_PIN_INFO PROPS_INT_PIN_INFO PROPS_ENUM_PIN_INFO PROPS_PROJECTION_PIN_INFO PROPS_TEXTURE_PIN_INFO PROPS_TRANSFORM_PIN_INFO PROPS_STRING_PIN_INFO PROPS_BIT_MASK_PIN_INFO PROPS_PIN_INFO(if the pin doesn't belong any specfic type). |
| Synopsis |
|---|
| PROPS_ |
| Description |
|---|
| Returns the name of a pin based on its pin ID. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| pinId | number | ID of the pin (e.g. octane.P_DIFFUSE). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pinIdString | string | The name of the pin ID string (e.g. "diffuse"). |
| Synopsis |
|---|
| pinIdString = octane.apiinfo.getPinName( pinId ) |
| Description |
|---|
| Returns the name for a pin type. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| pinType | number | Pin type (e.g. octane.PT_FLOAT). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| pinTypeString | string | Pin type name (e.g. "PT_FLOAT"). |
| Synopsis |
|---|
| pinTypeString = octane.apiinfo.getPinTypeName( pinType ) |
| Description |
|---|
| Returns a table with info about the system. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| systemInfo | PROPS_SYSTEM_INFO | Table with all the info about this system. |
| Synopsis |
|---|
| systemInfo = octane.apiinfo.getSystemInfo( ) |
| Description |
|---|
| Gets the OSL value type name string of an octane.textureValueType |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| textureValueType | integer | A texture value type, octane.textureValueType |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| textureValueTypeName | string | The OSL name of the given texture value type |
| Synopsis |
|---|
| textureValueTypeName = octane.apiinfo.getTextureValueTypeName( textureValueType ) |
| Description |
|---|
| Returns true if a given pin info or attribute info is deprecated in the current version. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| info | table | Pin info or attribute info |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| deprecated | boolean | True for deprecated infos. |
| Synopsis |
|---|
| deprecated = octane.apiinfo.isDeprecated( info ) |
| Description |
|---|
| Gets the largest possible value in the output range. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | number | Largest possible value in the output range. |
| Synopsis |
|---|
| value = octane.mt19937.max( ) |
| Description |
|---|
| Advances the engine's state and returns the generated value. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | number | Generated value. |
| Synopsis |
|---|
| value = octane.mt19937.random( ) |
| Description |
|---|
| Advances the engine's state and returns the generated value in the [0, 1] range. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | number | Generated value in the [0, 1] range. |
| Synopsis |
|---|
| value = octane.mt19937.random01( ) |
| Description |
|---|
| Sets the current state of the engine. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| seed | number | Seed to use as input. |
| Synopsis |
|---|
| octane.mt19937.seed( seed ) |
| Description |
|---|
| GC callback. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| timer | timer | The timer object |
| Synopsis |
|---|
| octane.timer.__gc( timer ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| timer | timer | The timer. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.timer.__tostring( timer ) |
| Description |
|---|
| Causes a function to be executed on a regular interval. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| seconds | number | Time in seconds between two callbacks. The shortest possible interval is system dependent. The callback should complete in less time than this interval or you risk locking up the user interface. If this argument is nil, or <= 0, the timer is not started. |
| callback | function | Function to be called on a regular interval. This function should not raise any errors. |
| args | multi | Any subsequent arguments are passed on to the callback function. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| timer | timer | A timer object, you may use this handle later to start or stop the timer. |
| Synopsis |
|---|
| timer = octane.timer.create( seconds, callback, args ) |
| Description |
|---|
| Starts a timer, or change the interval of a running timer. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| timer | timer | The timer object |
| seconds | number | Time in seconds between two callbacks. |
| Synopsis |
|---|
| octane.timer.start( timer, seconds ) |
| Description |
|---|
| Stop a timer. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| timer | timer | The timer object |
| Synopsis |
|---|
| octane.timer.stop( timer ) |
| Description |
|---|
| This callback function is called once at the end of the iteration. It can be used to release anything upon the completion of rendering. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The scripted node graph. |
| Synopsis |
|---|
| octane.renderjobgraph.onFinishIteration( self, graph ) |
| Description |
|---|
| Callback function, This is the main render loop callback function, which will be called for A_TOTAL_FRAMES times. Then this callback can tell octane viewport, which render target has to be rendered. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The render job node graph. |
| resultIx | int | Frame index, will be in [0, A_TOTAL_FRAMES) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| renderTargetNode | Node | Render target to render, if nil the rendering will be aborted. Can be nil in case skipFrame is set to true |
| skipFrame | boolean | If true, render job will skip the render of current frame and jumps to next frame |
| Synopsis |
|---|
| renderTargetNode, skipFrame = octane.renderjobgraph.onIterate( self, graph, resultIx ) |
| Description |
|---|
| This callback function will be called when the rendering of current frame has been completed. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The render job node graph. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | set whether the save is successful. If false, the rendering will be aborted |
| Synopsis |
|---|
| success = octane.renderjobgraph.onSaveRenderedFrame( self, graph ) |
| Description |
|---|
| This callback function is called once on the start of the iteration. The function can be used to initialize before the start of rendering. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| self | script | The script object. |
| graph | graph | The render job node graph. |
| Synopsis |
|---|
| octane.renderjobgraph.onStartIteration( self, graph ) |
| Description |
|---|
| Stops the rendering. Calling this function pauses the render and unblocks octane.render.start. |
| Synopsis |
|---|
| octane.render.callbackStop( ) |
| Description |
|---|
| Checks if we can the current render as a deep image. Renders can only be saved as deep images when deep image rendering is enabled and enough deep 'seed' samples are calculated. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| canSave | boolean | true if the render can be saved as a deep image. |
| Synopsis |
|---|
| canSave = octane.render.canSaveDeepImage( ) |
| Description |
|---|
| Stops rendering and clears the render target. Calling this while a call to start() is running will raise an error. Use callbackStop() instead. |
| Synopsis |
|---|
| octane.render.clear( ) |
| Description |
|---|
| Continues rendering, if paused. Calling this while a call to start() is running will raise an error. |
| Synopsis |
|---|
| octane.render.continue( ) |
| Description |
|---|
| Checks if deep image rendering is enabled. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| enabled | boolean | True if deep image rendering is enabled, false otherwise. |
| Synopsis |
|---|
| enabled = octane.render.deepImageEnabled( ) |
| Description |
|---|
| Checks if deep image rendering and deep render AOVs are enabled. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| enabled | boolean | True if deep image rendering and deep render AOVs are enabled, false otherwise. |
| Synopsis |
|---|
| enabled = octane.render.deepPassesEnabled( ) |
| Description |
|---|
| Returns a table with the IDs of all the render AOVs available in Octane. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| renderPassIds | table | Table with the IDs of all render AOVs in Octane - excluding composite AOVs. |
| Synopsis |
|---|
| renderPassIds = octane.render.getAllRenderPassIds( ) |
| Description |
|---|
| Returns the change level of the render engine. The change level is a number tracked in the engine. It's incremented every time a change is made in the render engine. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| changeLevel | number | The current change level of the render engine. |
| Synopsis |
|---|
| changeLevel = octane.render.getChangeLevel( ) |
| Description |
|---|
| Returns the current clay mode. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mode | number | the current sub-sample mode |
| Synopsis |
|---|
| mode = octane.render.getClayMode( ) |
| Description |
|---|
| Returns the number of devices (GPUs) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| devicecount | number | The number of devices. |
| Synopsis |
|---|
| devicecount = octane.render.getDeviceCount( ) |
| Description |
|---|
| Returns the properties and memory usage statistics of the rendering device. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| deviceIndex | number | Index of the device [1..getDeviceCount()]. |
| memoryLocation | integer | The location of the memory [octane.memoryLocation] (optional). Default value is octane.memoryLocation.DEVICE |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_DEVICE | table | Table with properties of the device. |
| Synopsis |
|---|
| PROPS_RENDER_DEVICE = octane.render.getDeviceProperties( deviceIndex, memoryLocation ) |
| Description |
|---|
| Returns the id of the render pass that is displayed, returned from the render callback. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| renderPassId | integer | Render pass id. |
| Synopsis |
|---|
| renderPassId = octane.render.getDisplayRenderPassId( ) |
| Description |
|---|
| Returns a table with the IDs of all render AOVs and composite AOVs that are enabled in the specified render target node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderTargetNode | node | Render target node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| renderPassIds | table | Table with the IDs of all enabled AOVs. |
| Synopsis |
|---|
| renderPassIds = octane.render.getEnabledAovs( renderTargetNode ) |
| Description |
|---|
| Returns the geometry statistics |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_GEOM_STATS | table | Table containing the geometry stats. |
| Synopsis |
|---|
| PROPS_GEOM_STATS = octane.render.getGeometryStatistics( ) |
| Description |
|---|
| Returns memory usage on the device in MB. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| deviceIndex | number | Index of the device [1..getDeviceCount()]. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_MEM_USAGE | table | Table containing the memory usage stats. |
| Synopsis |
|---|
| PROPS_MEM_USAGE = octane.render.getMemoryUsage( deviceIndex ) |
| Description |
|---|
| Returns the preview render target node. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| previewTarget | node | The preview render target node. |
| Synopsis |
|---|
| previewTarget = octane.render.getPreviewRenderTargetNode( ) |
| Description |
|---|
| Returns the information for a render pass. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderPassId | integer | Render pass ID. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| info | PROPS_RENDER_PASS_INFO | Table with render pass info. |
| Synopsis |
|---|
| info = octane.render.getRenderPassInfo( renderPassId ) |
| Description |
|---|
| Returns the current render region. The coordinate system is the same as for the render results. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| region | PROPS_RENDER_REGION | Table with render region properties. |
| Synopsis |
|---|
| region = octane.render.getRenderRegion( ) |
| Description |
|---|
| Returns the statistics for the latest render result. When no result was rendered yet, the result will be zeroed out. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| stats | table | Table with PROPS_RENDER_RESULT_STATISTICS. |
| Synopsis |
|---|
| stats = octane.render.getRenderResultStatistics( ) |
| Description |
|---|
| Returns the render target node that's currently rendering. Returns nil if there isn't one. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| rendertarget | node | The render target node currently rendering. |
| Synopsis |
|---|
| rendertarget = octane.render.getRenderTargetNode( ) |
| Description |
|---|
| Returns the current sub-sampling mode |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| mode | number | the current sub-sample mode |
| Synopsis |
|---|
| mode = octane.render.getSubSampleMode( ) |
| Description |
|---|
| Gets the render result. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_RESULT | table | Table with the render results. |
| Synopsis |
|---|
| PROPS_RENDER_RESULT = octane.render.grabRenderResult( ) |
| Description |
|---|
| Checks if rendering is currently paused. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| ispaused | boolean | returns true if rendering is paused. |
| Synopsis |
|---|
| ispaused = octane.render.isPaused( ) |
| Description |
|---|
| Loads an .OCR render state. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| inputFilePath | string | Full path to the input file. |
| Synopsis |
|---|
| octane.render.loadRenderState( inputFilePath ) |
| Description |
|---|
| Pauses the current render. Behaves the same as the pause button in the standalone. Calling this while a call to start() is running will raise an error. |
| Synopsis |
|---|
| octane.render.pause( ) |
| Description |
|---|
| Renders a preview of the given material |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| settings | PROPS_RENDER_PREVIEW | Preview render settings. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| preview | image | The rendered image, returns nil on failure. |
| Synopsis |
|---|
| preview = octane.render.preview( settings ) |
| Description |
|---|
| Deprecated: Use previewHdr2 instead. Renders an HDR preview of the given material |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| settings | PROPS_RENDER_PREVIEW | Preview render settings. |
| linearHdr | boolean | Set to TRUE if the result should be linear sRGB, i.e. not be tonemapped. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| preview | image | The rendered HDR result image. |
| Synopsis |
|---|
| preview = octane.render.previewHdr( settings, linearHdr ) |
| Description |
|---|
| Renders an HDR preview of the given material |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| settings | PROPS_RENDER_PREVIEW | Preview render settings. |
| colorSpace | NamedColorSpace | The output color space (octane.namedColorSpace). Must not be octane.namedColorSpace.LINEAR_SRGB_WITH_LEGACY_GAMMA, octane.namedColorSpace.OCIO or octane.namedColorSpace.OTHER. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| preview | image | The rendered HDR result image. |
| Synopsis |
|---|
| preview = octane.render.previewHdr2( settings, colorSpace ) |
| Description |
|---|
| Resets the render engine. Calling this while a call to start() is running will raise an error. Use callbackStop() instead. |
| Synopsis |
|---|
| octane.render.reset( ) |
| Description |
|---|
| Restarts rendering. Behaves the same as the restart button in the standalone. Calling this while a call to start() is running will raise an error. |
| Synopsis |
|---|
| octane.render.restart( ) |
| Description |
|---|
| Deprecated: Use saveDeepImage2 instead. Saves the raw XYZ buffers in a multi layer EXR. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Absolute path to the destination image. |
| useBackgroundThread | boolean | true to save the image in a background thread (optional, the default is false) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveDeepImage( imagePath, useBackgroundThread ) |
| Description |
|---|
| Saves the current render as a deep image. The output format is OpenEXR. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Absolute path to the destination image. |
| colorSpace | NamedColorSpace | The output color space (octane.namedColorSpace). Must not be octane.namedColorSpace.SRGB, octane.namedColorSpace.LINEAR_SRGB_WITH_LEGACY_GAMMA, octane.namedColorSpace.OCIO or octane.namedColorSpace.OTHER. When omitted linear sRGB is used. (optional) |
| useBackgroundThread | boolean | true to save the image in a background thread (optional, the default is false) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveDeepImage2( imagePath, colorSpace, useBackgroundThread ) |
| Description |
|---|
| Deprecated: Use saveImage3 instead. Saves out the current render to file. When render passes are enabled, this will only save the render pass that is currently displayed in the render viewport. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the image file name. |
| imageSaveType | ImageSaveType | Type of the image to save [octane.imageSaveType]. |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| exrCompressionType | ExrCompressionType | Compression type for Exr format [octane.exrCompressionType](optional). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveImage( imagePath, imageSaveType, useBackgroundThread, exrCompressionType ) |
| Description |
|---|
| Deprecated: Use saveImage3 instead. Saves out the current render to file. When render passes are enabled, this will only save the render pass that is currently displayed in the render viewport. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the image file name. |
| imageSaveFormat | ImageSaveFormat | The format of the image file that should be saved [octane.imageSaveFormat]. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| exrCompressionType | ExrCompressionType | Compression type for Exr format [octane.exrCompressionType](optional). |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveImage2( imagePath, imageSaveFormat, PROPS_RENDER_COLOR_SPACE_INFO, exrCompressionType, useBackgroundThread ) |
| Description |
|---|
| Saves out the current render to file. When render passes are enabled, this will only save the render pass that is currently displayed in the render viewport. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the image file name. |
| imageSaveFormat | ImageSaveFormat | The format of the image file that should be saved [octane.imageSaveFormat]. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| premultipliedAlphaType | PremultipliedAlphaType | The type of premultiplied alpha that the image file should have [octane.premultipliedAlphaType](optional). |
| formatOptions | table | Options to control how the image is saved. For EXR/TIFF/JPEG: octane.image.PROPS_EXR_SAVE, octane.image.PROPS_TIFF_SAVE, octane.image.PROPS_JPEG_SAVE. If the passed in value is an integer it is interpreted as the EXR/TIFF compression type. For JPEG if the passed value is a number it is interpreted as quality (must be in range 1 to 100). |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveImage3( imagePath, imageSaveFormat, PROPS_RENDER_COLOR_SPACE_INFO, premultipliedAlphaType, formatOptions, useBackgroundThread ) |
| Description |
|---|
| Deprecated: Use saveRenderPass3 instead. Saves out a render pass to file only when the render pass is enabled |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderPassId | RenderPassId | Render pass id. |
| imagePath | string | Full path to the image file name. |
| imageSaveType | ImageSaveType | Type of the image to save [octane.imageSaveType]. |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| exrCompressionType | ExrCompressionType | Compression type for Exr format [octane.exrCompressionType](optional). |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPass( renderPassId, imagePath, imageSaveType, useBackgroundThread, exrCompressionType ) |
| Description |
|---|
| Deprecated: Use saveRenderPass3 instead. Saves out a render pass to file only when the render pass is enabled |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderPassId | RenderPassId | Render pass id. |
| imagePath | string | Full path to the image file name. |
| imageSaveFormat | ImageSaveFormat | The format of the image file that should be saved [octane.imageSaveFormat]. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| exrCompressionType | ExrCompressionType | Compression type for Exr format [octane.exrCompressionType](optional). |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPass2( renderPassId, imagePath, imageSaveFormat, PROPS_RENDER_COLOR_SPACE_INFO, exrCompressionType, useBackgroundThread ) |
| Description |
|---|
| Saves out a render pass to file only when the render pass is enabled |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderPassId | RenderPassId | Render pass id. |
| imagePath | string | Full path to the image file name. |
| imageSaveFormat | ImageSaveFormat | The format of the image file that should be saved [octane.imageSaveFormat]. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| premultipliedAlphaType | PremultipliedAlphaType | The type of premultiplied alpha that the image file should have [octane.premultipliedAlphaType](optional). |
| formatOptions | table | Options to control how the image is saved. For EXR/TIFF/JPEG: octane.image.PROPS_EXR_SAVE, octane.image.PROPS_TIFF_SAVE, octane.image.PROPS_JPEG_SAVE. If the passed in value is an integer it is interpreted as the EXR/TIFF compression type. For JPEG if the passed value is a number it is interpreted as quality (must be in range 1 to 100). |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | true if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPass3( renderPassId, imagePath, imageSaveFormat, PROPS_RENDER_COLOR_SPACE_INFO, premultipliedAlphaType, formatOptions, useBackgroundThread ) |
| Description |
|---|
| Deprecated: Use saveRenderPasses3 instead. Saves the result of all the render passes in multiple files. Only render passes that are already started by the render engine are saved out to file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| outputDirectory | string | Full path to the output directory. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT,the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| imageSaveType | ImageSaveType | Type of the image to save [octane.imageSaveType]. |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the output files (optional/nil) |
| exrCompressionType | ExrCompressionType | OpenEXR compression type [octane.exrCompressionType] (optional) when omitted ZIP is used for compression. (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPasses( outputDirectory, exportList, imageSaveType, useBackgroundThread, metadata, exrCompressionType ) |
| Description |
|---|
| Deprecated: Use saveRenderPasses3 instead. Saves the result of all the render passes in multiple files. Only render passes that are already started by the render engine are saved out to file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| outputDirectory | string | Full path to the output directory. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT,the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| imageSaveFormat | ImageSaveFormat | The format of the image files that should be saved [octane.imageSaveFormat]. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| exrCompressionType | ExrCompressionType | OpenEXR compression type [octane.exrCompressionType] (optional) when omitted ZIP is used for compression. (optional) |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the output files (optional/nil) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPasses2( outputDirectory, exportList, imageSaveFormat, PROPS_RENDER_COLOR_SPACE_INFO, exrCompressionType, useBackgroundThread, metadata ) |
| Description |
|---|
| Saves the result of all the render passes in multiple files. Only render passes that are already started by the render engine are saved out to file. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| outputDirectory | string | Full path to the output directory. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT,the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| imageSaveFormat | ImageSaveFormat | The format of the image files that should be saved [octane.imageSaveFormat]. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| premultipliedAlphaType | PremultipliedAlphaType | The type of premultiplied alpha that the image file should have [octane.premultipliedAlphaType](optional). |
| formatOptions | table | Options to control how the image is saved. For EXR/TIFF/JPEG: octane.image.PROPS_EXR_SAVE, octane.image.PROPS_TIFF_SAVE, octane.image.PROPS_JPEG_SAVE. If the passed in value is an integer it is interpreted as the EXR/TIFF compression type. For JPEG if the passed value is a number it is interpreted as quality (must be in range 1 to 100). |
| useBackgroundThread | boolean | Save the image on a background thread (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the output files (optional/nil) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPasses3( outputDirectory, exportList, imageSaveFormat, PROPS_RENDER_COLOR_SPACE_INFO, premultipliedAlphaType, formatOptions, useBackgroundThread, metadata ) |
| Description |
|---|
| Deprecated: Use saveRenderPassesDeepExr2 instead. Saves a set of render passes into a deep pixel OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.). If deep render passes is not enabled in the kernel settings, only RENDER_PASS_BEAUTY can be exported. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the output file. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT, the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| compressionType | ExrCompressionType | OpenEXR compression type [octane.exrCompressionType] when omitted ZIPS is used for compression. (optional) |
| useHalf | boolean | Not yet supported, should be set to false. True to use 16-bit half floating point numbers instead of 32-bit floating point numbers. (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the OpenEXR file (optional/nil) |
| useBackgroundThread | boolean | Save the image on a background thread. (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPassesDeepExr( imagePath, exportList, compressionType, useHalf, metadata, useBackgroundThread ) |
| Description |
|---|
| Saves a set of render passes into a deep pixel OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.). If deep render passes is not enabled in the kernel settings, only RENDER_PASS_BEAUTY can be exported. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the output file. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT, the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| colorSpace | NamedColorSpace | The output color space (octane.namedColorSpace). Must not be octane.namedColorSpace.SRGB, octane.namedColorSpace.LINEAR_SRGB_WITH_LEGACY_GAMMA, octane.namedColorSpace.OCIO or octane.namedColorSpace.OTHER. When omitted linear sRGB is used. (optional) |
| compressionType | ExrCompressionType | OpenEXR compression type [octane.exrCompressionType] when omitted ZIPS is used for compression. (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the OpenEXR file (optional/nil) |
| useBackgroundThread | boolean | Save the image on a background thread. (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPassesDeepExr2( imagePath, exportList, colorSpace, compressionType, metadata, useBackgroundThread ) |
| Description |
|---|
| Deprecated: Use saveRenderPassesMultiExr3 instead. Saves a set of render passes into a multi-layer OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the output file. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT, the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| imageSaveType | ImageSaveType | Type of the image to save [octane.imageSaveType]. |
| compressionType | ExrCompressionType | OpenEXR compression type [octane.exrCompressionType] when omitted ZIP is used for compression. (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the OpenEXR file (optional/nil) |
| useBackgroundThread | boolean | Save the image on a background thread. (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPassesMultiExr( imagePath, exportList, imageSaveType, compressionType, metadata, useBackgroundThread ) |
| Description |
|---|
| Deprecated: Use saveRenderPassesMultiExr3 instead. Saves a set of render passes into a multi-layer OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the output file. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT, the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| useHalf | boolean | Whether to save a 16-bit EXR instead of 32-bit. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| compressionType | ExrCompressionType | OpenEXR compression type [octane.exrCompressionType] when omitted ZIP is used for compression. (optional) |
| metadata | table | Table of string key/value pairs used as metadata in the header of the OpenEXR file (optional/nil) |
| useBackgroundThread | boolean | Save the image on a background thread. (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPassesMultiExr2( imagePath, exportList, useHalf, PROPS_RENDER_COLOR_SPACE_INFO, compressionType, metadata, useBackgroundThread ) |
| Description |
|---|
| Saves a set of render passes into a multi-layer OpenEXR file. Only render passes that are already started in the engine are included in the result. (This applies to info render passes which are started independently from the beauty render passes.) |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| imagePath | string | Full path to the output file. |
| exportList | table | List of export objects of type PROPS_RENDER_PASS_EXPORT, the export name in each object is used as the layer name in the file. Special values: - If nil, all layers are saved with the default name. - If any name in the PROPS_RENDER_PASS_EXPORT is nil, the default name for that pass is used. |
| useHalf | boolean | Whether to save a 16-bit EXR instead of 32-bit. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| premultipliedAlpha | boolean | Whether the image file should have premultiplied alpha (optional). |
| formatOptions | table | Options to control how the image is saved. As of now, octane.image.PROPS_EXR_SAVE is supported for EXR. If the passed in value is an integer it is interpreted as the EXR compression type. |
| metadata | table | Table of string key/value pairs used as metadata in the header of the OpenEXR file (optional/nil) |
| useBackgroundThread | boolean | Save the image on a background thread. (optional) |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | True if the image was saved successfully. |
| Synopsis |
|---|
| success = octane.render.saveRenderPassesMultiExr3( imagePath, exportList, useHalf, PROPS_RENDER_COLOR_SPACE_INFO, premultipliedAlpha, formatOptions, metadata, useBackgroundThread ) |
| Description |
|---|
| Saves the render state as .OCR. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| outputFilePath | string | Full path to the output file. |
| Synopsis |
|---|
| octane.render.saveRenderState( outputFilePath ) |
| Description |
|---|
| Sets the current clay mode. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mode | number | clay mode [octane.clayMode] |
| Synopsis |
|---|
| octane.render.setClayMode( mode ) |
| Description |
|---|
| Sets the render device active for rendering. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderDeviceIxs | table | List of device indices that should be used for rendering |
| deviceIxsUsingPriority | table | List of device indices that use priority |
| imageDeviceIx | integer | Index of the device that should be used for imaging, or -1 to select the first capable device. The selected image device will always be used for rendering and if the real-time mode is enabled the selected device will be the real-time render device. |
| denoiseDeviceIxs | table | List of device indices that should be used for denoising |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| success | boolean | FALSE if could not enable any of the devices passes in the input list due to the maximum GPU limit. TRUE if all the devices enabled. |
| Synopsis |
|---|
| success = octane.render.setDevicesActivity( renderDeviceIxs, deviceIxsUsingPriority, imageDeviceIx, denoiseDeviceIxs ) |
| Description |
|---|
| Sets the displayed render pass. This is the render pass displayed in the Octane viewport and the result returned from the render callback. This function will throw an error when rendering hasn't started yet or when the render pass is not enabled in the node. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| renderPassId | integer | Render pass id. |
| Synopsis |
|---|
| octane.render.setDisplayRenderPassId( renderPassId ) |
| Description |
|---|
| Sets the render region. Both min and max will be clamped at the actual resolution. The coordinate system is the same as for render results. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| region | PROPS_RENDER_REGION | Table with render region properties. |
| Synopsis |
|---|
| octane.render.setRenderRegion( region ) |
| Description |
|---|
| Sets the current sub-sampling mode. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| mode | number | sub-sample mode [octane.subSampleMode] |
| Synopsis |
|---|
| octane.render.setSubSampleMode( mode ) |
| Description |
|---|
| Starts rendering. This function will block until rendering is finished and returns the final render results. To get intermediate results, it's possible to add a callback function. After rendering finished the render engine will be paused. You can continue it yourself via octane.render.continue if you want. This function returns when octane.render.callbackStop is called from the callback, when the requested samples are reached or when the max render time is exceeded. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_START | table | Table with render properties. |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties (optional). This is ignored if the deprecated tonemapType property is set in the render properties table. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_RESULT | table | Table with the finished render results. If the render was cancelled by callbackStop() or by the timeout, this will be the last blended result before the render was cancelled. |
| Synopsis |
|---|
| PROPS_RENDER_RESULT = octane.render.start( PROPS_RENDER_START, PROPS_RENDER_COLOR_SPACE_INFO ) |
| Description |
|---|
| Deprecated: Use synchronousTonemap3 instead. Tonemap one or more render passes. This is a fairly slow operation and should not be called often. See also setDisplayRenderPassId(), which determines which render pass you receive via the render callback. When a list of render pass IDs is given, any duplicates, and any passes which are disabled will be omitted from the results. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| toneMapType | TonemapType | The type of tone map (octane.tonemapType). |
| renderPassId | integer | Render pass Id, or a list of render pass IDs (octane.renderPassId). If nil, all active render passes will be tonemapped. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_RESULT | table | If renderpassId is a number, returns a single result, or nil if the pass is not enabled. If renderpassId is a list of numbers or nil, returns a list of render results. |
| Synopsis |
|---|
| PROPS_RENDER_RESULT = octane.render.synchronousTonemap( toneMapType, renderPassId ) |
| Description |
|---|
| Deprecated: Use synchronousTonemap3 instead. Tonemap one or more render passes. This is a fairly slow operation and should not be called often. See also setDisplayRenderPassId(), which determines which render pass you receive via the render callback. When a list of render pass IDs is given, any duplicates, and any passes which are disabled will be omitted from the results. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| bufferType | TonemapBufferType | The format of the result buffer (octane.tonemapBufferType). |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| renderPassId | integer | Render pass ID, or a list of render pass IDs (octane.renderPassId). If nil, all active render passes will be tonemapped. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_RESULT | table | If renderpassId is a number, returns a single result, or nil if the pass is not enabled. If renderpassId is a list of numbers or nil, returns a list of render results. |
| Synopsis |
|---|
| PROPS_RENDER_RESULT = octane.render.synchronousTonemap2( bufferType, PROPS_RENDER_COLOR_SPACE_INFO, renderPassId ) |
| Description |
|---|
| Tonemap one or more render passes. This is a fairly slow operation and should not be called often. See also setDisplayRenderPassId(), which determines which render pass you receive via the render callback. When a list of render pass IDs is given, any duplicates, and any passes which are disabled will be omitted from the results. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| bufferType | TonemapBufferType | The format of the result buffer (octane.tonemapBufferType). |
| PROPS_RENDER_COLOR_SPACE_INFO | table | Table with color space info properties. |
| premultipliedAlphaType | PremultipliedAlphaType | The type of premultiplied alpha that the image file should have [octane.premultipliedAlphaType]. |
| renderPassId | integer | Render pass ID, or a list of render pass IDs (octane.renderPassId). If nil, all active render passes will be tonemapped. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| PROPS_RENDER_RESULT | table | If renderpassId is a number, returns a single result, or nil if the pass is not enabled. If renderpassId is a list of numbers or nil, returns a list of render results. |
| Synopsis |
|---|
| PROPS_RENDER_RESULT = octane.render.synchronousTonemap3( bufferType, PROPS_RENDER_COLOR_SPACE_INFO, premultipliedAlphaType, renderPassId ) |
| Description |
|---|
| __index meta-method for gridlayout. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridlayout | gridlayout | Grid layout |
| name | string | name of the property |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| value | multi | the value of the property or nil |
| Synopsis |
|---|
| value = octane.gridlayout.__index( gridlayout, name ) |
| Description |
|---|
| Converts value to string. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| s | string | string representation |
| Synopsis |
|---|
| s = octane.gridlayout.__tostring( gridLayout ) |
| Description |
|---|
| Adds a new component to a grid cell. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| child | component | The component to add. |
| cellX | integer | The row of the grid cell where the component will be placed. The grid will be automatically extended if necessary. |
| cellY | integer | The column of the grid cell where the component will be placed. The grid will be automatically extended if necessary. |
| Synopsis |
|---|
| octane.gridlayout.add( gridLayout, child, cellX, cellY ) |
| Description |
|---|
| Add a new empty grid cell. This will make sure that the dimensions of the grid are extended to fit this cell. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| cellX | integer | The row of the empty grid cell. The grid will be automatically extended if necessary. |
| cellY | integer | The column of the empty grid cell. The grid will be automatically extended if necessary. |
| Synopsis |
|---|
| octane.gridlayout.addEmpty( gridLayout, cellX, cellY ) |
| Description |
|---|
| Adds a new component spanning multiple cells of the grid. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| child | component | Component to add in the span. |
| minCellX | integer | The first column of the span. |
| minCellY | integer | The first row of the span. |
| maxCellX | integer | The last column of the span. |
| maxCellY | integer | The last row of the span. |
| Synopsis |
|---|
| octane.gridlayout.addSpan( gridLayout, child, minCellX, minCellY, maxCellX, maxCellY ) |
| Description |
|---|
| Creates a new grid layout. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Synopsis |
|---|
| gridLayout = octane.gridlayout.create( ) |
| Description |
|---|
| Finishes the current nested grid and switches the context back to the parent grid. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Synopsis |
|---|
| octane.gridlayout.endNestedGrid( gridLayout ) |
| Description |
|---|
| Creates the initial layout and resizes the parent component accordingly. After that, no components can be added anymore. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Synopsis |
|---|
| octane.gridlayout.endSetup( gridLayout ) |
| Description |
|---|
| Returns the current height of the grid in pixels. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| height | integer | Grid height in pixels. |
| Synopsis |
|---|
| height = octane.gridlayout.getHeight( gridLayout ) |
| Description |
|---|
| Returns the current width of the grid in pixels. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| width | integer | Grid width in pixels. |
| Synopsis |
|---|
| width = octane.gridlayout.getWidth( gridLayout ) |
| Description |
|---|
| Returns true if the grid is in the setup phase. The setup phase means that octane.gridlayout.startSetup() was called but not yet octane.gridlayout.endSetup(). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| result | boolean | True if the grid is in the setup phase, false otherwise. |
| Synopsis |
|---|
| result = octane.gridlayout.inSetupPhase( gridLayout ) |
| Description |
|---|
| Sets the stretch factor of a column. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| colIx | integer | The index of the column. |
| elasticity | number | The elasticity (must be >= 0). |
| Synopsis |
|---|
| octane.gridlayout.setColElasticity( gridLayout, colIx, elasticity ) |
| Description |
|---|
| Sets the elasticity for all the cols in the grid (which is the current active grid, i.e. this can be a sub-grid). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| elasticity | number | The elasticity (must be >= 0). |
| Synopsis |
|---|
| octane.gridlayout.setElasticityForAllCols( gridLayout, elasticity ) |
| Description |
|---|
| Sets the elasticity for all the rows in the grid (which is the current active grid, i.e. this can be a sub-grid). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| elasticity | number | The elasticity (must be >= 0). |
| Synopsis |
|---|
| octane.gridlayout.setElasticityForAllRows( gridLayout, elasticity ) |
| Description |
|---|
| Sets the stretch factor of a row. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| rowIx | integer | The index of the row. |
| elasticity | number | The elasticity (must be >= 0). |
| Synopsis |
|---|
| octane.gridlayout.setRowElasticity( gridLayout, rowIx, elasticity ) |
| Description |
|---|
| Starts a new nested grid. All components that will be added after startNestedGrid() will go into the nest grid until endNestedGrid() has been called. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| minCellX | integer | The row of the start of the cell range the nested grid will be placed in. |
| minCellY | integer | The column of the start of the cell range the nested grid will be placed in. |
| maxCellX | integer | The row of the end of the cell range the nested grid willbe placed in. |
| maxCellY | integer | The column of the end of the cell range the nested grid willbe placed in. |
| borderX | integer | (optional) The horizontal margin that should be used left and right around the grid. If omitted, the window margin of the look and feel is used. |
| borderY | integer | (optional) The vertical margin that should be used top and bottom around the grid. If omitted, the window margin of the look and feel is used. |
| paddingX | integer | (optional) The default padding that will be used between columns.If the value is negative or not specified the standard padding of the look and feel will be used. |
| paddingY | integer | (optional) The default padding that will be used between rows. If the value is negative or not specified the standard padding of the look and feel will be used. |
| Synopsis |
|---|
| octane.gridlayout.startNestedGrid( gridLayout, minCellX, minCellY, maxCellX, maxCellY, borderX, borderY, paddingX, paddingY ) |
| Description |
|---|
| Starts the set up phase, where components can be added to the grid. Setting up the grid layout should be done only once. |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| gridLayout | gridlayout | Grid layout. |
| borderX | integer | (optional) The horizontal margin that should be used left and right around the grid. If unspecified, the window margin of the look and feel is used. |
| borderY | integer | (optional) The vertical margin that should be used top and bottom around the grid. If unspecified, the window margin of the look and feel is used. |
| paddingX | integer | (optional) The default padding that will be used betweencolumns. If unspecified, the standard padding of the look and feel will be used. |
| paddingY | integer | (optional) The default padding that will be used between rows. If unspecified, the standard padding of the look and feel will be used. |
| Synopsis |
|---|
| octane.gridlayout.startSetup( gridLayout, borderX, borderY, paddingX, paddingY ) |
| Description |
|---|
| Prints a value, value can be of type (number, boolean, table, string, function, thread, nil). |
| Parameters | ||
|---|---|---|
| Name | Type | Description |
| value | multi | Value to print in the output window. |
| Synopsis |
|---|
| octane.common.print( value ) |
| Description |
|---|
| Returns the current time as reported by your system. This value can be compared to values returned from octane.file.getModifiedTime() and similar functions. Precision depends on the system, but it should be more precise than os.time() which returns whole seconds. |
| Return Values | ||
|---|---|---|
| Name | Type | Description |
| time | number | Current time (milliseconds since midnight Jan 1st 1970 UTC) |
| Synopsis |
|---|
| time = octane.common.time( ) |
| Description |
|---|
| Rotation orders for matrix rotations. The rotationsare interpreted as intrinsic rotations, i.e. subsequent rotations happen in the rotated coordinate system. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| The type of analytic lights. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| The type of the time transform |
| Values |
|---|
| 1 |
| Description |
|---|
| Type of animation used |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Adaptive Sampling mode for grouping nearest pixels |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| IDs for attributes available. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 |
| 62 |
| 63 |
| 64 |
| 65 |
| 66 |
| 67 |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| 73 |
| 74 |
| 75 |
| 76 |
| 77 |
| 78 |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 98 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 116 |
| 117 |
| 118 |
| 119 |
| 120 |
| 121 |
| 122 |
| 123 |
| 124 |
| 125 |
| 126 |
| 127 |
| 128 |
| 129 |
| 130 |
| 131 |
| 132 |
| 133 |
| 134 |
| 135 |
| 136 |
| 137 |
| 138 |
| 139 |
| 140 |
| 141 |
| 142 |
| 143 |
| 144 |
| 145 |
| 146 |
| 147 |
| 148 |
| 149 |
| 150 |
| 151 |
| 152 |
| 153 |
| 154 |
| 155 |
| 156 |
| 157 |
| 158 |
| 159 |
| 160 |
| 161 |
| 162 |
| 163 |
| 164 |
| 165 |
| 166 |
| 167 |
| 168 |
| 169 |
| 170 |
| 171 |
| 172 |
| 173 |
| 174 |
| 175 |
| 176 |
| 177 |
| 178 |
| 179 |
| 180 |
| 181 |
| 182 |
| 183 |
| 184 |
| 185 |
| 186 |
| 187 |
| 188 |
| 189 |
| 190 |
| 191 |
| 192 |
| 193 |
| 194 |
| 195 |
| 196 |
| 197 |
| 198 |
| 199 |
| 200 |
| 201 |
| 202 |
| 203 |
| 204 |
| 205 |
| 206 |
| 207 |
| 208 |
| 209 |
| 210 |
| 211 |
| 212 |
| 213 |
| 214 |
| 215 |
| 216 |
| 217 |
| 218 |
| 219 |
| 220 |
| 221 |
| 222 |
| 223 |
| 224 |
| 225 |
| 226 |
| 227 |
| 228 |
| 229 |
| 230 |
| 231 |
| 232 |
| 233 |
| 234 |
| 235 |
| 236 |
| 237 |
| 238 |
| 239 |
| 240 |
| 241 |
| 242 |
| 243 |
| 244 |
| 245 |
| 246 |
| 247 |
| 248 |
| 249 |
| 250 |
| 251 |
| 252 |
| 253 |
| 254 |
| 255 |
| 256 |
| 257 |
| 258 |
| 259 |
| 260 |
| 261 |
| 262 |
| 263 |
| 264 |
| 265 |
| 266 |
| 267 |
| 268 |
| 269 |
| 270 |
| 271 |
| 272 |
| 273 |
| 274 |
| 275 |
| 276 |
| 277 |
| 278 |
| 279 |
| 280 |
| 281 |
| 282 |
| 283 |
| 284 |
| 285 |
| 286 |
| 287 |
| 288 |
| 289 |
| 290 |
| 291 |
| 292 |
| 293 |
| 294 |
| 295 |
| 296 |
| 297 |
| 298 |
| 299 |
| 300 |
| 301 |
| 302 |
| 303 |
| 304 |
| 305 |
| 306 |
| 307 |
| 308 |
| 309 |
| 310 |
| 311 |
| 312 |
| 313 |
| 314 |
| 315 |
| 316 |
| 317 |
| 318 |
| 319 |
| 320 |
| 321 |
| 322 |
| 323 |
| 324 |
| 325 |
| 326 |
| 327 |
| 328 |
| 329 |
| 330 |
| 331 |
| 332 |
| 333 |
| 334 |
| 335 |
| 336 |
| 337 |
| 338 |
| 339 |
| 340 |
| 341 |
| 342 |
| 343 |
| 344 |
| 345 |
| 346 |
| 347 |
| 348 |
| 349 |
| 350 |
| 351 |
| 352 |
| 353 |
| 354 |
| 355 |
| 356 |
| 357 |
| 358 |
| 359 |
| 360 |
| 361 |
| 362 |
| 363 |
| 364 |
| 365 |
| 366 |
| 367 |
| 368 |
| 369 |
| 370 |
| 371 |
| 372 |
| 373 |
| 374 |
| 375 |
| 376 |
| 377 |
| 378 |
| 379 |
| 380 |
| 381 |
| 382 |
| 383 |
| 384 |
| 385 |
| 386 |
| 387 |
| 388 |
| 389 |
| 390 |
| 391 |
| 392 |
| 393 |
| 394 |
| 395 |
| 396 |
| 397 |
| 398 |
| 399 |
| 400 |
| 401 |
| 402 |
| 403 |
| 404 |
| 405 |
| 406 |
| 407 |
| 408 |
| 409 |
| 410 |
| 411 |
| 412 |
| 413 |
| 414 |
| 415 |
| 416 |
| 417 |
| 418 |
| 419 |
| 420 |
| 421 |
| 422 |
| 423 |
| 424 |
| 425 |
| 426 |
| 427 |
| 428 |
| 429 |
| 430 |
| 431 |
| 432 |
| 433 |
| 434 |
| 435 |
| 436 |
| 437 |
| 438 |
| 439 |
| 440 |
| 441 |
| 442 |
| 443 |
| 444 |
| 445 |
| 446 |
| 447 |
| 448 |
| 449 |
| 450 |
| 451 |
| 452 |
| 453 |
| 454 |
| 455 |
| 456 |
| 457 |
| 458 |
| 459 |
| 460 |
| 461 |
| 462 |
| 463 |
| 464 |
| 465 |
| 466 |
| 467 |
| 468 |
| 469 |
| 470 |
| 471 |
| 472 |
| 473 |
| 474 |
| 475 |
| 476 |
| 477 |
| 478 |
| 479 |
| 480 |
| 481 |
| 482 |
| 483 |
| 484 |
| 485 |
| 486 |
| 487 |
| 488 |
| 489 |
| 490 |
| 491 |
| 492 |
| 493 |
| 494 |
| 495 |
| 496 |
| 497 |
| 498 |
| 499 |
| 500 |
| 501 |
| 502 |
| 503 |
| 504 |
| 505 |
| 506 |
| 507 |
| 508 |
| 509 |
| 510 |
| 511 |
| 512 |
| 513 |
| 514 |
| 515 |
| 516 |
| 517 |
| 518 |
| 519 |
| 520 |
| 521 |
| 522 |
| 523 |
| 524 |
| 525 |
| 526 |
| 527 |
| 528 |
| 529 |
| 530 |
| 531 |
| 532 |
| 533 |
| 534 |
| 535 |
| 536 |
| 537 |
| 538 |
| 539 |
| 540 |
| 541 |
| 542 |
| 543 |
| 544 |
| 545 |
| 546 |
| 547 |
| 548 |
| 549 |
| 550 |
| 551 |
| 552 |
| 553 |
| 554 |
| 555 |
| 556 |
| 557 |
| 558 |
| 559 |
| 560 |
| 561 |
| 562 |
| 563 |
| 564 |
| 565 |
| 566 |
| 567 |
| 568 |
| 569 |
| 570 |
| 571 |
| 572 |
| 573 |
| 574 |
| 575 |
| 576 |
| 577 |
| 578 |
| 579 |
| 580 |
| 581 |
| 582 |
| 583 |
| 584 |
| 585 |
| 586 |
| 587 |
| 588 |
| 589 |
| 590 |
| 591 |
| 592 |
| 593 |
| 594 |
| 595 |
| 596 |
| 597 |
| 598 |
| 599 |
| 600 |
| 601 |
| 602 |
| 603 |
| 604 |
| 605 |
| 606 |
| 607 |
| 608 |
| 609 |
| 610 |
| 611 |
| 612 |
| 613 |
| 614 |
| 615 |
| 616 |
| 617 |
| Description |
|---|
| Types of attributes available. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| Description |
|---|
| Texture type for baking texture nodes. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Binary math operations for nodes NT_TEX_MATH_BINARY and NT_FLOAT_MATH_BINARY. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| Description |
|---|
| Blend modes for composite textures and composite AOVs. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 |
| 62 |
| 63 |
| 64 |
| 65 |
| 66 |
| 67 |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| Description |
|---|
| Flags to control which parts of a background and foreground image to include when blending two images together. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| Description |
|---|
| The different border modes supported by the image texture nodes. The value is set by the enum pins P_BORDER_MODE_U and P_BORDER_MODE_V. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| TODO: to be removed |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Builtin graph IDs. |
| Values |
|---|
| Description |
|---|
| Diffuse BxDF models supported by Octane |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Sheen BxDF models supported by Octane |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Specular BxDF models supported by Octane |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| BxDF transmission types |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| BxDF selection by Universal Material |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| Description |
|---|
| Describes the status of a file cache |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The various node system event we have. For events, exactly one of these flags will be set. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| Description |
|---|
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The channel mappings supported by NT_TEX_IMAGE_ADJUSTMENT. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| Description |
|---|
| Describes how an image should be loaded. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Types of Cinema4D noise |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| Description |
|---|
| The different clay modes we currerntly support. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Color channel types used for channel selection. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Display in the color box |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Color space used for color picking. Used in the application preferences. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Color space conversions. Different subsets are supported by NT_TEX_COLOR_SPACE_CONVERSION, NT_TEX_CHANNEL_MERGE, and NT_TEX_CHANNEL_PICK. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| Description |
|---|
| Curve types that different color spaces can have. This does not fully specify the exact transfer function, but gives an indication as to the general purpose of curve. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Comparison operations supported by the Comparison texture node (NT_TEX_COMPARE), Comparison composite texture layer (NT_TEX_COMPOSITE_LAYER_COMPARISON), and value nodes NT_{FLOAT,INT}_RELATIONAL_OPERATOR. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| Result of compiling code |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Component picker operation types supported by NT_{FLOAT,INT}_COMPONENT_PICKER. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| GUI widget types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| Description |
|---|
| Types of alpha operation available for composite system. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| Description |
|---|
| The Porter-Duff composite operations with some additional variations. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| Description |
|---|
| Coordinate system axes used by NT_TEX_WAVE_PATTERN. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Coordinate spaces used by NT_TEX_POSITION, NT_TEX_RAY_DIRECTION and NT_TEX_NORMAL. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Types of cryptomatte we can render. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| Description |
|---|
| The mode for the various curvature components used in curvature texture node |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| IDs we use to identify custom AOVs. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| Description |
|---|
| The custom AOV channel we can write to. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The options we have for secondary rays. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The different ways we can apply a custom curve to an RGB color. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| The different models we support in the daylight environment node. The value is set by the enum pin P_MODEL. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| Description |
|---|
| Supported denoiser quality settings. These are currently only used with the Open Image Denoise library. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Icon types for dialogs. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Dialog types. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Global illumination modes of the direct lighting kernel. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Dispersion models |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The direction used to displace the surface |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The levels of details we currently support in displacement mapping. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| Description |
|---|
| Vertex displacement texture type |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Quality of the displacement mapping. Normal corresponds to the legacy displacement. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Vertex displacement map axes |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Vertex displacement texture space |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Distance mode used by NT_TEX_RELATIVE_DISTANCE. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| GUI event types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| Description |
|---|
| RGB mode used by NT_OUTPUT_AOV_LAYER_EXPAND_CONTRACT. This determines how to how to treat the RGB channels (the alpha channel is always treated as a mask). |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The types of render passes export. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| States a scene export can be. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Compression type for OpenEXR file export. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| Description |
|---|
| The various modes we support in the falloff texture. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Supported filter types |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The noise modes for NT_TEX_FRACTAL_NOISE. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The way Gaussian splat clouds are clipped |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The way Gaussian splats interact with lights |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Export formats we support |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Specifies how objects in a mesh node should be treated on import. value is set in the A_GEOIMP_OBJECT_LAYER_IMPORT attribute of the NT_GEO_MESH node. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The various units we support during the geometry import. It's basically the unit used during the export of the geometry. Used in the import preference attribute A_GEOIMP_SCALE_UNIT_TYPE. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| Description |
|---|
| Available actions on the global light IDs mask. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| IDs we use to identify global texture AOVs. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| Description |
|---|
| Gradient types supported by the 'Gradient generator' texture node (NT_TEX_GRADIENT_GENERATOR). |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Gradient interpolation color spaces that we support. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Gradient interpolation methods that we support. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Types of node graphs available. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 |
| 62 |
| 63 |
| 64 |
| 65 |
| 66 |
| 67 |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| 73 |
| 74 |
| 75 |
| 76 |
| 77 |
| 78 |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 98 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| Description |
|---|
| Hair gradient interpolation types. These specify how the hair segment W coordinates are calculated to fetch the actual value in the gradient texture. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Hair material base color modes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| IES photometry modes |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Image channel types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| Description |
|---|
| Image color types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Filter types to use when resampling an image. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Ways to get a mask value from an RGBA color in the output AOV compositor and composite texture. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| Description |
|---|
| The supported image file formats for saving render results. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| Description |
|---|
| @deprecated Use ImageSaveFormat and/or NamedColorSpace instead. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| Description |
|---|
| The various image types we support in the image texture node. Used in the image texture node attribute A_TYPE. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| Description |
|---|
| Ways to import the rest attributes for fbx and alembic files |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Modes for deciding whether or not to do pixel filtering for most info passes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The types of data the info channels kernel can render |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| Description |
|---|
| Input actions for nodes with attribute A_INPUT_ACTION. The attribute is of type AT_INT2. The first component identifies the action and the second the index of the movable input which specifies the input (position) this action should be applied to. Be aware that a movable input can consist of multiple pins. The number can be fetched from @ref ApiNodeInfo::mMovableInputPinCount. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Interpolation types for NT_TEX_RANGE and NT_FLOAT_RANGE. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| All the places that a DB item can come from. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| IDs to identify light AOVs. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| Description |
|---|
| The flags used in emission masks. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| The types of light sampler we use for rendering |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The available views for thumbnails of liveDB material and texture macros. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Logical operators supported by NT_BOOL_LOGIC_OPERATOR. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Type of the script |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Memory locations of the resources |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Specify how to calculate the reflectance on metallic materials |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| List of possible modifier keys. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| Description |
|---|
| The different module types supported in the standalone. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The shapes supported by NT_TEX_MOIRE_MOSAIC. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| All the different buttons on a mouse. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| Description |
|---|
| The different pin structures that can be moved between nodes that have movable inputs. Movable inputs can be moved from one node to another if and only if both nodes have the same movable input format. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| Description |
|---|
| Specific color spaces that Octane knows about. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| Description |
|---|
| Types of nodes available. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 |
| 62 |
| 63 |
| 64 |
| 65 |
| 66 |
| 67 |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| 73 |
| 74 |
| 75 |
| 76 |
| 77 |
| 78 |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 98 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 116 |
| 117 |
| 118 |
| 119 |
| 120 |
| 121 |
| 122 |
| 123 |
| 124 |
| 125 |
| 126 |
| 127 |
| 128 |
| 129 |
| 130 |
| 131 |
| 132 |
| 133 |
| 134 |
| 135 |
| 136 |
| 137 |
| 138 |
| 139 |
| 140 |
| 141 |
| 142 |
| 143 |
| 144 |
| 145 |
| 146 |
| 147 |
| 148 |
| 149 |
| 150 |
| 151 |
| 152 |
| 153 |
| 154 |
| 155 |
| 156 |
| 157 |
| 158 |
| 159 |
| 160 |
| 161 |
| 162 |
| 163 |
| 164 |
| 165 |
| 166 |
| 167 |
| 168 |
| 169 |
| 170 |
| 171 |
| 172 |
| 173 |
| 174 |
| 175 |
| 176 |
| 177 |
| 178 |
| 179 |
| 180 |
| 181 |
| 182 |
| 183 |
| 184 |
| 185 |
| 186 |
| 187 |
| 188 |
| 189 |
| 190 |
| 191 |
| 192 |
| 193 |
| 194 |
| 195 |
| 196 |
| 197 |
| 198 |
| 199 |
| 200 |
| 201 |
| 202 |
| 203 |
| 204 |
| 205 |
| 206 |
| 207 |
| 208 |
| 209 |
| 210 |
| 211 |
| 212 |
| 213 |
| 214 |
| 215 |
| 216 |
| 217 |
| 218 |
| 219 |
| 220 |
| 221 |
| 222 |
| 223 |
| 224 |
| 225 |
| 226 |
| 227 |
| 228 |
| 229 |
| 230 |
| 231 |
| 232 |
| 233 |
| 234 |
| 235 |
| 236 |
| 237 |
| 238 |
| 239 |
| 240 |
| 241 |
| 242 |
| 243 |
| 244 |
| 245 |
| 246 |
| 247 |
| 248 |
| 249 |
| 250 |
| 251 |
| 252 |
| 253 |
| 254 |
| 255 |
| 256 |
| 257 |
| 258 |
| 259 |
| 260 |
| 261 |
| 262 |
| 263 |
| 264 |
| 265 |
| 266 |
| 267 |
| 268 |
| 269 |
| 270 |
| 271 |
| 272 |
| 273 |
| 274 |
| 275 |
| 276 |
| 277 |
| 278 |
| 279 |
| 280 |
| 281 |
| 282 |
| 283 |
| 284 |
| 285 |
| 286 |
| 287 |
| 288 |
| 289 |
| 290 |
| 291 |
| 292 |
| 293 |
| 294 |
| 295 |
| 296 |
| 297 |
| 298 |
| 299 |
| 300 |
| 301 |
| 302 |
| 303 |
| 304 |
| 305 |
| 306 |
| 307 |
| 308 |
| 309 |
| 310 |
| 311 |
| 312 |
| 313 |
| 314 |
| 315 |
| 316 |
| 317 |
| 318 |
| 319 |
| 320 |
| 321 |
| 322 |
| 323 |
| 324 |
| 325 |
| 326 |
| 327 |
| 328 |
| 329 |
| 330 |
| 331 |
| 332 |
| 333 |
| 334 |
| 335 |
| 336 |
| 337 |
| 338 |
| 339 |
| 340 |
| 341 |
| 342 |
| 343 |
| 344 |
| 345 |
| 346 |
| 347 |
| 348 |
| 349 |
| 350 |
| 351 |
| 352 |
| 353 |
| 354 |
| 355 |
| 356 |
| 357 |
| 358 |
| 359 |
| 360 |
| 361 |
| 362 |
| 363 |
| 364 |
| 365 |
| 366 |
| 367 |
| 368 |
| 369 |
| 370 |
| 371 |
| 372 |
| 373 |
| 374 |
| 375 |
| 376 |
| 377 |
| 378 |
| 379 |
| 380 |
| 381 |
| 382 |
| 383 |
| 384 |
| 385 |
| 386 |
| 387 |
| 388 |
| 389 |
| 390 |
| 391 |
| 392 |
| 393 |
| 394 |
| 395 |
| 396 |
| 397 |
| 398 |
| 399 |
| 400 |
| 401 |
| 402 |
| 403 |
| 404 |
| 405 |
| 406 |
| 407 |
| 408 |
| 409 |
| 410 |
| 411 |
| 412 |
| 413 |
| 414 |
| 415 |
| 416 |
| 417 |
| 418 |
| 419 |
| 420 |
| 421 |
| 422 |
| 423 |
| 424 |
| 425 |
| 426 |
| 427 |
| 428 |
| 429 |
| 430 |
| 431 |
| 432 |
| 433 |
| 434 |
| 435 |
| 436 |
| 437 |
| 438 |
| 439 |
| 440 |
| 441 |
| 442 |
| 443 |
| 444 |
| 445 |
| 446 |
| 447 |
| 448 |
| 449 |
| 450 |
| 451 |
| 452 |
| 453 |
| 454 |
| 455 |
| 456 |
| 457 |
| 458 |
| 459 |
| 460 |
| 461 |
| 462 |
| 463 |
| 464 |
| 465 |
| 466 |
| 467 |
| 468 |
| 469 |
| 470 |
| 471 |
| 472 |
| 473 |
| 474 |
| 475 |
| 476 |
| 477 |
| 478 |
| 479 |
| 480 |
| 481 |
| 482 |
| 483 |
| 484 |
| 485 |
| 486 |
| 487 |
| 488 |
| 489 |
| 490 |
| 491 |
| 492 |
| 493 |
| 494 |
| 495 |
| 496 |
| 497 |
| 498 |
| 499 |
| 500 |
| 501 |
| 502 |
| 503 |
| 504 |
| 505 |
| 506 |
| 507 |
| 508 |
| 509 |
| 510 |
| 511 |
| 512 |
| 513 |
| 514 |
| 515 |
| 516 |
| 517 |
| 518 |
| 519 |
| 520 |
| 521 |
| 522 |
| 523 |
| 524 |
| 525 |
| 526 |
| 527 |
| 528 |
| 529 |
| 530 |
| 531 |
| 532 |
| 533 |
| 534 |
| 535 |
| 536 |
| 537 |
| 538 |
| 539 |
| 540 |
| 541 |
| 542 |
| 543 |
| 544 |
| 545 |
| 546 |
| 547 |
| 548 |
| 549 |
| 550 |
| 551 |
| 552 |
| 553 |
| 554 |
| 555 |
| 556 |
| 557 |
| 558 |
| 559 |
| 560 |
| 561 |
| 562 |
| 563 |
| 564 |
| 565 |
| 566 |
| 567 |
| 568 |
| 569 |
| 570 |
| 571 |
| 572 |
| 573 |
| 574 |
| 575 |
| 576 |
| 577 |
| 578 |
| 579 |
| 580 |
| 581 |
| 582 |
| 583 |
| 584 |
| 585 |
| 586 |
| 587 |
| 588 |
| 589 |
| 590 |
| 591 |
| 592 |
| 593 |
| 594 |
| 595 |
| 596 |
| 597 |
| 598 |
| 599 |
| 600 |
| 601 |
| 602 |
| 603 |
| 604 |
| 605 |
| 606 |
| 607 |
| 608 |
| 609 |
| 610 |
| 611 |
| 612 |
| 613 |
| 614 |
| 615 |
| 616 |
| 617 |
| 618 |
| 619 |
| 620 |
| 621 |
| 622 |
| 623 |
| 624 |
| 625 |
| 626 |
| 627 |
| 628 |
| 629 |
| 630 |
| 631 |
| 632 |
| 633 |
| 634 |
| 635 |
| 636 |
| 637 |
| 638 |
| 639 |
| 640 |
| 641 |
| 642 |
| 643 |
| 644 |
| 645 |
| 646 |
| 647 |
| 648 |
| 649 |
| 650 |
| 651 |
| 652 |
| 653 |
| 654 |
| 655 |
| 656 |
| 657 |
| 658 |
| 659 |
| 660 |
| 661 |
| 662 |
| 663 |
| 664 |
| 665 |
| 666 |
| 667 |
| 668 |
| 669 |
| 670 |
| 671 |
| 672 |
| 673 |
| 674 |
| 675 |
| 676 |
| 677 |
| 678 |
| 679 |
| 680 |
| 681 |
| 682 |
| 683 |
| 684 |
| 685 |
| 686 |
| 687 |
| 688 |
| 689 |
| 690 |
| 691 |
| 692 |
| 693 |
| 694 |
| 695 |
| 696 |
| 697 |
| 698 |
| 699 |
| 700 |
| 701 |
| 702 |
| 703 |
| 704 |
| 705 |
| 706 |
| 707 |
| 708 |
| 709 |
| 710 |
| 711 |
| 712 |
| 713 |
| 714 |
| 715 |
| 716 |
| 717 |
| 718 |
| 719 |
| 720 |
| 721 |
| 722 |
| 723 |
| 724 |
| 725 |
| 726 |
| 727 |
| 728 |
| 729 |
| 730 |
| 731 |
| 732 |
| 733 |
| 734 |
| 735 |
| 736 |
| 737 |
| 738 |
| 739 |
| 740 |
| 741 |
| 742 |
| 743 |
| 744 |
| 745 |
| 746 |
| 747 |
| 748 |
| 749 |
| 750 |
| Description |
|---|
| Types of noise used by the noise texture node (NT_TEX_NOISE) |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Noise types defined in OSL and used by the random map texture (NT_TEX_RANDOM_MAP) |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Normal types used by the Normal texture node (NT_TEX_NORMAL). |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The RGB color space that should be used during the import of MTL files. Used in the OBJ import preference attribute A_OBJIMP_COLOR_SPACE. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The include object mode for various texture nodes |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Categories available in the liveDB. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Output color space specification types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The different modes we currently support in the panoramic camera. The value is set in the pin P_CAMERA_MODE of the node NT_CAM_PANORAMIC. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| Description |
|---|
| IDs for input pins available. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 |
| 62 |
| 63 |
| 64 |
| 65 |
| 66 |
| 67 |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| 73 |
| 74 |
| 75 |
| 76 |
| 77 |
| 78 |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 98 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 116 |
| 117 |
| 118 |
| 119 |
| 120 |
| 121 |
| 122 |
| 123 |
| 124 |
| 125 |
| 126 |
| 127 |
| 128 |
| 129 |
| 130 |
| 131 |
| 132 |
| 133 |
| 134 |
| 135 |
| 136 |
| 137 |
| 138 |
| 139 |
| 140 |
| 141 |
| 142 |
| 143 |
| 144 |
| 145 |
| 146 |
| 147 |
| 148 |
| 149 |
| 150 |
| 151 |
| 152 |
| 153 |
| 154 |
| 155 |
| 156 |
| 157 |
| 158 |
| 159 |
| 160 |
| 161 |
| 162 |
| 163 |
| 164 |
| 165 |
| 166 |
| 167 |
| 168 |
| 169 |
| 170 |
| 171 |
| 172 |
| 173 |
| 174 |
| 175 |
| 176 |
| 177 |
| 178 |
| 179 |
| 180 |
| 181 |
| 182 |
| 183 |
| 184 |
| 185 |
| 186 |
| 187 |
| 188 |
| 189 |
| 190 |
| 191 |
| 192 |
| 193 |
| 194 |
| 195 |
| 196 |
| 197 |
| 198 |
| 199 |
| 200 |
| 201 |
| 202 |
| 203 |
| 204 |
| 205 |
| 206 |
| 207 |
| 208 |
| 209 |
| 210 |
| 211 |
| 212 |
| 213 |
| 214 |
| 215 |
| 216 |
| 217 |
| 218 |
| 219 |
| 220 |
| 221 |
| 222 |
| 223 |
| 224 |
| 225 |
| 226 |
| 227 |
| 228 |
| 229 |
| 230 |
| 231 |
| 232 |
| 233 |
| 234 |
| 235 |
| 236 |
| 237 |
| 238 |
| 239 |
| 240 |
| 241 |
| 242 |
| 243 |
| 244 |
| 245 |
| 246 |
| 247 |
| 248 |
| 249 |
| 250 |
| 251 |
| 252 |
| 253 |
| 254 |
| 255 |
| 256 |
| 257 |
| 258 |
| 259 |
| 260 |
| 261 |
| 262 |
| 263 |
| 264 |
| 265 |
| 266 |
| 267 |
| 268 |
| 269 |
| 270 |
| 271 |
| 272 |
| 273 |
| 274 |
| 275 |
| 276 |
| 277 |
| 278 |
| 279 |
| 280 |
| 281 |
| 282 |
| 283 |
| 284 |
| 285 |
| 286 |
| 287 |
| 288 |
| 289 |
| 290 |
| 291 |
| 292 |
| 293 |
| 294 |
| 295 |
| 296 |
| 297 |
| 298 |
| 299 |
| 300 |
| 301 |
| 302 |
| 303 |
| 304 |
| 305 |
| 306 |
| 307 |
| 308 |
| 309 |
| 310 |
| 311 |
| 312 |
| 313 |
| 314 |
| 315 |
| 316 |
| 317 |
| 318 |
| 319 |
| 320 |
| 321 |
| 322 |
| 323 |
| 324 |
| 325 |
| 326 |
| 327 |
| 328 |
| 329 |
| 330 |
| 331 |
| 332 |
| 333 |
| 334 |
| 335 |
| 336 |
| 337 |
| 338 |
| 339 |
| 340 |
| 341 |
| 342 |
| 343 |
| 344 |
| 345 |
| 346 |
| 347 |
| 348 |
| 349 |
| 350 |
| 351 |
| 352 |
| 353 |
| 354 |
| 355 |
| 356 |
| 357 |
| 358 |
| 359 |
| 360 |
| 361 |
| 362 |
| 363 |
| 364 |
| 365 |
| 366 |
| 367 |
| 368 |
| 369 |
| 370 |
| 371 |
| 372 |
| 373 |
| 374 |
| 375 |
| 376 |
| 377 |
| 378 |
| 379 |
| 380 |
| 381 |
| 382 |
| 383 |
| 384 |
| 385 |
| 386 |
| 387 |
| 388 |
| 389 |
| 390 |
| 391 |
| 392 |
| 393 |
| 394 |
| 395 |
| 396 |
| 397 |
| 398 |
| 399 |
| 400 |
| 401 |
| 402 |
| 403 |
| 404 |
| 405 |
| 406 |
| 407 |
| 408 |
| 409 |
| 410 |
| 411 |
| 412 |
| 413 |
| 414 |
| 415 |
| 416 |
| 417 |
| 418 |
| 419 |
| 420 |
| 421 |
| 422 |
| 423 |
| 424 |
| 425 |
| 426 |
| 427 |
| 428 |
| 429 |
| 430 |
| 431 |
| 432 |
| 433 |
| 434 |
| 435 |
| 436 |
| 437 |
| 438 |
| 439 |
| 440 |
| 441 |
| 442 |
| 443 |
| 444 |
| 445 |
| 446 |
| 447 |
| 448 |
| 449 |
| 450 |
| 451 |
| 452 |
| 453 |
| 454 |
| 455 |
| 456 |
| 457 |
| 458 |
| 459 |
| 460 |
| 461 |
| 462 |
| 463 |
| 464 |
| 465 |
| 466 |
| 467 |
| 468 |
| 469 |
| 470 |
| 471 |
| 472 |
| 473 |
| 474 |
| 475 |
| 476 |
| 477 |
| 478 |
| 479 |
| 480 |
| 481 |
| 482 |
| 483 |
| 484 |
| 485 |
| 486 |
| 487 |
| 488 |
| 489 |
| 490 |
| 491 |
| 492 |
| 493 |
| 494 |
| 495 |
| 496 |
| 497 |
| 498 |
| 499 |
| 500 |
| 501 |
| 502 |
| 503 |
| 504 |
| 505 |
| 506 |
| 507 |
| 508 |
| 509 |
| 510 |
| 511 |
| 512 |
| 513 |
| 514 |
| 515 |
| 516 |
| 517 |
| 518 |
| 519 |
| 520 |
| 521 |
| 522 |
| 523 |
| 524 |
| 525 |
| 526 |
| 527 |
| 528 |
| 529 |
| 530 |
| 531 |
| 532 |
| 533 |
| 534 |
| 535 |
| 536 |
| 537 |
| 538 |
| 539 |
| 540 |
| 541 |
| 542 |
| 543 |
| 544 |
| 545 |
| 546 |
| 547 |
| 548 |
| 549 |
| 550 |
| 551 |
| 552 |
| 553 |
| 554 |
| 555 |
| 556 |
| 557 |
| 558 |
| 559 |
| 560 |
| 561 |
| 562 |
| 563 |
| 564 |
| 565 |
| 566 |
| 567 |
| 568 |
| 569 |
| 570 |
| 571 |
| 572 |
| 573 |
| 574 |
| 575 |
| 576 |
| 577 |
| 578 |
| 579 |
| 580 |
| 581 |
| 582 |
| 583 |
| 584 |
| 585 |
| 586 |
| 587 |
| 588 |
| 589 |
| 590 |
| 591 |
| 592 |
| 593 |
| 594 |
| 595 |
| 596 |
| 597 |
| 598 |
| 599 |
| 600 |
| 601 |
| 602 |
| 603 |
| 604 |
| 605 |
| 606 |
| 607 |
| 608 |
| 609 |
| 610 |
| 611 |
| 612 |
| 613 |
| 614 |
| 615 |
| 616 |
| 617 |
| 618 |
| 619 |
| 620 |
| 621 |
| 622 |
| 623 |
| 624 |
| 625 |
| 626 |
| 627 |
| 628 |
| 629 |
| 630 |
| 631 |
| 632 |
| 633 |
| 634 |
| 635 |
| 636 |
| 637 |
| 638 |
| 639 |
| 640 |
| 641 |
| 642 |
| 643 |
| 644 |
| 645 |
| 646 |
| 647 |
| 648 |
| 649 |
| 650 |
| 651 |
| 652 |
| 653 |
| 654 |
| 655 |
| 656 |
| 657 |
| 658 |
| 659 |
| 660 |
| 661 |
| 662 |
| 663 |
| 664 |
| 665 |
| 666 |
| 667 |
| 668 |
| 669 |
| 670 |
| 671 |
| 672 |
| 673 |
| 674 |
| 675 |
| 676 |
| 677 |
| 678 |
| 679 |
| 680 |
| 681 |
| 682 |
| 683 |
| 684 |
| 685 |
| 686 |
| 687 |
| 688 |
| 689 |
| 690 |
| 691 |
| 692 |
| 693 |
| 694 |
| 695 |
| 696 |
| 697 |
| 698 |
| 699 |
| 700 |
| 701 |
| 702 |
| 703 |
| 704 |
| 705 |
| 706 |
| 707 |
| 708 |
| 709 |
| 710 |
| 711 |
| 712 |
| 713 |
| 714 |
| 715 |
| 716 |
| 717 |
| 718 |
| 719 |
| 720 |
| 721 |
| 722 |
| 723 |
| 724 |
| 725 |
| 726 |
| 727 |
| 728 |
| 729 |
| 730 |
| 731 |
| 732 |
| 733 |
| 734 |
| 735 |
| 736 |
| 737 |
| 738 |
| 739 |
| 740 |
| 741 |
| 742 |
| 743 |
| 744 |
| 745 |
| 746 |
| 747 |
| 748 |
| 749 |
| 750 |
| 751 |
| 752 |
| 753 |
| 754 |
| 755 |
| 756 |
| 757 |
| 758 |
| 759 |
| 760 |
| 761 |
| 762 |
| 763 |
| 764 |
| 765 |
| 766 |
| 767 |
| 768 |
| 769 |
| 770 |
| 771 |
| 772 |
| 773 |
| 774 |
| 775 |
| 776 |
| 777 |
| 778 |
| 779 |
| 780 |
| 781 |
| 782 |
| 783 |
| 784 |
| 785 |
| 786 |
| 787 |
| 788 |
| 789 |
| 790 |
| 791 |
| 792 |
| 793 |
| 794 |
| 795 |
| 796 |
| 797 |
| 798 |
| 799 |
| 800 |
| 801 |
| 802 |
| 803 |
| 804 |
| 805 |
| 806 |
| 807 |
| 808 |
| 809 |
| 810 |
| 811 |
| 812 |
| 813 |
| 814 |
| 815 |
| 816 |
| 817 |
| 818 |
| 819 |
| 820 |
| 821 |
| 822 |
| 823 |
| 824 |
| 825 |
| 826 |
| 827 |
| 828 |
| 829 |
| 830 |
| 831 |
| 832 |
| 833 |
| 834 |
| 835 |
| 836 |
| 837 |
| 838 |
| 839 |
| 840 |
| 841 |
| 842 |
| 843 |
| 844 |
| 845 |
| 846 |
| 847 |
| 848 |
| 849 |
| 850 |
| 851 |
| 852 |
| 853 |
| 854 |
| 855 |
| 856 |
| 857 |
| 858 |
| 859 |
| 860 |
| 861 |
| 862 |
| 863 |
| 864 |
| 865 |
| 866 |
| 867 |
| 868 |
| 869 |
| 870 |
| 871 |
| 872 |
| 873 |
| 874 |
| 875 |
| 876 |
| 877 |
| 878 |
| 879 |
| 880 |
| 881 |
| 882 |
| 883 |
| 884 |
| 885 |
| 886 |
| 887 |
| 888 |
| 889 |
| 890 |
| 891 |
| 892 |
| 893 |
| 894 |
| 895 |
| 896 |
| 897 |
| 898 |
| 899 |
| 900 |
| 901 |
| 902 |
| 903 |
| 904 |
| 905 |
| 906 |
| 907 |
| 908 |
| 909 |
| 910 |
| 911 |
| 912 |
| 913 |
| 914 |
| 915 |
| 916 |
| 917 |
| 918 |
| 919 |
| 920 |
| 921 |
| 922 |
| 923 |
| 924 |
| 925 |
| 926 |
| 927 |
| 928 |
| 929 |
| 930 |
| 931 |
| 932 |
| 933 |
| 934 |
| 935 |
| 936 |
| 937 |
| 938 |
| 939 |
| 940 |
| 941 |
| 942 |
| 943 |
| 944 |
| 945 |
| 946 |
| 947 |
| 948 |
| 949 |
| 950 |
| 951 |
| 952 |
| 953 |
| 954 |
| 955 |
| 956 |
| 957 |
| 958 |
| 959 |
| 960 |
| 961 |
| 962 |
| 963 |
| 964 |
| 965 |
| 966 |
| 967 |
| 968 |
| 969 |
| 970 |
| 971 |
| 972 |
| 973 |
| 974 |
| 975 |
| 976 |
| 977 |
| 978 |
| 979 |
| 980 |
| 981 |
| 982 |
| 983 |
| 984 |
| 985 |
| 986 |
| 987 |
| 988 |
| 989 |
| 990 |
| 991 |
| 992 |
| 993 |
| 994 |
| 995 |
| 996 |
| 997 |
| 998 |
| 999 |
| 1000 |
| 1001 |
| 1002 |
| 1003 |
| 1004 |
| 1005 |
| 1006 |
| 1007 |
| 1008 |
| 1009 |
| 1010 |
| 1011 |
| 1012 |
| 1013 |
| 1014 |
| 1015 |
| 1016 |
| 1017 |
| 1018 |
| 1019 |
| 1020 |
| 1021 |
| 1022 |
| 1023 |
| 1024 |
| 1025 |
| 1026 |
| 1027 |
| 1028 |
| 1029 |
| 1030 |
| 1031 |
| 1032 |
| 1033 |
| 1034 |
| 1035 |
| 1036 |
| 1037 |
| 1038 |
| 1039 |
| 1040 |
| 1041 |
| 1042 |
| 1043 |
| 1044 |
| 1045 |
| 1046 |
| 1047 |
| 1048 |
| 1049 |
| 1050 |
| 1051 |
| 1052 |
| 1053 |
| 1054 |
| 1055 |
| 1056 |
| 1057 |
| 1058 |
| 1059 |
| 1060 |
| 1061 |
| 1062 |
| 1063 |
| 1064 |
| 1065 |
| 1066 |
| 1067 |
| 1068 |
| 1069 |
| 1070 |
| 1071 |
| 1072 |
| 1073 |
| 1074 |
| 1075 |
| 1076 |
| 1077 |
| 1078 |
| 1079 |
| 1080 |
| 1081 |
| 1082 |
| 1083 |
| 1084 |
| 1085 |
| 1086 |
| 1087 |
| 1088 |
| 1089 |
| 1090 |
| 1091 |
| 1092 |
| 1093 |
| 1094 |
| 1095 |
| 1096 |
| 1097 |
| 1098 |
| 1099 |
| 1100 |
| 1101 |
| 1102 |
| 1103 |
| 1104 |
| 1105 |
| 1106 |
| 1107 |
| 1108 |
| 1109 |
| 1110 |
| 1111 |
| 1112 |
| 1113 |
| 1114 |
| 1115 |
| 1116 |
| 1117 |
| 1118 |
| 1119 |
| 1120 |
| 1121 |
| 1122 |
| 1123 |
| 1124 |
| 1125 |
| 1126 |
| 1127 |
| 1128 |
| 1129 |
| 1130 |
| 1131 |
| Description |
|---|
| Types of node input pins available. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| Description |
|---|
| Choose between global space or object space addressing for textures. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Pre-pass types (for works before integration). |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| IDs of the tabs in the preferences window. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| Description |
|---|
| Types of premultiplied alpha in a rendered image. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Shape used for texture/material preview mode. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The primitive types we know about outside of the render core. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| Description |
|---|
| The types of procedural effects supported by NT_TEX_PROCEDURAL_EFFECTS. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| Description |
|---|
| When the AABB should be displayed in the reference graph |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| State of a discrete render device. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| The different error types we may report from render threads. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| Description |
|---|
| Render job action. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Render job status. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| The render layer render modes we currently support. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Render pass groups |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| Description |
|---|
| Ids for the render passes available in Octane. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 |
| 62 |
| 63 |
| 64 |
| 65 |
| 66 |
| 67 |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| 73 |
| 74 |
| 75 |
| 76 |
| 77 |
| 78 |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 98 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 116 |
| 117 |
| 118 |
| 119 |
| 120 |
| 121 |
| 122 |
| 123 |
| 124 |
| 125 |
| 126 |
| 127 |
| 128 |
| 129 |
| 130 |
| 131 |
| 132 |
| 133 |
| 134 |
| 135 |
| 136 |
| 137 |
| 138 |
| 139 |
| 140 |
| 141 |
| 142 |
| 143 |
| 144 |
| 145 |
| 146 |
| 147 |
| 148 |
| 149 |
| 150 |
| 151 |
| 152 |
| 153 |
| 154 |
| 155 |
| 156 |
| 157 |
| 158 |
| 159 |
| 160 |
| 161 |
| 162 |
| 163 |
| 164 |
| 165 |
| 166 |
| 167 |
| 168 |
| 169 |
| 170 |
| 171 |
| 172 |
| 173 |
| 174 |
| 175 |
| 176 |
| 177 |
| 178 |
| 179 |
| 180 |
| 181 |
| 182 |
| 183 |
| 184 |
| 185 |
| 186 |
| 187 |
| 188 |
| 189 |
| 190 |
| 191 |
| 192 |
| 193 |
| 194 |
| 195 |
| 196 |
| 197 |
| 198 |
| 199 |
| 200 |
| 201 |
| 202 |
| 203 |
| 204 |
| 205 |
| 206 |
| 207 |
| 208 |
| 209 |
| 210 |
| 211 |
| 212 |
| 213 |
| 214 |
| 215 |
| 216 |
| Description |
|---|
| The state the render target can be in. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Categories of a resource allocation |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| Description |
|---|
| All film response curves currently supported. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| Description |
|---|
| Round edges modes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Rounding modes supported by NT_FLOAT_TO_INT. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The sampler types we currently provide. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Scatter modes supported for scattering on hairs in the Scatter on surface node. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Orientation priority used for orienting scattered instances on a surface when their up and front vectors are not orthogonal. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Scatter modes supported for scattering on particles in the Scatter on surface node. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Scatter modes supported for scattering on polygons in the Scatter on surface node. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| Description |
|---|
| Type of reference data used to orient instances up or front vectors when scattering on a surface. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Selection strategy used when scattering multiple source objects on a surface. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Type of transform applied to instances scattered on surfaces. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Orientation priority used for orienting scattered instances when their up and front vectors are not orthogonal. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Type of reference data used to orient instances up or front vectors when scattering. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Selection strategy used when scattering multiple source objects in a volume. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Shaping function used to sculpt the dense grid of instances for scatter in volume. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Type of transform applied to instances scattered on surfaces. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Choose what to execute in a scripted graph |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Behaviour of the mouse's scroll wheel. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Type of a graphics API surface shared with Octane for input/output. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| How to align the shutter interval to the current time stamp |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Display mode of shutter time |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Simulated lenses |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| Description |
|---|
| Settings for spotlight orientation |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Different stereo rendering modes we support for the thinlens camera. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The output for stereo rendering. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| Face-varying interpolation rules used by the openSubdiv library. see http://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#face-varying-interpolation-rules The weird mapping of SubDivInterpolateBoundary values is a consequence of the different handling between openSubdiv 2.x and 3.x see http://graphics.pixar.com/opensubdiv/docs/compatibility.html#compatibility-with-opensubdiv-2-x |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Per-vertex interpolation rules used by the openSubdiv library. see http://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#boundary-interpolation-rules openSubdiv 2.x used the same enum for face-varying interpolation options, 3.x uses a separate enum. See SubDivFVarInterpolateBoundary. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Boundary interpolation rules used by the openSubdiv library. see http://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#boundary-interpolation-rules |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The subsampling modes we currently support. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The element type of a runtime texture. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Determine if and how the node can change its texture inputs/output value types |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Determine if and how a texture pin gains a value type |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The different OSL types that are supported as texture value types for texture pins |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| Description |
|---|
| Compression type for TIFF file export. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The tile patterns supported by NT_TEX_TILE_PATTERNS. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| Display mode of time line |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The different types of time events. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The different tonemap result buffer formats we support. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The different orders by which camera response curve, gamma and custom LUT are applied. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| @deprecated Use TonemapBufferType and/or NamedColorSpace instead. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Lighting modes for toon materials |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The types of light path bounce that can occur at a geometry object for the purposes of updating the set of trace sets that are visible for future hits in the path. These values are used as bit indices for bit masks in NT_TRACE_SET_VISIBILITY_RULE nodes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| The types of geometry hit that can occur in a light path after a bounce that updated the set of visible trace sets. These values are used as bit indices for bit masks in NT_TRACE_SET_VISIBILITY_RULE nodes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| UI general operation flags |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Unary math operations for nodes NT_TEX_MATH_UNARY and NT_FLOAT_MATH_UNARY. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| Description |
|---|
| Blend inputs that the unblend output AOV layer mode can extract. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Output color ranges for the unblend and reblend output AOV layers. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The aperture shapes available for the universal camera. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The cubemap layouts available for the universal camera. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The projection types available for the universal camera fisheye. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| The fisheye types available for the universal camera. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| The modes of the universal camera. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| The upsampling modes we currently support. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Up sample's source percentage (per side). |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| Description |
|---|
| Supported up sampler types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| Description |
|---|
| The types of USD display purposes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Grid channels that can be read from a VDB |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| Description |
|---|
| Circle type for Vectron cylinder and sphere. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Edge type for SDF primitives. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Virtual texturing modes |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Standard volume emission types. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Volume voxel data interpolation modes. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Volume sampling methods. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| The different border modes supported by the 'W coordinate' texture node (NT_TEX_W). The value is set by the enum pin P_BORDER_MODE_W_COORD. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Waveforms supported by NT_TEX_WAVE_PATTERN. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Different light spectra that can be considered "white" inside the rendering engine. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Polygon winding order. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| Description |
|---|
| Types of components that can be created in a gui. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| Description |
|---|
| Types of icons displayed on dialogs |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| Description |
|---|
| Types of dialogs that can be shown in the user interface. |
| Values |
|---|
| 1 |
| 2 |
| Description |
|---|
| Types of events that can be fired from a gui component. |
| Values |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| Description |
|---|
| Properties of an Octane module. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| canDisplayInMenu | For command modules, whether the command is displayed in the menu. | boolean | false |
| description | Describes what the module is about. | string | false |
| maxInstances | The maximum number of instances that can be created for this module. | number | false |
| moduleId | The unique identifier of the module. | number | false |
| moduleType | The type of the module. | number | false |
| shortName | The short name of the module. | string | false |
| versionNumber | The version number of the module. | number | false |
| Description |
|---|
| Upload results returned by octane.rendercloudmanager.uploadCurrentProject and octane.rendercloudmanager.uploadRootNodeGraph. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| errorMsg | If success is FALSE this will contain the error message. | string | false |
| rootGuid | Scene's root version GUID on the server. | string | false |
| sceneGuid | Scene GUID on the server. | string | false |
| sceneName | Scene name on the server. | string | false |
| success | Will contain true if the upload has finished successfully. | boolean | false |
| Description |
|---|
| Data provided by the server about the current user's subscription status. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| availableCreditBalance | Number of credits currently available in the user's account in USD. This can be a negative number if the user has gone into overdraft. | number | false |
| availableRndrBalance | Number of RNDR tokens in the user's account. | number | false |
| subscribed | Whether the user has a current subscription to the cloud rendering service. | boolean | false |
| Description |
|---|
| Table wrapping a C-Array. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| elementSize | Size of an array element in bytes. | number | true |
| length | Length of the array (number of elements). | number | true |
| ptr | Raw pointer to the first element of the array. | userdata | true |
| Description |
|---|
| Table with information about a live db category |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| id | id of this category | number | false |
| name | name of this category | string | true |
| parentId | parent categories' id (-1 for root). | number | false |
| typeId | type id, describing the type of asset in this category | number | false |
| Description |
|---|
| Table with info about a live db material |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| categoryId | id of the category that contains this material | number | false |
| copyright | copyright notice of this material | string | false |
| id | id of this material | number | false |
| name | name of this material | string | false |
| nickname | nickname of the user that uploaded this material | string | false |
| Description |
|---|
| Table with information about reference package export settings |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| animationFramerate | The bounding box animation framerate. The valid range is 1..30. | number | true |
| customAnimationTimespanBegin | The custom animation start time that's used when exportCustomAnimationTimespan is set to true. | number | true |
| customAnimationTimespanEnd | The custom animation end time that's used when exportCustomAnimationTimespan is set to true. | number | true |
| enableCustomAnimationTimespan | When set to true, the bounding box animation will be exported in the custom time range specified by customAnimationTimespanBegin and customAnimationTimespanEnd.If false, the whole scene animation timeline will be exported. | boolean | true |
| exportAnimation | When set to true, the exported bounding boxes will be animated. | boolean | true |
| exportNestedReferenceGraphs | When set to true, the child reference graphs contents will be included into the exported bounding box data. Note that these bounds are not updated automatically if the referenced scene changes. | number | true |
| ignoreSmallObjectPercentage | If the size of the object bounds related to the scene size is smaller than this percentage, it will be skipped. | number | true |
| includeInstancePercentage | The percentage of the scatter node instances to be exported. E.g. 25 means 1 out of 4 instances will be exported. 0 Means all scatter instances are ignored. The valid range is 0..100. | number | true |
| mergeScatterInstances | If true, all instances inside scatter nodes will be merged into a combined bounding box. That is, instead of exporting one bounding box for each instance, it will export one bounding box for each scatter node. | boolean | true |
| Description |
|---|
| Table with information to construct a geometry exporter. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| cameraAspectRatio | Aspect ratio of the camera to write. Required if you want to write a camera with lens shift values. | number | true |
| description | Description to add to the written file. | string | true |
| exportAsStingRayMat | Only supported for FBX export. If TRUE, materials are exported in Stingray format | boolean | true |
| exportFormat | Export format to use (of type octane.geometryExportFormat). | number | true |
| exportMaterial | Only supported for FBX export. Basic materials and textures will be exported with geometry. Textures are generated using preview render | boolean | true |
| fastScatterExport | Only supported for FBX export. If TRUE, the child of a scatter node is exported only on the first transform node. So readers of the exported FBX should copy or attach it to all other transform nodes | boolean | true |
| filename | File to write. | string | true |
| items | Node items to export. More items may be added later via addItems() | userdata | true |
| renderSizeX | Only supported for FBX export. Texture render dimension in X. larger the value, slower the export | number | true |
| renderSizeY | Only supported for FBX export. Texture render dimension in Y. larger the value, slower the export | number | true |
| writeOcsData | Only supported for FBX export. Export octane OCS data of the material into FBX file. all the corresponding external files are also embedded into the FBX. This data will be read only by octane. | boolean | true |
| Description |
|---|
| Table with an absolute path to a file in a package or the file system |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| filename | Path to the file, relative for a path in a package, absolute otherwise. | string | true |
| package | Absolute path to the package, or empty. | string | true |
| Description |
|---|
| Table with the absolute paths to special directories on the user's system |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| currentApplicationFile | Absolute path to the apparent application file. On macOS this is the .app package folder, if any. In other cases it is the same as currentExecutableFile. | string | false |
| currentExecutableFile | Absolute path to the executable file. | string | false |
| tempDirectory | Absolute path to the user's temporary directory. | string | false |
| userApplicationDataDirectory | Absolute path to the user's application data directory. | string | false |
| userDesktopDirectory | Absolute path to the user's desktop directory. | string | false |
| userDocumentsDirectory | Absolute path to the user's home directory. | string | false |
| userHomeDirectory | Absolute path to the user's home directory. | string | false |
| userScriptDirectory | Absolute path to the user's script directory. | string | false |
| Description |
|---|
| Table with information about a scripted graph bit mask pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| bitLabels | A table that defines the bit labels. The expected format is an array of tables, where each table is an array defining the display name and short name for that bit. For example: bitLabels={ { "Monday", "mon" }, { "Tuesday", "tue" }, { "Wednesday", "wed" } } | number | false |
| defaultNodeType | Default node type for pins of this type (NT_BIT_MASK). | number | false |
| defaultValue | Default value for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_BIT_MASK). | number | false |
| Description |
|---|
| Table with information about a scripted graph bool pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type (NT_BOOL). | number | false |
| defaultValue | Default value for pins of this type. | boolean | false |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_BOOL). | number | false |
| Description |
|---|
| Table with information about a scripted graph enum pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type (NT_ENUM). | number | false |
| defaultValue | Default value for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| enum | A table that defines the ID+label pairs that are shown in the enum drop-down menu. You have 2 options to define those and in both cases the entries in the drop-down menu are in the same order as in the table: 1) An array of strings, where the Lua array index (starting at 1) is used as enum ID and the string as label. For example, enum={"Apples", "Pears", "Bananas"} defines an enum label list (in that order) of 1: "Apples" 2: "Pears" 3: "Bananas" 2) An array of tables, where each table is an array defining the key-value pair. For example, enum={ { 1, "Apples" }, { 3, "Bananas" }, { 2, "Pears" } } defines an enum label list (in that order) of 1: "Apples" 3: "Bananas" 2: "Pears" | number | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_ENUM). | number | false |
| Description |
|---|
| Table with information about a scripted graph float pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| bounds | Bounds for the float value, e.g. bounds = {0.0, 1.0}. If unspecified, the value of this pin is unbounded. | number | false |
| defaultNodeType | Default node type for pins of this type (NT_FLOAT). | number | false |
| defaultValue | Default value for pins of this type. This can be from 1 to 3 dimensions, i.e. defaultValue = 1 or defaultValue = {1, 2, 3}. | number | false |
| description | Description of the pin. | string | false |
| displayPercentages | If set to true, display a percentage (1.0 will be displayed as 100%). | boolean | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| logarithmic | If set to true, the UI will show a logarithmic slider for this input. Only supported when slider minimum is positive. | boolean | false |
| sliderBounds | Slider bounds for the float value, e.g. sliderBounds = {0.0, 1.0}. If unspecified, the slider bounds have the same values as bounds. | number | false |
| step | The minimum step size for the slider. | number | false |
| type | Type of the pin (PT_FLOAT). | number | false |
| useAspectRatio | If set to true, the UI will show a button to lock the aspect ratio. | boolean | false |
| Description |
|---|
| Table with information about a scripted graph int pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| bounds | Bounds for the int value, e.g. bounds = {0, 100}. If unspecified, the value of this pin is unbounded. | number | false |
| defaultNodeType | Default node type for pins of this type (NT_INT). | number | false |
| defaultValue | Default value for pins of this type. This can be from 1 to 3 dimensions, i.e. defaultValue = 1 or defaultValue = {1, 2, 3}. | number | false |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| logarithmic | If set to true, the UI will show a logarithmic slider for this input. Only supported when slider minimum is positive. | boolean | false |
| sliderBounds | Slider bounds for the int value, e.g. sliderBounds = {0, 100}. If unspecified, the slider bounds have the same values as bounds. | number | false |
| step | The minimum step size for the slider. | number | false |
| type | Type of the pin (PT_INT). | number | false |
| useSliders | If set to false the UI will not display a slider, even if value bounds are given. | boolean | false |
| Description |
|---|
| Table with information about a scripted graph OCIO color space pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultColorSpace | Default value for pins of this type, of: The default non-OCIO color space, or NAMED_COLOR_SPACE_OTHER to use "default for file type". | number | false |
| defaultNodeType | Default node type for pins of this type (NT_OCIO_COLOR_SPACE). | number | false |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_OCIO_COLOR_SPACE). | number | false |
| Description |
|---|
| Table with information about a scripted graph OCIO look pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type (NT_OCIO_LOOK). | number | false |
| description | Description of the pin. | string | false |
| forView | Default value for pins of this type, of: Whether the look will be applied to an OCIO view or an OCIO color space. If this is true an extra "use view look(s)" option will be shown (and be the default). | boolean | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_OCIO_LOOK). | number | false |
| Description |
|---|
| Table with information about a scripted graph OCIO view pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type (NT_OCIO_VIEW). | number | false |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_OCIO_VIEW). | number | false |
| Description |
|---|
| Table with information about a scripted graph projection pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_PROJECTION). | number | false |
| useImageProjection | Determines if projection coordinates are generated in the same way as for 2D image textures. | boolean | false |
| Description |
|---|
| Table with information about a scripted graph string pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type (NT_STRING). | number | false |
| defaultValue | Default value for pins of this type. | string | false |
| description | Description of the pin. | string | false |
| filePattern | If this field is set, the node pin will accept file names instead of plain text and the pin value will be PROPS_PACKAGE_PATH instead of a plain string. The value consists of one or more patterns, separated by semicolons (;). | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| multiline | If false, then the value cannot contain line breaks (ignored if filePattern is set). | boolean | false |
| newFile | If true the interface should allow browsing for a file which doesn't exist yet. | boolean | false |
| type | Type of the pin (PT_STRING). | number | false |
| Description |
|---|
| Table with information about a scripted graph texture pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type is NT_FLOAT if defaultValue is a float, NT_TEX_RGB if defaultValue is float3, i.e. defaultValue={1.0, 0.5, 0.0}. | number | false |
| defaultValue | Default value for pins of this type. This can also be a float3, i.e. defaultValue={1.0, 0.5, 0.0}. | number | false |
| description | Description of the pin. | string | false |
| group | Group of the pin. | string | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_TEXTURE). | number | false |
| Description |
|---|
| Table with information about a scripted graph transform pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultNodeType | Default node type for pins of this type (NT_TRANSFORM_VALUE). | number | false |
| description | Description of the pin. | string | false |
| dimCount | The number of dimensions for the transform, must be 2 or 3. | number | false |
| group | Group of the pin. | string | false |
| isUvwTransform | When true, this transform will be multiplied by its parent UVW transforms. | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| type | Type of the pin (PT_TRANSFORM). | number | false |
| Description |
|---|
| Table with information about an attribute. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultFloats | Contains the default value, if this is a float attribute. | number | false |
| defaultInts | Contains the default value, if this is an integer/bool attribute. | number | false |
| defaultString | Contain the default value, if this is a string/filename attribute. | string | false |
| description | Description of the attribute. | string | false |
| endVersion | The Octane version that dropped this attribute. | number | false |
| id | The identifier of the attribute. | number | false |
| isArray | TRUE if the attribute stores an array. | boolean | false |
| minVersion | The minimum Octane version that supports this attribute. | number | false |
| type | The type of data stored in the attribute. | number | false |
| Description |
|---|
| Table with (static) information about a graph. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| attributeInfoCount | Number of attributes defined for this node type, including deprecated ones. | number | false |
| category | The category name used to sort/group this graph. | string | false |
| defaultName | Default name of the graph. | string | false |
| description | Description for this node item. May be empty. | string | false |
| isInspectable | TRUE if graphs of this type can't be inspected or opened. | boolean | false |
| outputType | Output type of the graph. | number | false |
| type | Type of the graph. | number | false |
| Description |
|---|
| Table with (dynamic) information about a graph. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| attributeCount | Number of attributes on this item. | number | false |
| attributeIds | Array with the ids of the attributes on this item. | string | false |
| attributeNames | Array with the names of the attributes on this item. | string | false |
| graphOwned | TRUE if this item is owned by a graph. | boolean | false |
| graphOwner | The graph that owns this item (can be nil) | userdata | true |
| id | Persistent ID of the item, unique within the same root node graph. | number | false |
| isGraph | TRUE if this item is a graph. | boolean | false |
| isInputLinker | TRUE if this item is an input linker. | boolean | false |
| isLinker | TRUE if this item is a linker node. | boolean | false |
| isNode | TRUE if this item is a node. | boolean | false |
| isOutputLinker | TRUE if this item is an output linker node. | boolean | false |
| name | Name of the item (node or graph). When left empty, the default name for the node type is used. | string | true |
| outputType | Output type of the item. | number | false |
| pinCount | Number of pins on this item (Only on nodes). | number | false |
| pinIds | Array with the ids of the pins on this item (Only on nodes). | string | false |
| pinNames | Array with the names of the pins on this item (Only on nodes). | string | false |
| pinOwned | TRUE if this item is owned by a pin. | boolean | false |
| pinOwnerId | The id of the pin that owns this item (pin id is on the pin owner and is invalid when the owner is nil.) | number | true |
| pinOwnerIx | The index of the pin that owns this item (pin index is on the pin owner and is invalid when the owner is nil.) | number | true |
| pinOwnerName | The name of the pin that owns this item (pin name is on the pin owner and is invalid when the owner is nil.) | string | true |
| pinOwnerNode | The node that has the pin that owns this item (can be nil). | userdata | true |
| position | Position of the item in the node graph editor. | number | true |
| rootGraph | The root graph which contains this node item. | userdata | true |
| staticPinCount | Number of static pins on this item (Only on nodes). | number | false |
| time | Time stamp of this item. To change the time call updateTime on the root graph of this item. | number | false |
| type | Type of the item (node type or graph type). | number | true |
| Description |
|---|
| Table with information about linear time transform. type equals to octane.animationTimeTransformType.LINEAR |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| customIntervalBegin | Start of the interval of the animation that should be played. It is untransformed local time of the animation in seconds. | number | false |
| customIntervalEnabled | When true (custom interval is enabled) the animation outside the interval will be cut out. | boolean | false |
| customIntervalEnd | End of the interval of the animation that should be played. It is untransformed local time of the animation in seconds. | number | false |
| delay | The delay of the animation start time in seconds | number | false |
| speedUp | The scale of the animation playback speed (default is 1). | number | false |
| type | Type of the animation time transform (octane.animationTimeTransformType) | number | false |
| Description |
|---|
| Properties for an observer. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| itemChangeCallback | Callback to receive item change events. This callback should take one argument of type PROPS_ITEM_CHANGE_EVENT. | function | true |
| timeChangeCallback | Callback to receive time change events. This callback should take one argument of type PROPS_TIME_CHANGE_EVENT. | function | true |
| Description |
|---|
| Properties for an item change event. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| changedIndices | Array that contains the indices of the changed attributes/pins if the event is either ITEM_VALUE_CHANGED or ITEM_INPUT_CHANGED, otherwise nil. The array is only valid during the call of onNodeItemChage(). | number | true |
| changedItem | The item that got changed. | userdata | true |
| changedOwner | The owner of added/removed items (used for ITEM_ADDED, ITEM_DELETE). This can be a node graph or a pin. In case it's a pin, changedOwner points to the parent node of the pin and the pin is identified via changedOwnerPinIx. | userdata | true |
| changedOwnerPinIx | The index of the pin, if changedOwner is a node. | number | true |
| changedPinIx | The index of the pin of which a connection got changed (used for CONNECTION_CHANGED). In this case changedItem will be the parent node of the pin. | number | true |
| type | The type of event (octane.changeEventType). | number | true |
| Description |
|---|
| Properties for a time change event. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| rootGraph | The root node graph affected, which is only set if the event type is GRAPH_TIME_CHANGED or GRAPH_INTERVAL_CHANGED. | userdata | true |
| type | The type of event (octane.timeEventType). | number | true |
| Description |
|---|
| Table with information about an attribute. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultFloats | Contains the default value, if this is a float attribute. | number | false |
| defaultInts | Contains the default value, if this is an integer/bool attribute. | number | false |
| defaultString | Contain the default value, if this is a string/filename attribute. | string | false |
| description | Description of the attribute. | string | false |
| endVersion | The Octane version that dropped this attribute. | number | false |
| id | The identifier of the attribute. | number | false |
| isArray | TRUE if the attribute stores an array. | boolean | false |
| minVersion | The minimum Octane version that supports this attribute. | number | false |
| type | The type of data stored in the attribute. | number | false |
| Description |
|---|
| Table with info about a bit mask pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| bitCount | Bit count. | number | false |
| bitNames | Display names of each bit. | string | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default bit mask value. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| shortBitNames | Short display names of each bit. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a bool type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about an enum type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default enum value of the pin. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| entriesCount | The number of enum entries in the pin. | number | false |
| entryLabels | The labels of each enum entry. | string | false |
| entryValues | The enum values of each entry. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a float type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowLog | TRUE if the user interface should allow a logarithmic slider interface. | boolean | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultIsLog | TRUE if the user interface should use a logarithmic slider interface (if possible). | boolean | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| dimensionCount | The number of dimensions the float pin requires. | number | false |
| dimensionNames | The names given to the dimensions. | string | false |
| displayPercentages | TRUE if the user interface should display the values in percentages. | boolean | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isColor | TRUE if the user interface should display a colour swatch. | boolean | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxValues | The maximum value the pin accepts for each dimension. | number | false |
| minValues | The minimum value the pin accepts for each dimension. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| sliderMaxValues | The maximum slider value of the pin for the slider user interface for each dimension. | number | false |
| sliderMinValues | The minimum slider value of the pin for the user interface for each dimension. | number | false |
| sliderSteps | The minimum step size for the slider user interface for each dimension. | number | false |
| type | Type of the pin. | number | false |
| useAspectRatio | TRUE if the user interface should allow changes to all three componentswhich keep the aspect ratio. | boolean | false |
| useSliders | TRUE if the user interface should use sliders for this pin. | boolean | false |
| Description |
|---|
| Table with info about an int type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowLog | TRUE if the user interface should allow a logarithmic slider interface. | boolean | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultIsLog | TRUE if the user interface should use a logarithmic slider interface (if possible). | boolean | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| dimensionCount | The dimension of the int pin. | number | false |
| dimensionNames | Names of the dimensions. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isColor | TRUE if the user interface should display a colour swatch. | boolean | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxValues | The maximum value the pin accepts for each dimension. | number | false |
| minValues | The minimum value the pin accepts for each dimension. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| sliderMaxValues | The maximum slider value of the pin for the slider user interface for each dimension. | number | false |
| sliderMinValues | The minimum slider value of the pin for the slider user interface for each dimension. | number | false |
| sliderSteps | The minimum step size for the slider user interface for each dimension. | number | false |
| type | Type of the pin. | number | false |
| useSliders | TRUE if the user interface should use sliders for this pin. | boolean | false |
| Description |
|---|
| Table with (static) information about a node. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| attributeInfoCount | Number of attributes defined for this node type, including deprecated ones. | number | false |
| category | The category name used to group/sort this node. | string | false |
| compatibilityModeCount | Number of compatibility modes defined for this node type. | number | false |
| compatibilityModeDescriptions | Description of each compatibility mode. This is a brief description of how the old behavior differs from the current version of Octane, or empty if the mode represents the current version of Octane. | string | false |
| compatibilityModeNames | Name of each compatibility mode. | string | false |
| compatibilityModeStartVersions | Start version of each compatibility mode. This is the first version of Octane that has this behavior, i.e. the version where this compatibility mode was added. | number | false |
| defaultName | The default name for nodes of this type. | string | false |
| description | Description for this node item. May be empty. | string | false |
| isLinker | TRUE if the node is a linker node. | boolean | false |
| isOutputLinker | TRUE if the node is an output linker node. | boolean | false |
| isTypedTextureNode | Whether the node's texture output/input(s) have a value type | boolean | false |
| minVersion | Version when this node type was introduced. This will be zero for all nodes introduced before 11.0.0.10. | number | false |
| movableInputCountAttribute | ID of the attribute defining the number of (movable) inputs. A value that isn't A_UNKNOWN indicates that this node has movable inputs and movableInputPinCount will be >= 1. If set to A_UNKNOWN, the node doesn't have any movable inputs and movableInputPinCount will be 0. | number | false |
| movableInputFormat | The pin structure of each movable input, or movableInputFormat.NONE if this node node doesn't have movable inputs. Movable inputs can be moved from one node to another if and only if both nodes have the same movable input format. | number | false |
| movableInputName | What each movable input is, e.g. "layer". This is used to build things like tooltips, e.g. "Delete layer.". Empty if the node doesn't have movable inputs. | string | false |
| movableInputPinCount | The number of dynamic pins per movable input or 0 if the node doesn't have movable inputs. | number | false |
| outputType | Output type of the node. | number | false |
| pinInfoCount | Number of static pins defined for this node type, including deprecated ones. | number | false |
| takesPinDefaultValues | If TRUE the default value can be set in the value attribute. | boolean | false |
| textureNodeTypeInfo | PROPS_TEXTURE_NODE_TYPE_INFO Metadata related to texture nodes with typed texture inputs and/or output | table | false |
| type | Type of the node. | number | false |
| Description |
|---|
| Table with (dynamic) information about a node. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| attributeCount | Number of attributes on this item. | number | false |
| attributeIds | Array with the ids of the attributes on this item. | string | false |
| attributeNames | Array with the names of the attributes on this item. | string | false |
| graphOwned | TRUE if this item is owned by a graph. | boolean | false |
| graphOwner | The graph that owns this item (can be nil) | userdata | true |
| id | Persistent ID of the item, unique within the same root node graph. | number | false |
| isGraph | TRUE if this item is a graph. | boolean | false |
| isInputLinker | TRUE if this item is an input linker. | boolean | false |
| isLinker | TRUE if this item is a linker node. | boolean | false |
| isNode | TRUE if this item is a node. | boolean | false |
| isOutputLinker | TRUE if this item is an output linker node. | boolean | false |
| name | Name of the item (node or graph). When left empty, the default name for the node type is used. | string | true |
| outputType | Output type of the item. | number | false |
| pinCount | Number of pins on this item (Only on nodes). | number | false |
| pinIds | Array with the ids of the pins on this item (Only on nodes). | string | false |
| pinNames | Array with the names of the pins on this item (Only on nodes). | string | false |
| pinOwned | TRUE if this item is owned by a pin. | boolean | false |
| pinOwnerId | The id of the pin that owns this item (pin id is on the pin owner and is invalid when the owner is nil.) | number | true |
| pinOwnerIx | The index of the pin that owns this item (pin index is on the pin owner and is invalid when the owner is nil.) | number | true |
| pinOwnerName | The name of the pin that owns this item (pin name is on the pin owner and is invalid when the owner is nil.) | string | true |
| pinOwnerNode | The node that has the pin that owns this item (can be nil). | userdata | true |
| position | Position of the item in the node graph editor. | number | true |
| rootGraph | The root graph which contains this node item. | userdata | true |
| staticPinCount | Number of static pins on this item (Only on nodes). | number | false |
| time | Time stamp of this item. To change the time call updateTime on the root graph of this item. | number | false |
| type | Type of the item (node type or graph type). | number | true |
| Description |
|---|
| Table with info about an OCIO color space type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultColorSpace | The default non-OCIO color space (octane.namedColorSpace), or octane.namedColorSpace.OTHER to use "default for file type". The default value is octane.namedColorSpace.OTHER. | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about an OCIO look type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| forView | Whether the look will be applied to an OCIO view or an OCIO color space. If this is true an extra "use view look(s)" option will be shown (and be the default). | boolean | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about an OCIO view type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Identifies a pin on a node. Only one of id, name and index should be set. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| id | The ID of the pin | number | true |
| index | The index of the pin | number | true |
| name | The name of the pin | string | true |
| node | The parent node of the pin | userdata | true |
| Description |
|---|
| Table with information about a nodepin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a projection type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| useImageProjection | Determines if projection coordinates are generated in the same way as for 2D image textures. | boolean | false |
| Description |
|---|
| Table with info about a string type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowCustomValue | if a list of values is given, determines if users may enter a value which is not in the list. | boolean | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default text of the pin. | string | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| filePatterns | If isFile is true then this gives the file name patterns, separated by a semicolon. | string | false |
| forSaving | if true the interface should allow browsing for a file which doesn't exist yet. | boolean | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isFile | If true the interface should allow browsing for a file. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| multiline | True, if we should allow entry of multiple lines of text. | boolean | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| values | List of values to choose from. | string | false |
| valuesCount | The amount of values. | number | false |
| Description |
|---|
| Table with info about a texture type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxValue | The maximum value the pin accepts. | number | false |
| minValue | The minimum the pin accepts. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| sliderMaxValue | The maximum slider value of the pin for the slider user interface. | number | false |
| sliderMinValue | The minimum slider value of the pin for the slider user interface. | number | false |
| type | Type of the pin. | number | false |
| useSpectrum | TRUE if the pin is used to fetch a spectrum. FALSE if we only need a float texture. Only makes sense for texture pins of material/emitter/medium nodes | boolean | false |
| valueType | The pin's texture value type when its type mode is static or explicit, octane.textureValueType | number | false |
| valueTypeMode | Specifies how a texture pin gains a value type, octane.texturePinValueTypeMode | number | false |
| valueTypeWhenToggled | The pin's texture value type when its node toggles secondary input types, octane.textureValueType | number | false |
| Description |
|---|
| Table with info about a transform type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultRotationValue | The default rotation value of the pin. | number | false |
| defaultScaleValue | The default scale value of the pin. | number | false |
| defaultTranslationValue | The default translation value of the pin. | number | false |
| defaultXAxis | The default x axis of the pin. | number | false |
| defaultYAxis | The default y axis of the pin. | number | false |
| defaultZAxis | The default z axis of the pin. | number | false |
| description | Description of the pin. | string | false |
| dimensionCount | The dimension of the transformation. | number | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| isUvwTransform | When true, this transform will be multiplied by its parent UVW transforms. | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxRotationValue | The maximum rotation value the pin accepts. | number | false |
| maxScaleValue | The maximum scale value the pin accepts. | number | false |
| maxTranslationValue | The maximum translation value the pin accepts. | number | false |
| minRotationValue | The minimum rotation value the pin accepts. | number | false |
| minScaleValue | The minimum scale value the pin accepts. | number | false |
| minTranslationValue | The minimum translation value the pin accepts. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Information of an image. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| isCompressed | True if the image is stored in a compressed format. | boolean | false |
| isHdr | True if the image is HDR (i.e. if the channels use a floating point format). | boolean | false |
| layerCount | The layer count of the image. | number | false |
| size | Horizontal and vertical size of the image in pixels. | number | false |
| Description |
|---|
| Information of an image layer. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| hasTransparency | True if the image layer has transparency. | boolean | false |
| name | Name of the image layer. | string | false |
| prefCompressType | Preferred compression type of the image layer, octane.image.type. | number | false |
| prefCompressTypeHQ | Preferred high quality compression type of the image layer, octane.image.type. | number | false |
| type | Type of the image layer, octane.image.type. | number | false |
| Description |
|---|
| Options for saving EXR files. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| compressionLevel | Compression level for DWA compression. Usable range is 0 (highest quality) to about 2000 (high compression). | number | true |
| compressionType | Compression type for Exr format [octane.exrCompressionType]. | number | true |
| Description |
|---|
| Properties of an image. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| byteSize | Size of the image in bytes. | number | false |
| bytesPerChannel | Bytes per channel (i.e. bytes per pixel / #channels). | number | false |
| bytesPerPixel | Bytes per pixel (can be a fraction of a bytes in the case of compressed images). | number | false |
| channelCount | Number of channels. | number | false |
| hasColour | True if the image has color. | boolean | false |
| hasTransparency | True if the image has transparency. | boolean | false |
| isCompressed | True if the image is stored in a compressed format. | boolean | false |
| isHdr | True if the image is HDR (i.e. if the channels use a floating point format). | boolean | false |
| size | Horizontal and vertical size of the image in pixels. | number | true |
| sourceInfo | Image source information string. | string | false |
| type | Type of the image, octane.image.type. | number | true |
| Description |
|---|
| Options for saving JPEG files. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| quality | Quality for JPEG format. Usable range is 1 (highest compression) to 100 (highest quality) | number | true |
| Description |
|---|
| Options for saving TIFF files. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| compressionType | Compression type for TIFF format [octane.tiffCompressionType]. | number | true |
| Description |
|---|
| Properties for a button dialog. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| buttonTexts | Table with the text for each button. | string | true |
| icon | Icon to appear on the dialog | number | true |
| result | 1, 2 or 3 indicating which button the user pressed. | number | true |
| text | Text to appear on the dialog. | string | true |
| title | Title of the dialog window. | string | true |
| Description |
|---|
| Generic properties applicable to every dialog. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| title | Title of the dialog window. | string | true |
| Description |
|---|
| Properties for a file dialog. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| browseDirectory | True when a file-dialog should only select directories. | boolean | true |
| multiFile | True when a file-dialog should be able to select multiple files. | boolean | true |
| multiResult | Contains a table of file names if multiple file selecting is enabled. | string | true |
| path | Initial path where the file dialogs opens. | string | true |
| result | Absolute path of the selected file or directory, empty string when the user cancelled the dialog. | string | true |
| save | True to show a file save dialog, false for an open dialog or directory browse dialog. | boolean | true |
| title | Title of the dialog window. | string | true |
| wildcards | List of file wildcards, only files that match these wildcards will be visible (e.g. *.lua; *.cpp). Multiple patterns can be separated with semicolons. | string | true |
| Description |
|---|
| Properties for a bitmap. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| backgroundColour | Background color for this bitmap, a table in the form { r, g, b, a }. Updating the color clears the bitmap with the same color. | number | true |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| image | Image displayed in the bitmap. When using an image, the bitmap is scaled to the dimensions of the image. | userdata | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| opacity | Opacity of this bitmap. A value in [0, 1], 0 means transparent and 1 means fully opaque. | number | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a button. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| text | Text to appear on the button. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a check box. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| checked | Flag indicating if the box is checked. | boolean | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| text | Text to appear on the left of the check-box. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a color swatch. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| colour | Color selected in the swatch { r, g, b, a }. | number | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a combo box. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| items | Array with strings to show in the combo-box | string | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| selectedIx | The index of the currently selected item in the combo-box. The index is valid in [1,n]. If the index is out-of range, no item in the combo-box is selected. | number | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Generic properties that are valid for each component. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a group. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| border | Flag indicating if we should show a border. | boolean | true |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| centre | If true it will center each component in the cell | boolean | true |
| children | List of the child components. | userdata | true |
| cols | Number of columns in the group grid. | number | true |
| debug | If true, debug outlines are drawn. | boolean | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| inset | Padding around the edge of this group, given as {right, bottom, left, top}, {horizontal, vertical} or {all}. | number | true |
| maxRows | Maximally allowed number of rows used for GUI display. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| padding | Padding in each cell, given as {horizontal, vertical} or {all}. | number | true |
| rows | Number of rows in the group grid. | number | true |
| text | Text to add on the top of the group outline. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a label. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowSquash | Text can be squashed horizontally before the label starts using ellipsis | boolean | true |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| text | Text to appear on the label. | string | true |
| textColour | Color of the text on the label, in the format { R, G, B, A }. | number | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for an OCIO color space combo box. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| colorSpace | The selected non-OCIO color space, or octane.namedColorSpace.OCIO if an OCIO color space is selected, or octane.namedColorSpace.OTHER to use the default for the selected file type (sRGB for PNG and linear sRGB for EXR). The default value is octane.namedColorSpace.OTHER. | number | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| ocioColorSpaceName | The name of the selected OCIO color space, if an OCIO color space is selected. Unused otherwise. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for an OCIO look combo box. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| forView | Whether the look will be applied to an OCIO view rather than an OCIO color space. If this is true an extra "use view look(s)" option will be shown. | boolean | true |
| height | Height of the component in pixels. | number | true |
| lookName | If using the selected OCIO view's default look(s), this value is ignored. Otherwise, the name of the OCIO look to apply with the selected OCIO view, or empty to apply no look. | string | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| useViewLook | Whether to use the selected OCIO view's default look(s) instead of the specified look. | boolean | true |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for an OCIO view combo box. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| displayName | The name of the OCIO display containing the selected OCIO view, or empty to not use an OCIO view. | string | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| viewName | The name of the selected OCIO view, or empty to not use an OCIO view. | string | true |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a panel stack. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| captions | Caption appearing for each child in the panel stack. This list must have the same size as children. | string | true |
| children | List of the child components. | userdata | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| open | true if the child is opened, false otherwise. This list must have the same size as children. | boolean | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a progress bar. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| progress | Value between 0 and 1 indicating the progress. A negative value puts the progress bar in indefinite mode. | number | true |
| text | Text to appear on the progress bar. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a slider. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| logarithmic | true for a logarithmic slider, false for a linear slider. | boolean | true |
| maxValue | Maximum value of the slider. | number | true |
| minValue | Minimum value of the slider. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| step | step interval between 2 discrete slider values | number | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| value | Value of the slider in range [minValue, maxValue] | number | true |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a table. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| header | List of strings that make up the header of the table. The table will have exactly the number of columns as there are items in the header list | string | true |
| height | Height of the component in pixels. | number | true |
| items | Items to fill the table cell. The table is filled left-to-right, top-to-bottom. If there aren't enough items in the list to fill a row then the rest of the cells are left empty. | string | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| multiSelect | Allow selecting multiple rows. | boolean | true |
| name | Name of the component. | string | true |
| selectedRow | One of the rows currently selected in the table, -1 if no row is selected. | number | true |
| selectedRows | The rows currently selected in the table, as a sequence. Set only when multiple selection is enabled | number | true |
| showHeader | true to show the table header, false to hide the table header. | boolean | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| widths | List with a width for each column. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a tabbed component. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| children | List of the child components. | userdata | true |
| currentTab | Index of the current opened tab. | number | true |
| enable | true if the component is enabled. | boolean | true |
| header | Text to appear on each tab. | string | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a window. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowScroll | Allow scrolling. Can be set to "-" (no scrolling), "h" (horizontal only), "v" (vertical) and "hv" (both). The default value ("") is equivalent to "v" when using a grid layout, and "-" otherwise. | string | true |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| children | List of the child components. | userdata | true |
| enable | true if the component is enabled. | boolean | true |
| gridLayout | Grid layout embedded in this window. The grid will be resized to the same size as this window. | userdata | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| resizable | true to make this window resizable. Only makes sense when a grid layout is used on the window. | boolean | true |
| text | Text to appear on the top of the window | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a numeric box. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| displaySlider | true if a slider is displayed in the box. | boolean | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| logarithmic | true for a logarithmic slider, false for a linear slider. | boolean | true |
| maxValue | Maximum value of the numeric box. | number | true |
| minValue | Minimum value of the numeric box. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| name | Name of the component. | string | true |
| step | step interval between 2 discrete values | number | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| useSlider | true if this numeric box works as a slider (so the user can drag to change values). | boolean | true |
| value | Value of the box in range [minValue, maxValue] | number | true |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Properties for a text editor. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| callback | Gui event callback. The signature is: callback(component, event) with component the component on which the event happened and event of type octane.gui.eventType. | function | true |
| enable | true if the component is enabled. | boolean | true |
| height | Height of the component in pixels. | number | true |
| mouseCallback | Mouse event callback. The signature is: callback(component, event, position {x, y}, wheelscroll {x, y}). Event is of type octane.gui.eventType. | function | true |
| multiline | true if the text editor is multiline. | boolean | true |
| name | Name of the component. | string | true |
| text | Content of the text editor. | string | true |
| tooltip | Tooltip that appears when the mouse hovers over the component. Not all components can display tooltips. | string | true |
| type | Type of the component. | number | false |
| width | Width of the component in pixels. | number | true |
| x | X-offset relative to the parent component in pixels. | number | true |
| y | Y-offset relative to the parent component in pixels. | number | true |
| Description |
|---|
| Table with info about an attribute. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| defaultFloats | Contains the default value, if this is a float attribute. | number | false |
| defaultInts | Contains the default value, if this is an integer/bool attribute. | number | false |
| defaultString | Contain the default value, if this is a string/filename attribute. | string | false |
| description | Description of the attribute. | string | false |
| endVersion | The Octane version that dropped this attribute. | number | false |
| id | The identifier of the attribute. | number | false |
| isArray | TRUE if the attribute stores an array. | boolean | false |
| minVersion | The minimum Octane version that supports this attribute. | number | false |
| type | The type of data stored in the attribute. | number | false |
| Description |
|---|
| Table with info about a bit mask pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| bitCount | Bit count. | number | false |
| bitNames | Display names of each bit. | string | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default bit mask value. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| shortBitNames | Short display names of each bit. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a bool type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about an enum type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default enum value of the pin. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| entriesCount | The number of enum entries in the pin. | number | false |
| entryLabels | The labels of each enum entry. | string | false |
| entryValues | The enum values of each entry. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a float type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowLog | TRUE if the user interface should allow a logarithmic slider interface. | boolean | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultIsLog | TRUE if the user interface should use a logarithmic slider interface (if possible). | boolean | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| dimensionCount | The number of dimensions the float pin requires. | number | false |
| dimensionNames | The names given to the dimensions. | string | false |
| displayPercentages | TRUE if the user interface should display the values in percentages. | boolean | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isColor | TRUE if the user interface should display a colour swatch. | boolean | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxValues | The maximum value the pin accepts for each dimension. | number | false |
| minValues | The minimum value the pin accepts for each dimension. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| sliderMaxValues | The maximum slider value of the pin for the slider user interface for each dimension. | number | false |
| sliderMinValues | The minimum slider value of the pin for the user interface for each dimension. | number | false |
| sliderSteps | The minimum step size for the slider user interface for each dimension. | number | false |
| type | Type of the pin. | number | false |
| useAspectRatio | TRUE if the user interface should allow changes to all three componentswhich keep the aspect ratio. | boolean | false |
| useSliders | TRUE if the user interface should use sliders for this pin. | boolean | false |
| Description |
|---|
| Table with info about a graph type. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| attributeInfoCount | Number of attributes defined for this node type, including deprecated ones. | number | false |
| category | The category name used to sort/group this graph. | string | false |
| defaultName | Default name of the graph. | string | false |
| description | Description for this node item. May be empty. | string | false |
| isInspectable | TRUE if graphs of this type can't be inspected or opened. | boolean | false |
| outputType | Output type of the graph. | number | false |
| type | Type of the graph. | number | false |
| Description |
|---|
| Table with info about an int type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowLog | TRUE if the user interface should allow a logarithmic slider interface. | boolean | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultIsLog | TRUE if the user interface should use a logarithmic slider interface (if possible). | boolean | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| dimensionCount | The dimension of the int pin. | number | false |
| dimensionNames | Names of the dimensions. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isColor | TRUE if the user interface should display a colour swatch. | boolean | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxValues | The maximum value the pin accepts for each dimension. | number | false |
| minValues | The minimum value the pin accepts for each dimension. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| sliderMaxValues | The maximum slider value of the pin for the slider user interface for each dimension. | number | false |
| sliderMinValues | The minimum slider value of the pin for the slider user interface for each dimension. | number | false |
| sliderSteps | The minimum step size for the slider user interface for each dimension. | number | false |
| type | Type of the pin. | number | false |
| useSliders | TRUE if the user interface should use sliders for this pin. | boolean | false |
| Description |
|---|
| A specific configuration of value types of a texture node's output and texture inputs |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| interface | PROPS_NODE_CONFIGURATION_INTERFACE The resolved value types of the output and texture inputs | table | false |
| nodeType | The type of node this configuration is for (i.e: octane.NT_TEX_MATH_BINARY) | number | false |
| parameters | PROPS_NODE_CONFIGURATION_PARAMETERS The parameters controlling what the value types of output and texture inputs resolve to | table | false |
| Description |
|---|
| The resolved texture value types of the node's output and texture inputs in the configuration |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| inputPinIds | The pin ids of the texture input pins (i.e: octane.P_INPUT) | number | true |
| inputValueTypes | The resolved value type of the texture input pins (i.e: octane.textureValueType.VECTOR4) | number | true |
| outputValueType | The resolved value type of the texture output (i.e: octane.textureValueType.VECTOR4) | number | true |
| Description |
|---|
| Parameters that control what the texture types of output and inputs are resolved to in the configuration |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| inputValueType | octane.textureValueType The chosen input value type for the main input (octane.textureValueType.UNKNOWN can not be set) | number | true |
| isInputValueTypeToggled | Whether the value type of secondary inputs is toggled | boolean | true |
| outputValueType | octane.textureValueType The chosen output value type (octane.textureValueType.UNKNOWN if can not be set) | number | true |
| Description |
|---|
| Table with info about a node type. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| attributeInfoCount | Number of attributes defined for this node type, including deprecated ones. | number | false |
| category | The category name used to group/sort this node. | string | false |
| compatibilityModeCount | Number of compatibility modes defined for this node type. | number | false |
| compatibilityModeDescriptions | Description of each compatibility mode. This is a brief description of how the old behavior differs from the current version of Octane, or empty if the mode represents the current version of Octane. | string | false |
| compatibilityModeNames | Name of each compatibility mode. | string | false |
| compatibilityModeStartVersions | Start version of each compatibility mode. This is the first version of Octane that has this behavior, i.e. the version where this compatibility mode was added. | number | false |
| defaultName | The default name for nodes of this type. | string | false |
| description | Description for this node item. May be empty. | string | false |
| isLinker | TRUE if the node is a linker node. | boolean | false |
| isOutputLinker | TRUE if the node is an output linker node. | boolean | false |
| isTypedTextureNode | Whether the node's texture output/input(s) have a value type | boolean | false |
| minVersion | Version when this node type was introduced. This will be zero for all nodes introduced before 11.0.0.10. | number | false |
| movableInputCountAttribute | ID of the attribute defining the number of (movable) inputs. A value that isn't A_UNKNOWN indicates that this node has movable inputs and movableInputPinCount will be >= 1. If set to A_UNKNOWN, the node doesn't have any movable inputs and movableInputPinCount will be 0. | number | false |
| movableInputFormat | The pin structure of each movable input, or movableInputFormat.NONE if this node node doesn't have movable inputs. Movable inputs can be moved from one node to another if and only if both nodes have the same movable input format. | number | false |
| movableInputName | What each movable input is, e.g. "layer". This is used to build things like tooltips, e.g. "Delete layer.". Empty if the node doesn't have movable inputs. | string | false |
| movableInputPinCount | The number of dynamic pins per movable input or 0 if the node doesn't have movable inputs. | number | false |
| outputType | Output type of the node. | number | false |
| pinInfoCount | Number of static pins defined for this node type, including deprecated ones. | number | false |
| takesPinDefaultValues | If TRUE the default value can be set in the value attribute. | boolean | false |
| textureNodeTypeInfo | PROPS_TEXTURE_NODE_TYPE_INFO Metadata related to texture nodes with typed texture inputs and/or output | table | false |
| type | Type of the node. | number | false |
| Description |
|---|
| Table with info about an OCIO color space type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultColorSpace | The default non-OCIO color space (octane.namedColorSpace), or octane.namedColorSpace.OTHER to use "default for file type". The default value is octane.namedColorSpace.OTHER. | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about an OCIO look type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| forView | Whether the look will be applied to an OCIO view or an OCIO color space. If this is true an extra "use view look(s)" option will be shown (and be the default). | boolean | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about an OCIO view type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with info about a projection type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| useImageProjection | Determines if projection coordinates are generated in the same way as for 2D image textures. | boolean | false |
| Description |
|---|
| Table with info about a string type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| allowCustomValue | if a list of values is given, determines if users may enter a value which is not in the list. | boolean | false |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default text of the pin. | string | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| filePatterns | If isFile is true then this gives the file name patterns, separated by a semicolon. | string | false |
| forSaving | if true the interface should allow browsing for a file which doesn't exist yet. | boolean | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isFile | If true the interface should allow browsing for a file. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| minVersion | Octane version that introduces this pin. | number | false |
| multiline | True, if we should allow entry of multiple lines of text. | boolean | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| values | List of values to choose from. | string | false |
| valuesCount | The amount of values. | number | false |
| Description |
|---|
| Table with info about the user's system. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| cpuClockMHz | CPU clockspeed in MHz. | number | false |
| cpuModel | CPU model description. | string | false |
| cpuNbCores | CPU number of cores. | number | false |
| cpuVendor | CPU vendor description. | string | false |
| driverVersion | Driver version (NVIDIA only). | string | false |
| hash | Commit hash. | string | false |
| octaneVersion | OctaneRender version. | string | false |
| octaneVersionName | Full OctaneRender version name. | string | false |
| octaneVersionNumber | OctaneRender version number. | number | false |
| os | Operating system description. | string | false |
| Description |
|---|
| Metadata related to texture nodes with typed texture inputs and/or output |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| canToggleValueTypesOfPins | Whether the node can toggle the value type of some of its secondary texture inputs | boolean | false |
| configurations | PROPS_NODE_CONFIGURATION[] The possible configurations the node has for texture inputs and/or output value types | table | false |
| inputMode | octane.textureNodeTypeMode Specifies if the input value type is static, derived from the output value type, or can be set directly. | number | false |
| inputValueTypes | octane.textureValueType[] Array of the possible types of values that main texture inputs can be set to | number | false |
| outputMode | octane.textureNodeTypeMode Specifies if the output value type is static, derived from the input value type, or can be set directly | number | false |
| outputValueTypes | octane.textureValueType[] Array of the possible types of values that the texture output can be set to | number | false |
| staticOutputValueType | octane.textureValueType The node output's static value type (octane.TEXTURE_VALUE_TYPE_UNKNOWN if it has none) | number | false |
| Description |
|---|
| Table with info about a texture type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultValue | The default value of the pin. | number | false |
| description | Description of the pin. | string | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxValue | The maximum value the pin accepts. | number | false |
| minValue | The minimum the pin accepts. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| sliderMaxValue | The maximum slider value of the pin for the slider user interface. | number | false |
| sliderMinValue | The minimum slider value of the pin for the slider user interface. | number | false |
| type | Type of the pin. | number | false |
| useSpectrum | TRUE if the pin is used to fetch a spectrum. FALSE if we only need a float texture. Only makes sense for texture pins of material/emitter/medium nodes | boolean | false |
| valueType | The pin's texture value type when its type mode is static or explicit, octane.textureValueType | number | false |
| valueTypeMode | Specifies how a texture pin gains a value type, octane.texturePinValueTypeMode | number | false |
| valueTypeWhenToggled | The pin's texture value type when its node toggles secondary input types, octane.textureValueType | number | false |
| Description |
|---|
| Table with info about a transform type pin. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colour | Color of the pin (ARGB encoded). | number | false |
| defaultNodeType | Default node type for pins of this type. | number | false |
| defaultRotationValue | The default rotation value of the pin. | number | false |
| defaultScaleValue | The default scale value of the pin. | number | false |
| defaultTranslationValue | The default translation value of the pin. | number | false |
| defaultXAxis | The default x axis of the pin. | number | false |
| defaultYAxis | The default y axis of the pin. | number | false |
| defaultZAxis | The default z axis of the pin. | number | false |
| description | Description of the pin. | string | false |
| dimensionCount | The dimension of the transformation. | number | false |
| endVersion | Octane version that dropped this pin. | number | false |
| groupName | Name of the group this pin belongs to. For dynamic pins or pins without a group this will be an empty string. | string | false |
| id | The static pin ID. For dynamic pins the ID is always set to P_UNKNOWN. | number | false |
| isDynamic | true if this pin is a dynamic pin. | boolean | false |
| isTypedTexturePin | Whether the texture pin has a value type | boolean | false |
| isUvwTransform | When true, this transform will be multiplied by its parent UVW transforms. | boolean | false |
| label | Label of the pin. For dynamic pins this is the same as the name of the pin. | string | false |
| maxRotationValue | The maximum rotation value the pin accepts. | number | false |
| maxScaleValue | The maximum scale value the pin accepts. | number | false |
| maxTranslationValue | The maximum translation value the pin accepts. | number | false |
| minRotationValue | The minimum rotation value the pin accepts. | number | false |
| minScaleValue | The minimum scale value the pin accepts. | number | false |
| minTranslationValue | The minimum translation value the pin accepts. | number | false |
| minVersion | Octane version that introduces this pin. | number | false |
| name | Name of the pin. | string | false |
| type | Type of the pin. | number | false |
| Description |
|---|
| Table with properties about the color space to render to. The type property determines which other properties are relevant: octane.outputColorSpaceType.KNOWN_COLOR_SPACE: colorSpace, forceToneMapping octane.outputColorSpaceType.OCIO_COLOR_SPACE: ocioColorSpaceName, ocioLookName, forceToneMapping, ocioColorSpaceCurveType octane.outputColorSpaceType.OCIO_VIEW: ocioDisplayName, ocioViewName, ocioUseViewLook, ocioLookName, forceToneMapping, ocioColorSpaceCurveType octane.outputColorSpaceType.USE_IMAGER_SETTINGS: colorSpace |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| colorSpace | Only relevant if type is octane.outputColorSpaceType.KNOWN_COLOR_SPACE or octane.outputColorSpaceType.USE_IMAGER_SETTINGS. If type is octane.outputColorSpaceType.KNOWN_COLOR_SPACE, the color space (octane.namedColorSpace) to use. If type is octane.outputColorSpaceType.USE_IMAGER_SETTINGS, the non-OCIO color space (octane.namedColorSpace) to use if the imager node doesn't have an OCIO view set. The default is octane.namedColorSpace.SRGB. | number | true |
| forceToneMapping | Only relevant if type is octane.outputColorSpaceType.KNOWN_COLOR_SPACE, octane.outputColorSpaceType.OCIO_COLOR_SPACE or octane.outputColorSpaceType.OCIO_VIEW. Whether to apply Octane's built-in tone mapping (before applying any OCIO look(s)) when producing output in a color space other than sRGB. This may produce undesirable results due to an intermediate reduction to the sRGB color space. | boolean | true |
| ocioColorSpaceCurveType | Only relevant if type is octane.outputColorSpaceType.OCIO_COLOR_SPACE or octane.outputColorSpaceType.OCIO_VIEW. The curve type (octane.colorSpaceCurveType) that the output color space should be considered to have, based on the expected usage of the output. This only affects metadata/statistics and whether upsampling is enabled. The default value is octane.colorSpaceCurveType.OTHER. | number | true |
| ocioColorSpaceName | Only relevant if type is octane.outputColorSpaceType.OCIO_COLOR_SPACE. The name of the OCIO color space or role to use for output. | string | true |
| ocioDisplayName | Only relevant if type is octane.outputColorSpaceType.OCIO_VIEW. The name of the OCIO display containing the view to use for output. | string | true |
| ocioLookName | Only relevant if type is octane.outputColorSpaceType.OCIO_COLOR_SPACE or octane.outputColorSpaceType.OCIO_VIEW. If type is octane.outputColorSpaceType.OCIO_VIEW, this is only relevant if useViewLook is false. The name of the OCIO look to apply, or empty to apply no look. | string | true |
| ocioUseViewLook | Only relevant if type is octane.outputColorSpaceType.OCIO_VIEW. Whether to use the default look(s) of the view specified by ocioDisplayName and ocioViewName instead of the look specified by ocioLookName. | boolean | true |
| ocioViewName | Only relevant if type is octane.outputColorSpaceType.OCIO_VIEW. The name of the OCIO view (within the display specified by ocioDisplayName) to use for output. | string | true |
| type | The type of output color space (octane.outputColorSpaceType) to use. The default value is octane.outputColorSpaceType.KNOWN_COLOR_SPACE. | number | true |
| Description |
|---|
| Table with properties of a render device. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| active | TRUE if the device is used for rendering and/or denoising. | boolean | false |
| compositorDataSize | The amount of device memory (bytes) used for compositor data. | number | false |
| computeModel | CUDA compute model of the device. | number | false |
| denoiserResourceSize | The amount of device memory (bytes) used by the denoiser. | number | false |
| deviceState | Render device state (octane.renderDeviceState enum value). | number | false |
| errorCode | The current high-level error state of the render device to fail (octane.renderError enum value). | number | false |
| errorMessage | The first low-level error message that triggered the render device to fail (if it failed). | string | false |
| errorString | The current high-level error state of the render device to fail (represented as a string value). | string | false |
| filmSize | The amount of device memory (bytes) used for the intermediate film buffer and for the post-processing buffers. | number | false |
| geometryDataSize | The amount of device memory (bytes) used for the scene geometry. | number | false |
| imageTexturesSize | The amount of device memory (bytes) used for image textures. | number | false |
| index | Index of the device. | number | false |
| name | Name of the device. | string | false |
| runtimeDataSize | The amount of device memory (bytes) used for sample state data during rendering. | number | false |
| shaderDataSize | The amount of device memory (bytes) used for the shader system data. | number | false |
| supported | TRUE if the device is supported by Octane. | boolean | false |
| supportedForDenoising | TRUE if the device is supported for denoising by Octane. | boolean | false |
| supportedForRendering | TRUE if the device is supported for rendering by Octane. | boolean | false |
| supportsHardwareRayTracing | TRUE if the device supports hardware ray-tracing. | boolean | false |
| usedForDenoising | TRUE if the device is used for denoising. | boolean | false |
| usedForRendering | TRUE if the device is used for rendering. | boolean | false |
| Description |
|---|
| Table with the geometry statistics. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| analyticLightCount | The number of analytic lights on the devices. | number | false |
| displTriangleCount | The number of triangles on the devices. | number | false |
| emittingInstanceCount | The number of emitting instances on the devices. | number | false |
| emittingTriangleCount | The number of emitting primitives on the devices. | number | false |
| gaussianSplatCount | The number of gaussian splats on the devices. | number | false |
| hairCount | The number of hair segments on the devices. | number | false |
| meshCount | The number of meshes on the devices. | number | false |
| sphereCount | The number of spheres on the devices. | number | false |
| triangleCount | The number of displacement triangles on the devices. | number | false |
| voxelCount | The number of voxels on the devices. | number | false |
| Description |
|---|
| Table with the memory usage. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| freeMemory | The amount of free memory on the device in MB. | number | false |
| outOfCoreMemory | The amount out of core memory in MB used on the device for the current scene. | number | false |
| peerToPeer | The amount peer to peer memory in MB mapped on the device for the current scene. | number | false |
| totalMemory | The amount total amount of available memory on the device in MB. | number | false |
| usedMemory | The amount of used memory on the device in MB. | number | false |
| Description |
|---|
| Table with render pass export information. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| exportName | The export name of the render pass. If not set the default name for this pass is used. | string | true |
| renderPassId | Id of the render pass to export. | number | true |
| Description |
|---|
| Table with information about a render pass. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| description | The description of the render AOV. | string | false |
| exrLayerName | The default name for EXR layers saved for the render AOV. | string | false |
| isGreyscale | True if the render AOV is rendered as grayscale. | boolean | false |
| isInfo | True if the render AOV is an info channel pass. | boolean | false |
| name | The name of the render AOV. | string | false |
| nodeType | The type (octane.nodeType) of the render AOV node that enables/disables this render AOV. | number | false |
| pinId | (DEPRECATED) The ID of the pin on the render passes node (NT_RENDER_PASS) that enables/disables this render AOV. | number | false |
| renderPassId | The ID of the render AOV. | number | false |
| shortName | The abbreviated name for the render AOV. | string | false |
| subType | Some render AOV nodes represent multiple render AOVs and the sub-type needs to be specified via the enum pin P_SUB_TYPE which needs to be set to this value. Will be 0 for all render AOV nodes that don't have a pin P_SUB_TYPE. | number | false |
| Description |
|---|
| Table with properties to render a material preview. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| crop | The cropping to apply to the film plane. Given as {X, Y, width, height}, and as proportion of the entire image size. {0, 0, 1, 1} will render the entire image. (0, 0) is the top left corner of the image. | number | true |
| materialNode | The material node to preview | userdata | true |
| maxSamples | Samples per pixel to render | number | true |
| objectSize | The size (in meters) of the rendered object | number | true |
| objectType | The type of the object to render, see the octane.previewType enum | number | true |
| size | The size of the preview. | number | true |
| Description |
|---|
| Table representing a render region. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| active | true to activate the specified render region, false to de-active the region and render the full image. | boolean | true |
| featherWidth | horizontal and vertical width of the additional feather border. | number | true |
| regionMax | x and y pixel coordinate values of the render region maximum. | number | true |
| regionMin | x and y pixel coordinate values of the render region minimum. | number | true |
| Description |
|---|
| Table with a render result. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| blendedSamples | Samples blended for the current result. | number | true |
| changeLevel | Change level of this result. | number | true |
| hasPendingUpdates | If true, this result was rendered with some render data still missing, due to it still being compiled or loaded in the background. At a later point when all render data is ready you will start receiving results and statistics with the same changelevel but with this flag set to false. octane.render.start() will always block until no more data is pending. | boolean | true |
| image | Rendered image (this can be an intermediate result). | number | true |
| maxSamples | Max samples until we stop rendering. | number | true |
| renderPassId | Id of the render pass this result represents. | number | true |
| renderTime | Time in seconds we have rendered until this result was blended. | number | true |
| samples | Samples calculated for the current result. | number | true |
| samplesSec | Samples per second rendered. | number | true |
| Description |
|---|
| Table with render statistics. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| beautyMaxSamplesPerPixel | The maximum samples per pixels rendered for the beauty passes. | number | true |
| beautySamplesPerPixel | The samples per pixels rendered for the beauty passes. | number | true |
| beautySamplesPerSecond | The samples per second rendered for the beauty passes. | number | true |
| bufferType | The format of the result buffer (octane.tonemapBufferType). | number | true |
| changeLevel | The change level of the render engine. | number | true |
| colorSpace | The color space of the result (octane.namedColorSpace). | number | true |
| estimatedRenderTime | Estimate of the total time to finish the render result (seconds). | number | true |
| hasAlpha | True if the render result has an alpha channel. | boolean | true |
| hasPendingUpdates | If true, this result was rendered with some render data still missing, due to it still being compiled or loaded in the background. At a later point when all render data is ready you will start receiving results and statistics with the same changelevel but with this flag set to false. octane.render.start() will always block until no more data is pending. | boolean | true |
| infoMaxSamplesPerPixel | The max samples per pixels rendered for the info passes. | number | true |
| infoSamplesPerPixel | The samples per pixels rendered for the info passes. | number | true |
| infoSamplesPerSecond | The samples per second rendered for the info passes. | number | true |
| isHdr | True if the render result is HDR. This is deprecated; you should check whether bufferType is not octane.tonemapBufferType.LDR instead. | boolean | true |
| isLinear | True if the render result is in a linear color space. The value of this is implied by colorSpace unless it's octane.namedColorSpace.OTHER or octane.namedColorSpace.OCIO. | boolean | true |
| keepEnvironment | True if the render result has an alpha channel but also the environment in the pixels where alpha is 0. | boolean | true |
| premultipliedAlpha | True if the render result has premultiplied alpha. Deprecated: use premultipliedAlphaType instead. | boolean | true |
| premultipliedAlphaType | The type of premultiplied alpha that the render result has (octane.premultipliedAlphaType). | number | true |
| regionSamplesPerPixel | The samples per pixel for the render region. | number | true |
| renderPasses | The list of render passes for which results are rendered. | number | true |
| renderState | The state the render target was in when the statistics where created (octane.renderState) | number | true |
| renderTime | The time spent rendering the result so far (seconds). | number | true |
| size | The resolution of the render result. | number | true |
| subsampleMode | The subsample mode in the render target (octane.subsampleMode) | number | true |
| tonemapPasses | The list of render pass ids for which results are tonemapped. | number | true |
| Description |
|---|
| Table with properties to start a render. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| bufferType | The format of the result buffer (octane.tonemapBufferType) to use. The default is octane.tonemapBufferType.LDR. This is ignored if the deprecated tonemapType property is set. | number | true |
| callback | Callback to get intermediate render results. The current result is passed in as first parameter of type PROPS_RENDER_RESULT. | function | true |
| doUpdate | If set to TRUE, the render data will be updated before the rendering starts. If set to FALSE, the render data needs to be updated manually via octane.changemanager.update(). | boolean | true |
| maxRenderTime | Max render time (in seconds) until we stop rendering. | number | true |
| premultipliedAlphaType | The type of premultiplied alpha (octane.premultipliedAlphaType) that the result should have. The default is octane.premultipliedAlphaType.NONE. | number | true |
| renderTargetNode | The render target node to render. | userdata | true |
| restart | If set to TRUE, the render is restarted, i.e. wipes the film buffer and starts from scratch. | boolean | true |
| statisticsCallback | Callback to get intermediate render statistics. The current statistics are passed in as first parameter of type PROPS_RENDER_RESULT_STATISTICS. | function | true |
| tonemapType | The tonemap type (octane.tonemapType) that should be used for the asynchronous tonemapping. The default value is -1, which means use the bufferType property and the colorSpaceInfo table passed to render.start instead. If set to any other value this will override those. This is deprecated; you should use bufferType and the colorSpaceInfo parameter instead. | number | true |
| Description |
|---|
| Properties of a grid layout. |
| Properties | |||
|---|---|---|---|
| Name | Description | Type | Writable |
| columnCount | Number of columns in the top-level grid. | number | false |
| height | Vertical size of the grid layout in pixels. | number | false |
| rowCount | Number of rows in the top-level grid. | number | false |
| width | Horizontal size of the grid layout in pixels. | number | false |