Vuo  1.2.8
Classes | Typedefs | Enumerations | Functions
VuoSceneObject

Description

A 3D Object: visible (mesh), or virtual (group, light, camera).

Classes

struct  VuoSceneObject
 A 3D Object: visible (mesh), or virtual (group, light, camera). More...
 

Typedefs

typedef struct VuoSceneObject 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...
 
VuoReal VuoReal_makeFromJson (json_object *js)
 Decodes the JSON object js to create a new value. 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...
 
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_make (VuoMesh mesh, VuoShader shader, VuoTransform transform, VuoList_VuoSceneObject childObjects)
 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 width, VuoReal alpha)
 Returns an unlit scene object with the specified image. More...
 
VuoSceneObject VuoSceneObject_makeLitImage (VuoImage image, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, 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_makeText (VuoText text, VuoFont font)
 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)
 Searches the scenegraph (depth-first) for a scene object with the given name. More...
 
bool VuoSceneObject_findCamera (VuoSceneObject so, VuoText nameToMatch, VuoSceneObject *foundCamera)
 Performs a depth-first search of the scenegraph. More...
 
bool VuoSceneObject_isPopulated (VuoSceneObject so)
 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. 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_setFaceCullingMode (VuoSceneObject *object, unsigned int faceCullingMode)
 Sets the faceCullingMode on object and its child objects. More...
 
void VuoSceneObject_setBlendMode (VuoSceneObject *object, VuoBlendMode blendMode)
 Sets the blendMode on object and its child objects. More...
 
VuoSceneObject VuoSceneObject_copy (const VuoSceneObject object)
 Makes a deep copy of object. More...
 
VuoSceneObject VuoSceneObject_makeFromJson (struct json_object *js)
 
Decodes the JSON object js to create a new value. More...
 
struct json_objectVuoSceneObject_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_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_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, bool calculateTangents)
 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...
 

Class Documentation

◆ VuoSceneObject

struct VuoSceneObject
Class Members
VuoBlendMode blendMode
float cameraConfocalDistance Distance from camera to stereoscopic confocal plane.
float cameraDistanceMax Distance from camera to far clip plane.
float cameraDistanceMin Distance from camera to near clip plane.
float cameraFieldOfView Perspective and fisheye FOV, in degrees.
float cameraIntraocularDistance Distance between the stereoscopic camera pair.
float cameraVignetteSharpness Fisheye only. Distance that the vignette gradient covers.
float cameraVignetteWidth Fisheye only. Distance from the center of the viewport to the center of the vignette.
float cameraWidth Orthographic width, in scene coordinates.
VuoList_VuoSceneObject childObjects
VuoFont font
bool isRealSize If the object is real-size, it ignores rotations and scales, and is sized to match the shader's first image.
float lightBrightness
VuoColor lightColor
float lightCone Size (in radians) of the light's cone. Affects spotlights.
float lightRange Distance (in local coordinates) the light reaches. Affects point lights and spotlights.
float lightSharpness Sharpness of the light's distance/cone falloff. 0 means the light starts fading at distance/angle 0 and ends at 2*lightRange or 2*lightCone. 1 means the falloff is instant.
VuoMesh mesh
VuoText name
bool preservePhysicalSize Only used if isRealSize=true. If preservePhysicalSize=true, uses the texture's scaleFactor and the backingScaleFactor to determine the rendered size. If preservePhysicalSize=false, the texture is always rendered 1:1.
VuoShader shader
VuoText text
VuoTransform transform
VuoSceneObjectSubType type

Typedef Documentation

◆ VuoSceneObject

A 3D Object: visible (mesh), or virtual (group, light, camera).

Enumeration Type Documentation

◆ VuoSceneObjectSubType

How this scene object should be rendered or how it should affect other scene objects.

Function Documentation

◆ VuoReal_makeFromJson()

VuoReal VuoReal_makeFromJson ( json_object js)

Decodes the JSON object js to create a new value.

◆ VuoSceneObject_apply()

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).

◆ VuoSceneObject_bounds()

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.

◆ VuoSceneObject_center()

void VuoSceneObject_center ( VuoSceneObject so)

Make the bounds center of all vertices == {0,0,0}.

◆ VuoSceneObject_copy()

VuoSceneObject VuoSceneObject_copy ( const VuoSceneObject  object)

Makes a deep copy of object.

Each mesh is copied (see VuoMesh_copy), and each child object is copied.

You can change attributes on the copy without affecting the original.

Todo:
The shaders are not copied, so changes to the copy's shaders will affect both the original and the copy.

◆ VuoSceneObject_dump()

void VuoSceneObject_dump ( const VuoSceneObject  so)

Outputs information about the sceneobject (and its descendants).

◆ VuoSceneObject_find()

bool VuoSceneObject_find ( VuoSceneObject  so,
VuoText  nameToMatch,
VuoList_VuoSceneObject  ancestorObjects,
VuoSceneObject foundObject 
)

Searches the scenegraph (depth-first) for a scene object with the given name.

Parameters
soThe root object of the scenegraph to search.
nameToMatchThe name to search for.
[out]ancestorObjectsThe ancestors of foundObject, starting with the root of the scenegraph.
[out]foundObjectThe first matching scene object found.
Returns
True if a matching scene object was found.

◆ VuoSceneObject_findCamera()

bool VuoSceneObject_findCamera ( VuoSceneObject  so,
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.

◆ VuoSceneObject_findLights()

void VuoSceneObject_findLights ( VuoSceneObject  so,
VuoColor ambientColor,
float *  ambientBrightness,
VuoList_VuoSceneObject pointLights,
VuoList_VuoSceneObject spotLights 
)

Finds and returns all the lights in the scene.

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.

◆ VuoSceneObject_flatten()

VuoSceneObject VuoSceneObject_flatten ( const VuoSceneObject  so,
bool  calculateTangents 
)

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.

◆ VuoSceneObject_get()

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.

Todo:
load and blend multiple diffuse textures

◆ VuoSceneObject_getJson()

struct json_object* VuoSceneObject_getJson ( const VuoSceneObject  value)

Encodes value as a JSON object.

◆ VuoSceneObject_getStatistics()

void VuoSceneObject_getStatistics ( const VuoSceneObject  value,
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.

◆ VuoSceneObject_getString()

char* VuoSceneObject_getString ( const VuoSceneObject  value)

Automatically generated function.

◆ VuoSceneObject_getSummary()

char* VuoSceneObject_getSummary ( const VuoSceneObject  value)

Produces a brief human-readable summary of value.

◆ VuoSceneObject_getVertexCount()

unsigned long VuoSceneObject_getVertexCount ( const VuoSceneObject  value)

Returns the total number of vertices in the scene object (but not its descendants).

◆ VuoSceneObject_intersect()

VuoSceneObject VuoSceneObject_intersect ( VuoList_VuoSceneObject  objects,
float  quality 
)

Returns the intersection of objects.

◆ VuoSceneObject_isPopulated()

bool VuoSceneObject_isPopulated ( VuoSceneObject  so)

Performs a depth-first search of the scenegraph.

Returns true if the scene object or any of its children have a non-empty type.

◆ VuoSceneObject_make()

VuoSceneObject VuoSceneObject_make ( VuoMesh  mesh,
VuoShader  shader,
VuoTransform  transform,
VuoList_VuoSceneObject  childObjects 
)

Creates a visible (mesh) scene object.

◆ VuoSceneObject_makeAmbientLight()

VuoSceneObject VuoSceneObject_makeAmbientLight ( VuoColor  color,
float  brightness 
)

Returns an ambient light with the specified color and brightness (typically between 0 and 1).

◆ VuoSceneObject_makeCube()

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.

◆ VuoSceneObject_makeCube1()

VuoSceneObject VuoSceneObject_makeCube1 ( VuoTransform  transform,
VuoShader  shader 
)

Returns a cube scene object with a single shader applied to all 6 sides.

◆ VuoSceneObject_makeDefaultCamera()

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.

◆ VuoSceneObject_makeEmpty()

VuoSceneObject VuoSceneObject_makeEmpty ( void  )

Creates a new, empty scene object.

◆ VuoSceneObject_makeFisheyeCamera()

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).

◆ VuoSceneObject_makeFromJson()

VuoSceneObject VuoSceneObject_makeFromJson ( json_object js)


Decodes the JSON object js to create a new value.

Example:
{
"mesh" : ... ,
"shader" : ... ,
"isRealSize" : false,
"preservePhysicalSize" : false,
"childObjects" : ...,
"transform" : ...
}
Example:
{
"type" : "camera-perspective",
"cameraFieldOfView" : 90.0,
"cameraDistanceMin" : 0.1,
"cameraDistanceMax" : 10.0,
"name" : ...,
"transform" : ...
}

◆ VuoSceneObject_makeFromString()

VuoSceneObject VuoSceneObject_makeFromString ( const char *  str)

Automatically generated function.

◆ VuoSceneObject_makeGroup()

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.

◆ VuoSceneObject_makeImage()

VuoSceneObject VuoSceneObject_makeImage ( VuoImage  image,
VuoPoint3d  center,
VuoPoint3d  rotation,
VuoReal  width,
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.)

◆ VuoSceneObject_makeLitImage()

VuoSceneObject VuoSceneObject_makeLitImage ( VuoImage  image,
VuoPoint3d  center,
VuoPoint3d  rotation,
VuoReal  width,
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.)

◆ VuoSceneObject_makeOrthographicCamera()

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).

◆ VuoSceneObject_makePerspectiveCamera()

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).

◆ VuoSceneObject_makePointLight()

VuoSceneObject VuoSceneObject_makePointLight ( VuoColor  color,
float  brightness,
VuoPoint3d  position,
float  range,
float  sharpness 
)

Returns a point light (uniform emission in all directions).

Parameters
colorThe light's color.
brightnessThe light's brightness multiplier (typically between 0 and 1).
positionThe light's position.
rangeThe distance (in local coordinates) the light reaches.
sharpnessThe 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.

◆ VuoSceneObject_makeQuad()

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.

Parameters
shaderThe shader used to render the object.
centerThe object's center, specified in scene coordinates.
rotationThe object's rotation, specified in degrees.
widthThe object's width, specified in scene coordinates.
heightThe object's height, specified in scene coordinates.
Returns
The quad scene object.

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.)

◆ VuoSceneObject_makeQuadWithNormals()

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.

Parameters
shaderThe shader used to render the object.
centerThe object's center, specified in scene coordinates.
rotationThe object's rotation, specified in degrees.
widthThe object's width, specified in scene coordinates.
heightThe object's height, specified in scene coordinates.
Returns
The quad scene object.

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.)

◆ VuoSceneObject_makeSpotlight()

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).

Parameters
colorThe light's color.
brightnessThe light's brightness multiplier (typically between 0 and 1).
transformThe position and direction of the light. (The transform's scale is ignored.)
coneWidth (in radians) of the light's cone.
rangeThe distance (in local coordinates) the light reaches.
sharpnessThe 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.

◆ VuoSceneObject_makeStereoCamera()

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).

◆ VuoSceneObject_makeText()

VuoSceneObject VuoSceneObject_makeText ( VuoText  text,
VuoFont  font 
)

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.

◆ VuoSceneObject_meshBounds()

bool VuoSceneObject_meshBounds ( const VuoSceneObject  so,
VuoBox bounds,
float  matrix[16] 
)

Bounding box of the vertices for this SceneObject (taking into account transform).

◆ VuoSceneObject_normalize()

void VuoSceneObject_normalize ( VuoSceneObject so)

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.

◆ VuoSceneObject_release()

void VuoSceneObject_release ( VuoSceneObject  value)

Automatically generated function.

◆ VuoSceneObject_retain()

void VuoSceneObject_retain ( VuoSceneObject  value)

Automatically generated function.

◆ VuoSceneObject_setBlendMode()

void VuoSceneObject_setBlendMode ( VuoSceneObject object,
VuoBlendMode  blendMode 
)

◆ VuoSceneObject_setFaceCullingMode()

void VuoSceneObject_setFaceCullingMode ( VuoSceneObject object,
unsigned int  faceCullingMode 
)

Sets the faceCullingMode on object and its child objects.

faceCullingMode can be GL_NONE (show both front and back faces), GL_BACK (show only front faces), or GL_FRONT (show only back faces).

◆ VuoSceneObject_subtract()

VuoSceneObject VuoSceneObject_subtract ( const VuoSceneObject  a,
const VuoSceneObject  b,
float  quality 
)

Returns the boolean difference of a minus b.

◆ VuoSceneObject_union()

VuoSceneObject VuoSceneObject_union ( VuoList_VuoSceneObject  objects,
float  quality 
)

Returns the union of objects.

◆ VuoSceneObject_visit()

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).