beastapi/beastinstance.h Source File

beastinstance.h
Go to the documentation of this file.
1 /*
2 Copyright 2014 Autodesk, Inc. All rights reserved.
3 Use of this software is subject to the terms of the Autodesk license agreement
4 provided at the time of installation or download, or which otherwise
5 accompanies this software in either electronic or hard copy form.
6 */
7 
8 
12 #ifndef BEASTINSTANCE_H
13 #define BEASTINSTANCE_H
14 
15 #include "beastapitypes.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif // __cplusplus
20 
23  typedef enum {
30  ILB_RS_VISIBLE_FOR_EYE = 0x00000001,
31 
37 
43 
48  ILB_RS_VISIBLE_FOR_GI = 0x00000008,
49 
54  ILB_RS_CAST_SHADOWS = 0x00000010,
55 
60  ILB_RS_RECEIVE_SHADOWS = 0x00000020,
61 
68  ILB_RS_CAST_GI = 0x00000040,
69 
75  ILB_RS_RECEIVE_GI = 0x00000080,
76 
82  ILB_RS_CAST_OCCLUSION = 0x00000100,
83 
90 
97  ILB_RS_DOUBLE_SIDED = 0x00000400,
98 
104  ILB_RS_OPPOSITE = 0x00000800,
105 
110  ILB_RS_SELF_OCCLUSION = 0x00001000,
111 
117  ILB_RS_SHADOW_BIAS = 0x00002000,
118 
120  ILB_RS_RESERVED_1 = 0x00004000,
122 
129 
136 
143 
150 
151  } ILBRenderStats;
152 
156  typedef enum {
166 
172  typedef uint32 ILBRenderStatsMask;
173 
183  ILB_DLL_FUNCTION ILBStatus ILBCreateInstance(ILBSceneHandle scene,
184  ILBMeshHandle mesh,
185  ILBConstString name,
186  const ILBMatrix4x4* transform,
187  ILBInstanceHandle* instance);
188 
195  ILB_DLL_FUNCTION ILBStatus ILBSetInstanceTransform(ILBInstanceHandle instance,
196  const ILBMatrix4x4* transform);
197 
206  const ILBMatrix4x4* transforms,
207  int32 count);
208 
218  ILB_DLL_FUNCTION ILBStatus ILBSetRenderStats(ILBInstanceHandle instance,
219  ILBRenderStatsMask stats,
220  ILBRenderStatOperation operation);
221 
228  ILB_DLL_FUNCTION ILBStatus ILBSetInstanceMesh(ILBInstanceHandle instance,
229  ILBMeshHandle mesh);
230 
240  ILB_DLL_FUNCTION ILBStatus ILBAddInstanceLightLinks(ILBInstanceHandle instance,
241  ILBLightLinkMode mode,
242  const ILBLightHandle* lightSources,
243  int32 count);
244 
259  ILB_DLL_FUNCTION ILBStatus ILBSetMaterialOverrides(ILBInstanceHandle instance,
260  ILBMaterialHandle* materials,
261  int32 materialCount);
275  ILB_DLL_FUNCTION ILBStatus ILBAddLODInstance(ILBInstanceHandle lowRes,
276  ILBInstanceHandle highRes);
277 
286  ILB_DLL_FUNCTION ILBStatus ILBSetInstanceDisplayName(ILBInstanceHandle instance,
287  ILBConstString displayName);
288 
296  ILB_DLL_FUNCTION ILBStatus ILBDeleteInstance(ILBInstanceHandle instance);
297 
298 #ifdef __cplusplus
299 }
300 #endif // __cplusplus
301 
302 
303 #endif / / BEASTINSTANCE_H
ILBStatus ILBSetInstanceDisplayName(ILBInstanceHandle instance, ILBConstString displayName)
Sets the display name for the instance.
Controls whether the object is receiving any GI.
Definition: beastinstance.h:75
Only applies when single sided.
Definition: beastinstance.h:104
Controls whether the object cast shadows on itself.
Definition: beastinstance.h:110
This header is the base for getting platform consistent types for the Beast API.
ILBStatus ILBSetInstanceMesh(ILBInstanceHandle instance, ILBMeshHandle mesh)
Change the mesh of an instance.
const ILBCharType * ILBConstString
Beast api const string type.
Definition: beastapitypes.h:245
Controls whether the object should be visible for reflection rays.
Definition: beastinstance.h:36
ILBStatus ILBDeleteInstance(ILBInstanceHandle instance)
Deletes an instance from a scene.
Controls whether the object should be single sided or double sided.
Definition: beastinstance.h:97
DEPRECATED This enum will be removed in future versions of the API.
Definition: beastinstance.h:135
Controls whether the object should be visible for refraction rays.
Definition: beastinstance.h:42
ILBStatus ILBSetMaterialOverrides(ILBInstanceHandle instance, ILBMaterialHandle *materials, int32 materialCount)
Overrides materials for this instance.
ILBStatus ILBSetInstanceTransform(ILBInstanceHandle instance, const ILBMatrix4x4 *transform)
Sets the transform for an instance.
ILBStatus ILBAddInstanceLightLinks(ILBInstanceHandle instance, ILBLightLinkMode mode, const ILBLightHandle *lightSources, int32 count)
Adds an object centric light link list.
Handle for Beast meshes Intentionally hidden implementation.
Sets the render stats supplied to true.
Definition: beastinstance.h:164
DEPRECATED This enum will be removed in future versions of the API.
Definition: beastinstance.h:128
ILBStatus ILBSetRenderStats(ILBInstanceHandle instance, ILBRenderStatsMask stats, ILBRenderStatOperation operation)
Sets render stats on an instance.
Matrix for transformations.
Definition: beastapitypes.h:383
ILBStatus ILBAddLODInstance(ILBInstanceHandle lowRes, ILBInstanceHandle highRes)
Connects two meshes so one acts as a high resolution instances and one as a lod.
Handle for Beast instance Intentionally hidden implementation.
Definition: beastapitypes.h:422
If this is set to false, the object is black for GI purposes.
Definition: beastinstance.h:68
If enabled shadow rays will be biased in order to get smooth shadows on smoothed meshes.
Definition: beastinstance.h:117
Controls whether the object should cast shadows.
Definition: beastinstance.h:54
ILBRenderStats
Beast render stats.
Definition: beastinstance.h:23
Handle for Beast materials Intentionally hidden implementation.
Definition: beastapitypes.h:443
Controls whether the object should be visible for global illumination rays.
Definition: beastinstance.h:48
ILBLightLinkMode
Enum defining if a light link is inclusive or exclusive.
Definition: beastapitypes.h:540
Controls whether the object is an occluder when rendering ambient occlusion.
Definition: beastinstance.h:82
DEPRECATED This enum will be removed in future versions of the API.
Definition: beastinstance.h:149
Controls whether the object is receiving any occlusion when rendering ambient occlusion.
Definition: beastinstance.h:89
Handle for Beast light sources Intentionally hidden implementation.
Definition: beastapitypes.h:436
DEPRECATED This enum will be removed in future versions of the API.
Definition: beastinstance.h:142
ILBStatus ILBSetInstanceMotionTransforms(ILBInstanceHandle instance, const ILBMatrix4x4 *transforms, int32 count)
Sets the motion transforms of a motion blurred instance.
Controls whether the object should receive shadows.
Definition: beastinstance.h:60
ILBStatus ILBCreateInstance(ILBSceneHandle scene, ILBMeshHandle mesh, ILBConstString name, const ILBMatrix4x4 *transform, ILBInstanceHandle *instance)
Add an instance to the scene.
ILBRenderStatOperation
Selects if the render stats should be enabled or disabled.
Definition: beastinstance.h:156
Handle for Beast scenes Intentionally hidden implementation.
Definition: beastapitypes.h:408
ILBStatus
Status codes for Beast API calls.
Definition: beastapitypes.h:153
uint32 ILBRenderStatsMask
Type representing multiple render stats.
Definition: beastinstance.h:172
Sets the render stats supplied to false.
Definition: beastinstance.h:160
Controls whether the object should be visible for camera rays.
Definition: beastinstance.h:30