Vuo
2.3.1
|
A 3D Object: visible (mesh), or virtual (group, light, camera).
Classes | |
struct | VuoSceneObject |
A 3D Object: visible (mesh), or virtual (group, light, camera). More... | |
Enumerations | |
enum | VuoSceneObjectSubType { VuoSceneObjectSubType_Empty , VuoSceneObjectSubType_Group , VuoSceneObjectSubType_Mesh , VuoSceneObjectSubType_PerspectiveCamera , VuoSceneObjectSubType_StereoCamera , VuoSceneObjectSubType_OrthographicCamera , VuoSceneObjectSubType_FisheyeCamera , VuoSceneObjectSubType_AmbientLight , VuoSceneObjectSubType_PointLight , VuoSceneObjectSubType_Spotlight , VuoSceneObjectSubType_Text } |
How this scene object should be rendered or how it should affect other scene objects. More... | |
Functions | |
bool | VuoSceneObject_get (VuoText sceneURL, VuoSceneObject *scene, bool center, bool fit, bool hasLeftHandedCoordinates) |
Retrieves the scene at the specified sceneURL, creates a VuoSceneObject from it, and stores it in scene. More... | |
VuoSceneObject | VuoSceneObject_makeAmbientLight (VuoColor color, float brightness) |
Returns an ambient light with the specified color and brightness (typically between 0 and 1). More... | |
VuoSceneObject | VuoSceneObject_makePointLight (VuoColor color, float brightness, VuoPoint3d position, float range, float sharpness) |
Returns a point light (uniform emission in all directions). More... | |
VuoSceneObject | VuoSceneObject_makeSpotlight (VuoColor color, float brightness, VuoTransform transform, float cone, float range, float sharpness) |
Returns a spot light (emists only in the specified direction). More... | |
uint64_t | VuoSceneObject_getNextId (void) |
Returns a number, unique within this process, for identifying a particlar scene object instance. More... | |
VuoSceneObject | VuoSceneObject_makeEmpty (void) |
Creates a new, empty scene object. More... | |
VuoSceneObject | VuoSceneObject_makeGroup (VuoList_VuoSceneObject childObjects, VuoTransform transform) |
Creates a new scene object that can contain (and transform) other scene objects, but doesn't render anything itself. More... | |
VuoSceneObject | VuoSceneObject_makeMesh (VuoMesh mesh, VuoShader shader, VuoTransform transform) |
Creates a visible (mesh) scene object. More... | |
VuoSceneObject | VuoSceneObject_makeQuad (VuoShader shader, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal height) |
Returns a scene object that renders a quad with the specified shader. More... | |
VuoSceneObject | VuoSceneObject_makeQuadWithNormals (VuoShader shader, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal height) |
Returns a scene object that renders a quad with the specified shader. More... | |
VuoSceneObject | VuoSceneObject_makeImage (VuoImage image, VuoPoint3d center, VuoPoint3d rotation, VuoReal size, VuoOrientation fixed, VuoReal alpha) |
Returns an unlit scene object with the specified image . More... | |
VuoSceneObject | VuoSceneObject_makeLitImage (VuoImage image, VuoPoint3d center, VuoPoint3d rotation, VuoReal size, VuoOrientation fixed, VuoReal alpha, VuoColor highlightColor, VuoReal shininess) |
Returns a lit scene object with the specified image . More... | |
VuoSceneObject | VuoSceneObject_makeCube (VuoTransform transform, VuoShader frontShader, VuoShader leftShader, VuoShader rightShader, VuoShader backShader, VuoShader topShader, VuoShader bottomShader) |
Returns a scene object consisting of 6 child objects (square quads), each with its own shader. More... | |
VuoSceneObject | VuoSceneObject_makeCube1 (VuoTransform transform, VuoShader shader) |
Returns a cube scene object with a single shader applied to all 6 sides. More... | |
VuoSceneObject | VuoSceneObject_makeCube_VuoShader (VuoTransform transform, VuoShader shader) |
Creates a cube painted on all sides by shader . More... | |
VuoSceneObject | VuoSceneObject_makeCube_VuoImage (VuoTransform transform, VuoImage image) |
Creates a cube painted on all sides by image . More... | |
VuoSceneObject | VuoSceneObject_makeCube_VuoColor (VuoTransform transform, VuoColor color) |
Creates a cube painted on all sides by color . More... | |
VuoSceneObject | VuoSceneObject_makeCube_VuoCubemap (VuoTransform transform, VuoCubemap cubemap) |
Creates a cube painted with a cubemap. More... | |
VuoSceneObject | VuoSceneObject_makeCubeMulti (VuoTransform transform, VuoInteger columns, VuoInteger rows, VuoInteger slices, VuoShader front, VuoShader left, VuoShader right, VuoShader back, VuoShader top, VuoShader bottom) |
Creates a cube with subdivided faces and multiple shaders. More... | |
VuoSceneObject | VuoSceneObject_makeText (VuoText text, VuoFont font, VuoBoolean scaleWithScene, float wrapWidth) |
Returns a scene object representing deferred-rendered text. More... | |
VuoSceneObject | VuoSceneObject_makePerspectiveCamera (VuoText name, VuoTransform transform, float fieldOfView, float distanceMin, float distanceMax) |
Returns a perspective camera having the position and negative-rotation specified by transform (its scale is ignored). More... | |
VuoSceneObject | VuoSceneObject_makeStereoCamera (VuoText name, VuoTransform transform, VuoReal fieldOfView, VuoReal distanceMin, VuoReal distanceMax, VuoReal confocalDistance, VuoReal intraocularDistance) |
Returns a stereoscopic camera having the position and negative-rotation specified by transform (its scale is ignored). More... | |
VuoSceneObject | VuoSceneObject_makeOrthographicCamera (VuoText name, VuoTransform transform, float width, float distanceMin, float distanceMax) |
Returns an orthographic camera having the position and negative-rotation specified by transform (its scale is ignored). More... | |
VuoSceneObject | VuoSceneObject_makeFisheyeCamera (VuoText name, VuoTransform transform, VuoReal fieldOfView, VuoReal vignetteWidth, VuoReal vignetteSharpness) |
Returns a fisheye camera having the position and negative-rotation specified by transform (its scale is ignored). More... | |
VuoSceneObject | VuoSceneObject_makeDefaultCamera (void) |
Returns a perspective camera at (0,0,1), facing along -z, 90 degree FOV, and clip planes at 0.1 and 10.0. More... | |
bool | VuoSceneObject_find (VuoSceneObject so, VuoText nameToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject) VuoWarnUnusedResult |
Searches the scenegraph (depth-first) for a scene object with the given name. More... | |
bool | VuoSceneObject_findById (VuoSceneObject so, uint64_t idToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject) VuoWarnUnusedResult |
Searches the scenegraph (depth-first) for a scene object with the given id. More... | |
bool | VuoSceneObject_findWithType (VuoSceneObject so, VuoSceneObjectSubType typeToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject) VuoWarnUnusedResult |
Searches the scenegraph (depth-first) for the first scene object with the specified type. More... | |
bool | VuoSceneObject_findCamera (VuoSceneObject so, VuoText nameToMatch, VuoSceneObject *foundCamera) VuoWarnUnusedResult |
Performs a depth-first search of the scenegraph. More... | |
void | VuoSceneObject_findLights (VuoSceneObject so, VuoColor *ambientColor, float *ambientBrightness, VuoList_VuoSceneObject *pointLights, VuoList_VuoSceneObject *spotLights) |
Finds and returns all the lights in the scene, with their transforms applied. More... | |
bool | VuoSceneObject_isPopulated (VuoSceneObject so) |
Returns true if the scene object has a non-empty type. More... | |
void | VuoSceneObject_visit (const VuoSceneObject object, bool(^function)(const VuoSceneObject currentObject, float modelviewMatrix[16])) |
Applies function to object and its child objects, without preserving changes to objects. More... | |
void | VuoSceneObject_apply (VuoSceneObject object, void(^function)(VuoSceneObject currentObject, float modelviewMatrix[16])) |
Applies function to object and its child objects, and outputs the modified object . More... | |
void | VuoSceneObject_normalize (VuoSceneObject so) |
Change the root sceneobject's transform such that the entire scenegraph renders within a 1x1x1 axis-aligned cube. More... | |
void | VuoSceneObject_center (VuoSceneObject so) |
Make the bounds center of all vertices == {0,0,0}. More... | |
void | VuoSceneObject_transform (VuoSceneObject object, VuoTransform transform) |
Applies a transformation to the sceneobject (combining it with its previous transform). More... | |
void | VuoSceneObject_translate (VuoSceneObject object, VuoPoint3d translation) |
Moves the sceneobject in 3D space. More... | |
void | VuoSceneObject_scale (VuoSceneObject object, VuoPoint3d scale) |
Scales the sceneobject in 3D space. More... | |
VuoSceneObjectSubType | VuoSceneObject_getType (const VuoSceneObject object) |
Returns the sceneobject's type. More... | |
uint64_t | VuoSceneObject_getId (const VuoSceneObject object) |
Returns the sceneobject's identification number (unique among objects in the currently-running composition). More... | |
VuoText | VuoSceneObject_getName (const VuoSceneObject object) |
Returns the sceneobject's display name. More... | |
VuoList_VuoSceneObject | VuoSceneObject_getChildObjects (const VuoSceneObject object) |
Returns the list of this sceneobject's child sceneobjects. More... | |
VuoBlendMode | VuoSceneObject_getBlendMode (const VuoSceneObject object) |
Returns the sceneobject's blend mode. More... | |
VuoMesh | VuoSceneObject_getMesh (const VuoSceneObject object) |
Returns the sceneobject's mesh. More... | |
VuoTransform | VuoSceneObject_getTransform (const VuoSceneObject object) |
Returns the sceneobject's transform. More... | |
VuoPoint3d | VuoSceneObject_getTranslation (const VuoSceneObject object) |
Returns the sceneobject's transform's translation. More... | |
VuoShader | VuoSceneObject_getShader (const VuoSceneObject object) |
Returns the sceneobject's shader. More... | |
bool | VuoSceneObject_isRealSize (const VuoSceneObject object) |
Returns true if the sceneobject should ignore rotations and scales, and be sized to match the shader's first image. More... | |
bool | VuoSceneObject_shouldPreservePhysicalSize (const VuoSceneObject object) |
Returns true if the sceneobject should use the texture's scaleFactor and the backingScaleFactor to determine the rendered size. More... | |
VuoText | VuoSceneObject_getText (const VuoSceneObject object) |
Returns the sceneobject's rendered text. More... | |
VuoFont | VuoSceneObject_getTextFont (const VuoSceneObject object) |
Returns the sceneobject's font. More... | |
bool | VuoSceneObject_shouldTextScaleWithScene (const VuoSceneObject object) |
Returns true if the sceneobject's text should change depending on the scene's rendering destination, or false if it should maintain its nominal size. More... | |
float | VuoSceneObject_getTextWrapWidth (const VuoSceneObject object) |
Returns the width at which the sceneobject's rendered text should wrap. More... | |
float | VuoSceneObject_getCameraFieldOfView (const VuoSceneObject object) |
Returns the sceneobject's field of view (for perspective cameras). More... | |
float | VuoSceneObject_getCameraWidth (const VuoSceneObject object) |
Returns the sceneobject's camera width (for isometric cameras). More... | |
float | VuoSceneObject_getCameraDistanceMin (const VuoSceneObject object) |
Returns the sceneobject's depth buffer minimum distance. More... | |
float | VuoSceneObject_getCameraDistanceMax (const VuoSceneObject object) |
Returns the sceneobject's depth buffer maximum distance. More... | |
float | VuoSceneObject_getCameraVignetteWidth (const VuoSceneObject object) |
Returns the sceneobject's vignette width (for fisheye cameras). More... | |
float | VuoSceneObject_getCameraVignetteSharpness (const VuoSceneObject object) |
Returns the sceneobject's vignette sharpness (for fisheye cameras). More... | |
float | VuoSceneObject_getCameraIntraocularDistance (const VuoSceneObject object) |
Returns the sceneobject's camera intraocular distance (for stereoscopic cameras). More... | |
float | VuoSceneObject_getCameraConfocalDistance (const VuoSceneObject object) |
Returns the sceneobject's camera confocal distance (for stereoscopic cameras). More... | |
VuoColor | VuoSceneObject_getLightColor (const VuoSceneObject object) |
Returns the sceneobject's light color. More... | |
float | VuoSceneObject_getLightBrightness (const VuoSceneObject object) |
Returns the sceneobject's light brightness. More... | |
float | VuoSceneObject_getLightRange (const VuoSceneObject object) |
Returns the sceneobject's light cone range. More... | |
float | VuoSceneObject_getLightSharpness (const VuoSceneObject object) |
Returns the sceneobject's light cone sharpness. More... | |
float | VuoSceneObject_getLightCone (const VuoSceneObject object) |
Returns the sceneobject's light cone angle. More... | |
void | VuoSceneObject_setType (VuoSceneObject object, VuoSceneObjectSubType type) |
Changes the sceneobject's type. More... | |
void | VuoSceneObject_setId (VuoSceneObject object, uint64_t id) |
Changes the sceneobject's identification number (should be unique among objects in the currently-running composition). More... | |
void | VuoSceneObject_setName (VuoSceneObject object, VuoText name) |
Changes the sceneobject's display name. More... | |
void | VuoSceneObject_setChildObjects (VuoSceneObject object, VuoList_VuoSceneObject childObjects) |
Changes the sceneobject's list of child objects. More... | |
void | VuoSceneObject_setMesh (VuoSceneObject object, VuoMesh mesh) |
Changes the sceneobject's mesh. More... | |
void | VuoSceneObject_setTransform (VuoSceneObject object, VuoTransform transform) |
Changes the sceneobject's transform. More... | |
void | VuoSceneObject_setTranslation (VuoSceneObject object, VuoPoint3d translation) |
Changes the sceneobject's transform's translation. More... | |
void | VuoSceneObject_setScale (VuoSceneObject object, VuoPoint3d scale) |
Changes the sceneobject's transform's scale. More... | |
void | VuoSceneObject_setShader (VuoSceneObject object, VuoShader shader) |
Changes the sceneobject's shader. More... | |
void | VuoSceneObject_setFaceCulling (VuoSceneObject object, VuoMesh_FaceCulling faceCullingMode) |
Sets the faceCulling on object and its child objects. More... | |
void | VuoSceneObject_setBlendMode (VuoSceneObject object, VuoBlendMode blendMode) |
Sets the blendMode on object and its child objects. More... | |
void | VuoSceneObject_setRealSize (VuoSceneObject object, bool isRealSize) |
Changes whether the sceneobject should ignore rotations and scales and be sized to match the shader's first image. More... | |
void | VuoSceneObject_setPreservePhysicalSize (VuoSceneObject object, bool shouldPreservePhysicalSize) |
Changes whether the sceneobject should use the texture's scaleFactor and the backingScaleFactor to determine the rendered size. More... | |
void | VuoSceneObject_setText (VuoSceneObject object, VuoText text) |
Changes the sceneobject's rendered text. More... | |
void | VuoSceneObject_setTextFont (VuoSceneObject object, VuoFont font) |
Changes the sceneobject's font for rendered text. More... | |
void | VuoSceneObject_setCameraFieldOfView (VuoSceneObject object, float fieldOfView) |
Changes the sceneobject's camera field of view (for perspective cameras). More... | |
void | VuoSceneObject_setCameraDistanceMin (VuoSceneObject object, float distanceMin) |
Changes the sceneobject's depth buffer minimum distance. More... | |
void | VuoSceneObject_setCameraDistanceMax (VuoSceneObject object, float distanceMax) |
Changes the sceneobject's depth buffer maximum distance. More... | |
VuoSceneObject | VuoSceneObject_copy (const VuoSceneObject object) |
Creates a new scene object hierarchy that references the input object's meshes and shaders. More... | |
VuoSceneObject | VuoSceneObject_makeFromJson (struct json_object *js) |
Decodes the JSON object js to create a new value. More... | |
struct json_object * | VuoSceneObject_getJson (const VuoSceneObject value) |
Encodes value as a JSON object. More... | |
char * | VuoSceneObject_getSummary (const VuoSceneObject value) |
Produces a brief human-readable summary of value . More... | |
void | VuoSceneObject_getStatistics (const VuoSceneObject value, unsigned long *descendantCount, unsigned long *totalVertexCount, unsigned long *totalElementCount) |
Traverses the specified scenegraph and returns statistics about it. More... | |
VuoBox | VuoSceneObject_bounds (const VuoSceneObject so) |
Get the axis aligned bounding box of this sceneobject and it's children. More... | |
bool | VuoSceneObject_meshBounds (const VuoSceneObject so, VuoBox *bounds, float matrix[16]) |
Bounding box of the vertices for this SceneObject (taking into account transform). More... | |
void | VuoSceneObject_dump (const VuoSceneObject so) |
Outputs information about the sceneobject (and its descendants). More... | |
unsigned long | VuoSceneObject_getVertexCount (const VuoSceneObject value) |
Returns the total number of vertices in the scene object (but not its descendants). More... | |
VuoSceneObject | VuoSceneObject_flatten (const VuoSceneObject so) |
Combines all meshes (including child objects) together into a single mesh. More... | |
VuoSceneObject | VuoSceneObject_union (VuoList_VuoSceneObject objects, float quality) |
Returns the union of objects . More... | |
VuoSceneObject | VuoSceneObject_subtract (const VuoSceneObject a, const VuoSceneObject b, float quality) |
Returns the boolean difference of a minus b . More... | |
VuoSceneObject | VuoSceneObject_intersect (VuoList_VuoSceneObject objects, float quality) |
Returns the intersection of objects . More... | |
VuoSceneObject | VuoSceneObject_makeFromString (const char *str) |
Automatically generated function. More... | |
char * | VuoSceneObject_getString (const VuoSceneObject value) |
Automatically generated function. More... | |
void | VuoSceneObject_retain (VuoSceneObject value) |
Automatically generated function. More... | |
void | VuoSceneObject_release (VuoSceneObject value) |
Automatically generated function. More... | |
How this scene object should be rendered or how it should affect other scene objects.
Definition at line 43 of file VuoSceneObject.h.
void VuoSceneObject_apply | ( | VuoSceneObject | object, |
void(^)(VuoSceneObject currentObject, float modelviewMatrix[16]) | function | ||
) |
Applies function
to object
and its child objects, and outputs the modified object
.
The value modelviewMatrix
(which VuoSceneObject_apply
passes to function
) is the cumulative transformation matrix (from object
down to the currentObject
).
NULL objects in the tree are ignored (function
is not called).
Definition at line 1086 of file VuoSceneObject.cc.
VuoBox VuoSceneObject_bounds | ( | const VuoSceneObject | so | ) |
Get the axis aligned bounding box of this sceneobject and it's children.
Get the axis aligned bounding box of this sceneobject and it's children.
Definition at line 1906 of file VuoSceneObject.cc.
void VuoSceneObject_center | ( | VuoSceneObject | so | ) |
Make the bounds center of all vertices == {0,0,0}.
Definition at line 1968 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_copy | ( | const VuoSceneObject | object | ) |
Creates a new scene object hierarchy that references the input object's meshes and shaders.
You can change the transforms and replace the meshes and shaders without affecting the original, but you cannot mutate the existing meshes and shaders.
The sceneobject's id is preserved.
Definition at line 1839 of file VuoSceneObject.cc.
void VuoSceneObject_dump | ( | const VuoSceneObject | so | ) |
Outputs information about the sceneobject (and its descendants).
Definition at line 2641 of file VuoSceneObject.cc.
bool VuoSceneObject_find | ( | VuoSceneObject | sceneObject, |
VuoText | nameToMatch, | ||
VuoList_VuoSceneObject | ancestorObjects, | ||
VuoSceneObject * | foundObject | ||
) |
Searches the scenegraph (depth-first) for a scene object with the given name.
sceneObject | The root object of the scenegraph to search. | |
nameToMatch | The name to search for. | |
[out] | ancestorObjects | The ancestors of foundObject, starting with the root of the scenegraph. |
[out] | foundObject | The first matching scene object found. |
Definition at line 629 of file VuoSceneObject.cc.
bool VuoSceneObject_findById | ( | VuoSceneObject | sceneObject, |
uint64_t | idToMatch, | ||
VuoList_VuoSceneObject | ancestorObjects, | ||
VuoSceneObject * | foundObject | ||
) |
Searches the scenegraph (depth-first) for a scene object with the given id.
sceneObject | The root object of the scenegraph to search. | |
idToMatch | The id to search for. | |
[out] | ancestorObjects | The ancestors of foundObject, starting with the root of the scenegraph. |
[out] | foundObject | The first matching scene object found. |
Definition at line 670 of file VuoSceneObject.cc.
bool VuoSceneObject_findCamera | ( | VuoSceneObject | sceneObject, |
VuoText | nameToMatch, | ||
VuoSceneObject * | foundCamera | ||
) |
Performs a depth-first search of the scenegraph.
Returns (via foundCamera
) the first camera whose name contains nameToMatch
(or, if nameToMatch
is emptystring or NULL, just returns the first camera), with its transform altered to incorporate the transforms of its ancestor objects. The returned boolean indicates whether a camera was found. If no camera was found, foundCamera
is unaltered.
Definition at line 752 of file VuoSceneObject.cc.
void VuoSceneObject_findLights | ( | VuoSceneObject | sceneObject, |
VuoColor * | ambientColor, | ||
float * | ambientBrightness, | ||
VuoList_VuoSceneObject * | pointLights, | ||
VuoList_VuoSceneObject * | spotLights | ||
) |
Finds and returns all the lights in the scene, with their transforms applied.
If there are multiple ambient lights, returns the weighted (by alpha) average color and summed brightness.
If there are no lights in the scene, returns some default lights.
Definition at line 924 of file VuoSceneObject.cc.
bool VuoSceneObject_findWithType | ( | VuoSceneObject | sceneObject, |
VuoSceneObjectSubType | typeToMatch, | ||
VuoList_VuoSceneObject | ancestorObjects, | ||
VuoSceneObject * | foundObject | ||
) |
Searches the scenegraph (depth-first) for the first scene object with the specified type.
sceneObject | The root object of the scenegraph to search. | |
typeToMatch | The sub-type to search for. | |
[out] | ancestorObjects | The ancestors of foundObject, starting with the root of the scenegraph. |
[out] | foundObject | The first matching scene object found. |
Definition at line 711 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_flatten | ( | const VuoSceneObject | so | ) |
Combines all meshes (including child objects) together into a single mesh.
Element assembly methods are expanded (e.g., triangle strips become individual triangles).
If so
contains multiple primitive types, a single mesh is created with a submesh for each expanded primitive type.
The last-visited submesh's faceCullingMode
and primitiveSize
are used in the output mesh.
Definition at line 2656 of file VuoSceneObject.cc.
bool VuoSceneObject_get | ( | VuoText | sceneURL, |
VuoSceneObject * | scene, | ||
bool | center, | ||
bool | fit, | ||
bool | hasLeftHandedCoordinates | ||
) |
Retrieves the scene at the specified sceneURL, creates a VuoSceneObject
from it, and stores it in scene.
Returns false if the scene could not be loaded.
Definition at line 322 of file VuoSceneObjectGet.c.
VuoBlendMode VuoSceneObject_getBlendMode | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's blend mode.
Definition at line 1178 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraConfocalDistance | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's camera confocal distance (for stereoscopic cameras).
Definition at line 1442 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraDistanceMax | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's depth buffer maximum distance.
Definition at line 1386 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraDistanceMin | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's depth buffer minimum distance.
Definition at line 1372 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraFieldOfView | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's field of view (for perspective cameras).
Definition at line 1344 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraIntraocularDistance | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's camera intraocular distance (for stereoscopic cameras).
Definition at line 1428 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraVignetteSharpness | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's vignette sharpness (for fisheye cameras).
Definition at line 1414 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraVignetteWidth | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's vignette width (for fisheye cameras).
Definition at line 1400 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraWidth | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's camera width (for isometric cameras).
Definition at line 1358 of file VuoSceneObject.cc.
VuoList_VuoSceneObject VuoSceneObject_getChildObjects | ( | VuoSceneObject | object | ) |
Returns the list of this sceneobject's child sceneobjects.
The caller is permitted to modify the returned value (e.g., append items to the list), which will affect this sceneobject.
Definition at line 1161 of file VuoSceneObject.cc.
uint64_t VuoSceneObject_getId | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's identification number (unique among objects in the currently-running composition).
Definition at line 1207 of file VuoSceneObject.cc.
struct json_object* VuoSceneObject_getJson | ( | const VuoSceneObject | value | ) |
Encodes value
as a JSON object.
Definition at line 2215 of file VuoSceneObject.cc.
float VuoSceneObject_getLightBrightness | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light brightness.
Definition at line 1470 of file VuoSceneObject.cc.
VuoColor VuoSceneObject_getLightColor | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light color.
Definition at line 1456 of file VuoSceneObject.cc.
float VuoSceneObject_getLightCone | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light cone angle.
Definition at line 1512 of file VuoSceneObject.cc.
float VuoSceneObject_getLightRange | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light cone range.
Definition at line 1484 of file VuoSceneObject.cc.
float VuoSceneObject_getLightSharpness | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light cone sharpness.
Definition at line 1498 of file VuoSceneObject.cc.
VuoMesh VuoSceneObject_getMesh | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's mesh.
The caller is permitted to modify the returned value (e.g., change the mesh's buffers), which will affect this sceneobject.
Definition at line 1272 of file VuoSceneObject.cc.
VuoText VuoSceneObject_getName | ( | VuoSceneObject | object | ) |
Returns the sceneobject's display name.
Definition at line 1144 of file VuoSceneObject.cc.
uint64_t VuoSceneObject_getNextId | ( | void | ) |
Returns a number, unique within this process, for identifying a particlar scene object instance.
Definition at line 111 of file VuoSceneObject.cc.
VuoShader VuoSceneObject_getShader | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's shader.
The caller is permitted to modify the returned value (e.g., change the shader's uniforms), which will affect this sceneobject.
Definition at line 1224 of file VuoSceneObject.cc.
void VuoSceneObject_getStatistics | ( | const VuoSceneObject | sceneObject, |
unsigned long * | descendantCount, | ||
unsigned long * | totalVertexCount, | ||
unsigned long * | totalElementCount | ||
) |
Traverses the specified scenegraph and returns statistics about it.
The caller should initialize the output parameters to 0 before calling this function.
Definition at line 2370 of file VuoSceneObject.cc.
char* VuoSceneObject_getString | ( | const VuoSceneObject | value | ) |
Automatically generated function.
char* VuoSceneObject_getSummary | ( | const VuoSceneObject | value | ) |
Produces a brief human-readable summary of value
.
Definition at line 2415 of file VuoSceneObject.cc.
VuoText VuoSceneObject_getText | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's rendered text.
Definition at line 1286 of file VuoSceneObject.cc.
VuoFont VuoSceneObject_getTextFont | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's font.
Definition at line 1300 of file VuoSceneObject.cc.
float VuoSceneObject_getTextWrapWidth | ( | const VuoSceneObject | object | ) |
Returns the width at which the sceneobject's rendered text should wrap.
Definition at line 1330 of file VuoSceneObject.cc.
VuoTransform VuoSceneObject_getTransform | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's transform.
Definition at line 1526 of file VuoSceneObject.cc.
VuoPoint3d VuoSceneObject_getTranslation | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's transform's translation.
Definition at line 1540 of file VuoSceneObject.cc.
VuoSceneObjectSubType VuoSceneObject_getType | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's type.
Definition at line 1192 of file VuoSceneObject.cc.
unsigned long VuoSceneObject_getVertexCount | ( | const VuoSceneObject | value | ) |
Returns the total number of vertices in the scene object (but not its descendants).
Definition at line 2334 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_intersect | ( | VuoList_VuoSceneObject | objects, |
float | quality | ||
) |
Returns the intersection of objects
.
Definition at line 3117 of file VuoSceneObject.cc.
bool VuoSceneObject_isPopulated | ( | VuoSceneObject | so | ) |
Returns true if the scene object has a non-empty type.
Definition at line 780 of file VuoSceneObject.cc.
bool VuoSceneObject_isRealSize | ( | const VuoSceneObject | object | ) |
Returns true if the sceneobject should ignore rotations and scales, and be sized to match the shader's first image.
Definition at line 1239 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeAmbientLight | ( | VuoColor | color, |
float | brightness | ||
) |
Returns an ambient light with the specified color
and brightness
(typically between 0 and 1).
Definition at line 857 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube | ( | VuoTransform | transform, |
VuoShader | frontShader, | ||
VuoShader | leftShader, | ||
VuoShader | rightShader, | ||
VuoShader | backShader, | ||
VuoShader | topShader, | ||
VuoShader | bottomShader | ||
) |
Returns a scene object consisting of 6 child objects (square quads), each with its own shader.
Definition at line 319 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube1 | ( | VuoTransform | transform, |
VuoShader | shader | ||
) |
Returns a cube scene object with a single shader applied to all 6 sides.
VuoSceneObject_makeCube_Vuo*()
instead.} Definition at line 388 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoColor | ( | VuoTransform | transform, |
VuoColor | color | ||
) |
Creates a cube painted on all sides by color
.
Definition at line 418 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoCubemap | ( | VuoTransform | transform, |
VuoCubemap | cubemap | ||
) |
Creates a cube painted with a cubemap.
Definition at line 428 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoImage | ( | VuoTransform | transform, |
VuoImage | image | ||
) |
Creates a cube painted on all sides by image
.
Definition at line 408 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoShader | ( | VuoTransform | transform, |
VuoShader | shader | ||
) |
Creates a cube painted on all sides by shader
.
Definition at line 398 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCubeMulti | ( | VuoTransform | transform, |
VuoInteger | columns, | ||
VuoInteger | rows, | ||
VuoInteger | slices, | ||
VuoShader | front, | ||
VuoShader | left, | ||
VuoShader | right, | ||
VuoShader | back, | ||
VuoShader | top, | ||
VuoShader | bottom | ||
) |
Creates a cube with subdivided faces and multiple shaders.
Definition at line 444 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeDefaultCamera | ( | void | ) |
Returns a perspective camera at (0,0,1), facing along -z, 90 degree FOV, and clip planes at 0.1 and 10.0.
Definition at line 604 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeEmpty | ( | void | ) |
Creates a new, empty scene object.
Definition at line 143 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeFisheyeCamera | ( | VuoText | name, |
VuoTransform | transform, | ||
VuoReal | fieldOfView, | ||
VuoReal | vignetteWidth, | ||
VuoReal | vignetteSharpness | ||
) |
Returns a fisheye camera having the position and negative-rotation specified by transform
(its scale is ignored).
Definition at line 583 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeFromJson | ( | json_object * | js | ) |
Decodes the JSON object js
to create a new value.
Definition at line 2023 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeFromString | ( | const char * | str | ) |
Automatically generated function.
VuoSceneObject VuoSceneObject_makeGroup | ( | VuoList_VuoSceneObject | childObjects, |
VuoTransform | transform | ||
) |
Creates a new scene object that can contain (and transform) other scene objects, but doesn't render anything itself.
Definition at line 166 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeImage | ( | VuoImage | image, |
VuoPoint3d | center, | ||
VuoPoint3d | rotation, | ||
VuoReal | size, | ||
VuoOrientation | fixed, | ||
VuoReal | alpha | ||
) |
Returns an unlit scene object with the specified image
.
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 257 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeLitImage | ( | VuoImage | image, |
VuoPoint3d | center, | ||
VuoPoint3d | rotation, | ||
VuoReal | size, | ||
VuoOrientation | fixed, | ||
VuoReal | alpha, | ||
VuoColor | highlightColor, | ||
VuoReal | shininess | ||
) |
Returns a lit scene object with the specified image
.
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 290 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeMesh | ( | VuoMesh | mesh, |
VuoShader | shader, | ||
VuoTransform | transform | ||
) |
Creates a visible (mesh) scene object.
Definition at line 182 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeOrthographicCamera | ( | VuoText | name, |
VuoTransform | transform, | ||
float | width, | ||
float | distanceMin, | ||
float | distanceMax | ||
) |
Returns an orthographic camera having the position and negative-rotation specified by transform
(its scale is ignored).
Definition at line 568 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makePerspectiveCamera | ( | VuoText | name, |
VuoTransform | transform, | ||
float | fieldOfView, | ||
float | distanceMin, | ||
float | distanceMax | ||
) |
Returns a perspective camera having the position and negative-rotation specified by transform
(its scale is ignored).
Definition at line 536 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makePointLight | ( | VuoColor | color, |
float | brightness, | ||
VuoPoint3d | position, | ||
float | range, | ||
float | sharpness | ||
) |
Returns a point light (uniform emission in all directions).
color | The light's color. |
brightness | The light's brightness multiplier (typically between 0 and 1). |
position | The light's position. |
range | The distance (in local coordinates) the light reaches. |
sharpness | The sharpness of the light's distance falloff. 0 means the light starts fading at distance 0 and ends at 2*lightRange. 1 means the falloff is instant. |
Definition at line 877 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeQuad | ( | VuoShader | shader, |
VuoPoint3d | center, | ||
VuoPoint3d | rotation, | ||
VuoReal | width, | ||
VuoReal | height | ||
) |
Returns a scene object that renders a quad with the specified shader.
The quad does not include normals, tangents, or bitangents.
shader | The shader used to render the object. |
center | The object's center, specified in scene coordinates. |
rotation | The object's rotation, specified in degrees. |
width | The object's width, specified in scene coordinates. |
height | The object's height, specified in scene coordinates. |
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 214 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeQuadWithNormals | ( | VuoShader | shader, |
VuoPoint3d | center, | ||
VuoPoint3d | rotation, | ||
VuoReal | width, | ||
VuoReal | height | ||
) |
Returns a scene object that renders a quad with the specified shader.
The quad includes normals, tangents, or bitangents.
shader | The shader used to render the object. |
center | The object's center, specified in scene coordinates. |
rotation | The object's rotation, specified in degrees. |
width | The object's width, specified in scene coordinates. |
height | The object's height, specified in scene coordinates. |
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 240 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeSpotlight | ( | VuoColor | color, |
float | brightness, | ||
VuoTransform | transform, | ||
float | cone, | ||
float | range, | ||
float | sharpness | ||
) |
Returns a spot light (emists only in the specified direction).
color | The light's color. |
brightness | The light's brightness multiplier (typically between 0 and 1). |
transform | The position and direction of the light. (The transform's scale is ignored.) |
cone | Width (in radians) of the light's cone. |
range | The distance (in local coordinates) the light reaches. |
sharpness | The sharpness of the light's distance/cone falloff. 0 means the light starts fading at distance/angle 0 and ends at 2*range or 2*cone. 1 means the falloff is instant. |
Definition at line 902 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeStereoCamera | ( | VuoText | name, |
VuoTransform | transform, | ||
VuoReal | fieldOfView, | ||
VuoReal | distanceMin, | ||
VuoReal | distanceMax, | ||
VuoReal | confocalDistance, | ||
VuoReal | intraocularDistance | ||
) |
Returns a stereoscopic camera having the position and negative-rotation specified by transform
(its scale is ignored).
Definition at line 551 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeText | ( | VuoText | text, |
VuoFont | font, | ||
VuoBoolean | scaleWithScene, | ||
float | wrapWidth | ||
) |
Returns a scene object representing deferred-rendered text.
The caller is responsible for providing the sceneobject's mesh (e.g., VuoMesh_makeQuadWithoutNormals).
This function may be called from any thread.
scaleWithScene
, wrapWidth
arguments. Definition at line 522 of file VuoSceneObject.cc.
bool VuoSceneObject_meshBounds | ( | const VuoSceneObject | so, |
VuoBox * | bounds, | ||
float | matrix[16] | ||
) |
Bounding box of the vertices for this SceneObject (taking into account transform).
Definition at line 1934 of file VuoSceneObject.cc.
void VuoSceneObject_normalize | ( | VuoSceneObject | sceneObject | ) |
Change the root sceneobject's transform such that the entire scenegraph renders within a 1x1x1 axis-aligned cube.
If the scenegraph has zero size (e.g., if it is empty, or if it consists entirely of Real Size Layers), the transform is left unchanged.
Definition at line 1983 of file VuoSceneObject.cc.
void VuoSceneObject_release | ( | VuoSceneObject | value | ) |
Automatically generated function.
void VuoSceneObject_retain | ( | VuoSceneObject | value | ) |
Automatically generated function.
void VuoSceneObject_scale | ( | VuoSceneObject | object, |
VuoPoint3d | scale | ||
) |
Scales the sceneobject in 3D space.
Definition at line 1130 of file VuoSceneObject.cc.
void VuoSceneObject_setBlendMode | ( | VuoSceneObject | object, |
VuoBlendMode | blendMode | ||
) |
Sets the blendMode
on object
and its child objects.
Only the following VuoBlendModes are supported:
Definition at line 1714 of file VuoSceneObject.cc.
void VuoSceneObject_setCameraDistanceMax | ( | VuoSceneObject | object, |
float | distanceMax | ||
) |
Changes the sceneobject's depth buffer maximum distance.
Definition at line 1820 of file VuoSceneObject.cc.
void VuoSceneObject_setCameraDistanceMin | ( | VuoSceneObject | object, |
float | distanceMin | ||
) |
Changes the sceneobject's depth buffer minimum distance.
Definition at line 1806 of file VuoSceneObject.cc.
void VuoSceneObject_setCameraFieldOfView | ( | VuoSceneObject | object, |
float | fieldOfView | ||
) |
Changes the sceneobject's camera field of view (for perspective cameras).
Definition at line 1792 of file VuoSceneObject.cc.
void VuoSceneObject_setChildObjects | ( | VuoSceneObject | object, |
VuoList_VuoSceneObject | childObjects | ||
) |
Changes the sceneobject's list of child objects.
Definition at line 1599 of file VuoSceneObject.cc.
void VuoSceneObject_setFaceCulling | ( | VuoSceneObject | object, |
VuoMesh_FaceCulling | faceCullingMode | ||
) |
Sets the faceCulling
on object
and its child objects.
Definition at line 1690 of file VuoSceneObject.cc.
void VuoSceneObject_setId | ( | VuoSceneObject | object, |
uint64_t | id | ||
) |
Changes the sceneobject's identification number (should be unique among objects in the currently-running composition).
Definition at line 1569 of file VuoSceneObject.cc.
void VuoSceneObject_setMesh | ( | VuoSceneObject | object, |
VuoMesh | mesh | ||
) |
Changes the sceneobject's mesh.
Definition at line 1618 of file VuoSceneObject.cc.
void VuoSceneObject_setName | ( | VuoSceneObject | object, |
VuoText | name | ||
) |
Changes the sceneobject's display name.
Definition at line 1583 of file VuoSceneObject.cc.
void VuoSceneObject_setPreservePhysicalSize | ( | VuoSceneObject | object, |
bool | shouldPreservePhysicalSize | ||
) |
Changes whether the sceneobject should use the texture's scaleFactor and the backingScaleFactor to determine the rendered size.
Definition at line 1746 of file VuoSceneObject.cc.
void VuoSceneObject_setRealSize | ( | VuoSceneObject | object, |
bool | isRealSize | ||
) |
Changes whether the sceneobject should ignore rotations and scales and be sized to match the shader's first image.
Definition at line 1731 of file VuoSceneObject.cc.
void VuoSceneObject_setScale | ( | VuoSceneObject | object, |
VuoPoint3d | scale | ||
) |
Changes the sceneobject's transform's scale.
Definition at line 1662 of file VuoSceneObject.cc.
void VuoSceneObject_setShader | ( | VuoSceneObject | object, |
VuoShader | shader | ||
) |
Changes the sceneobject's shader.
Definition at line 1676 of file VuoSceneObject.cc.
void VuoSceneObject_setText | ( | VuoSceneObject | object, |
VuoText | text | ||
) |
Changes the sceneobject's rendered text.
Definition at line 1760 of file VuoSceneObject.cc.
void VuoSceneObject_setTextFont | ( | VuoSceneObject | object, |
VuoFont | font | ||
) |
Changes the sceneobject's font for rendered text.
Definition at line 1776 of file VuoSceneObject.cc.
void VuoSceneObject_setTransform | ( | VuoSceneObject | object, |
VuoTransform | transform | ||
) |
Changes the sceneobject's transform.
Definition at line 1634 of file VuoSceneObject.cc.
void VuoSceneObject_setTranslation | ( | VuoSceneObject | object, |
VuoPoint3d | translation | ||
) |
Changes the sceneobject's transform's translation.
Definition at line 1648 of file VuoSceneObject.cc.
void VuoSceneObject_setType | ( | VuoSceneObject | object, |
VuoSceneObjectSubType | type | ||
) |
Changes the sceneobject's type.
Definition at line 1554 of file VuoSceneObject.cc.
bool VuoSceneObject_shouldPreservePhysicalSize | ( | const VuoSceneObject | object | ) |
Returns true if the sceneobject should use the texture's scaleFactor and the backingScaleFactor to determine the rendered size.
Returns false if the texture should always be rendered 1:1.
Definition at line 1255 of file VuoSceneObject.cc.
bool VuoSceneObject_shouldTextScaleWithScene | ( | const VuoSceneObject | object | ) |
Returns true if the sceneobject's text should change depending on the scene's rendering destination, or false if it should maintain its nominal size.
Definition at line 1316 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_subtract | ( | const VuoSceneObject | a, |
const VuoSceneObject | b, | ||
float | quality | ||
) |
Returns the boolean difference of a
minus b
.
Definition at line 3093 of file VuoSceneObject.cc.
void VuoSceneObject_transform | ( | VuoSceneObject | object, |
VuoTransform | transform | ||
) |
Applies a transformation to the sceneobject (combining it with its previous transform).
Definition at line 1102 of file VuoSceneObject.cc.
void VuoSceneObject_translate | ( | VuoSceneObject | object, |
VuoPoint3d | translation | ||
) |
Moves the sceneobject in 3D space.
Definition at line 1116 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_union | ( | VuoList_VuoSceneObject | objects, |
float | quality | ||
) |
Returns the union of objects
.
Definition at line 3062 of file VuoSceneObject.cc.
void VuoSceneObject_visit | ( | const VuoSceneObject | object, |
bool(^)(const VuoSceneObject currentObject, float modelviewMatrix[16]) | function | ||
) |
Applies function
to object
and its child objects, without preserving changes to objects.
If function
returns false, visiting will stop immediately (possibly before all objects have been visited).
The value modelviewMatrix
(which VuoSceneObject_visit
passes to function
) is the cumulative transformation matrix (from object
down to the currentObject
).
NULL objects in the tree are ignored (function
is not called).
Definition at line 1001 of file VuoSceneObject.cc.