beastapi/beasttarget.h Source File

beasttarget.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 BEASTTARGET_H
13 #define BEASTTARGET_H
14 
15 #include "beastapitypes.h"
16 #include "beasttargetentity.h"
17 #include "beastjob.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif // __cplusplus
22 
26 typedef enum {
36 
40 typedef enum {
54 
58 typedef enum {
64 
71 
72 
82 ILB_DLL_FUNCTION ILBStatus ILBCreateTextureTarget(ILBJobHandle job,
83  ILBConstString name,
84  int32 width,
85  int32 height,
86  ILBTargetHandle* target);
87 
99  ILBConstString name,
100  int32 maxWidth,
101  int32 maxHeight,
102  int32 maxTextures,
103  ILBTargetHandle* target);
104 
111 ILB_DLL_FUNCTION ILBStatus ILBSetAtlasAlignment(ILBTargetHandle target,
112  int32 alignment);
113 
120 ILB_DLL_FUNCTION ILBStatus ILBSetAtlasPadding(ILBTargetHandle target,
121  int32 padding);
122 
129 ILB_DLL_FUNCTION ILBStatus ILBSetAtlasPacking(ILBTargetHandle target,
130  ILBAtlasPacking packing);
131 
139 ILB_DLL_FUNCTION ILBStatus ILBSetTargetResolution(ILBTargetHandle target,
140  int32 width, int32 height);
141 
147 ILB_DLL_FUNCTION ILBStatus ILBEnableAtlasSpatial(ILBTargetHandle target);
148 
155 ILB_DLL_FUNCTION ILBStatus ILBEnableAtlasRescale(ILBTargetHandle target);
156 
165 ILB_DLL_FUNCTION ILBStatus ILBSetAtlasRescaleFrequencyThreshold(ILBTargetHandle target, float threshold);
166 
174 ILB_DLL_FUNCTION ILBStatus ILBCreateVertexTarget(ILBJobHandle job,
175  ILBConstString name,
176  ILBTargetHandle* target);
177 
188 ILB_DLL_FUNCTION ILBStatus ILBCreateCameraTarget(ILBJobHandle job,
189  ILBConstString name,
190  ILBCameraHandle camera,
191  int32 width,
192  int32 height,
193  ILBTargetHandle* target);
194 
204  ILBCameraRenderModeType renderMode);
205 
213 ILB_DLL_FUNCTION ILBStatus ILBCreatePointCloudTarget(ILBJobHandle job,
214  ILBConstString name,
215  ILBTargetHandle* target);
216 
225 ILB_DLL_FUNCTION ILBStatus ILBCreateUVUnwrapTarget(ILBJobHandle job,
226  ILBConstString name,
227  float texelsPerUnit,
228  ILBTargetHandle* target);
229 
239 ILB_DLL_FUNCTION ILBStatus ILBSetUVUnwrapSegmentationThreshold(ILBTargetHandle target, float threshold);
240 
249 ILB_DLL_FUNCTION ILBStatus ILBSetUVUnwrapFlatness(ILBTargetHandle target, float weight);
250 
259 ILB_DLL_FUNCTION ILBStatus ILBSetUVUnwrapStraightness(ILBTargetHandle target, float weight);
260 
270 ILB_DLL_FUNCTION ILBStatus ILBSetUVUnwrapCompactness(ILBTargetHandle target, float weight);
271 
279 ILB_DLL_FUNCTION ILBStatus ILBAddBakeInstance(ILBTargetHandle target,
280  ILBInstanceHandle bakeInstance,
281  ILBTargetEntityHandle* targetEntity);
282 
290 ILB_DLL_FUNCTION ILBStatus ILBAddBakePointCloud(ILBTargetHandle target,
291  ILBPointCloudHandle pointCloud,
292  ILBTargetEntityHandle* targetEntity);
293 
301 ILB_DLL_FUNCTION ILBStatus ILBAddMeshToTarget(ILBTargetHandle target,
302  ILBMeshHandle mesh,
303  ILBTargetEntityHandle* targetEntity);
304 
313 ILB_DLL_FUNCTION ILBStatus ILBGetFramebufferCount(ILBTargetHandle target,
314  int32* count);
315 
326 ILB_DLL_FUNCTION ILBStatus ILBGetFramebuffer(ILBTargetHandle target,
327  ILBRenderPassHandle pass,
328  int32 index,
329  ILBFramebufferHandle* framebuffer);
330 
341 ILB_DLL_FUNCTION ILBStatus ILBGetVertexbuffer(ILBTargetHandle target,
342  ILBRenderPassHandle pass,
343  ILBTargetEntityHandle targetEntity,
344  ILBFramebufferHandle* framebuffer);
345 
354 ILB_DLL_FUNCTION ILBStatus ILBGetUVLayerFromTarget(ILBTargetHandle target,
355  ILBTargetEntityHandle targetEntity,
356  ILBUVLayerHandle* uvLayer);
357 
368  ILBTargetEntityHandle targetEntity,
369  int32* width,
370  int32* height);
371 
378 ILB_DLL_FUNCTION ILBStatus ILBAddPassToTarget(ILBTargetHandle target,
379  ILBRenderPassHandle pass);
380 
388 
401 ILB_DLL_FUNCTION ILBStatus ILBSetWorldSpaceFilterSize(ILBTargetHandle target, ILBWorldSpaceFilterComponent component, float size);
402 
415 ILB_DLL_FUNCTION ILBStatus ILBSetWorldSpaceFilterNormalDeviation(ILBTargetHandle target, ILBWorldSpaceFilterComponent component, float normalDeviation);
416 
417 #ifdef __cplusplus
418 } // extern "C"
419 #endif // __cplusplus
420 
421 
422 #endif // BEASTTARGET_H
ILBStatus ILBCreateTextureTarget(ILBJobHandle job, ILBConstString name, int32 width, int32 height, ILBTargetHandle *target)
Adds a texture baking target to a job.
Target entities, the relationship between an instance and a bake target.
ILBStatus ILBGetFramebufferCount(ILBTargetHandle target, int32 *count)
Gets the number of framebuffers associated with this target Is only valid on targets rendering images...
Block.
Definition: beasttarget.h:34
ILBStatus ILBCreateUVUnwrapTarget(ILBJobHandle job, ILBConstString name, float texelsPerUnit, ILBTargetHandle *target)
Adds an UV unwrap target to a job.
ILBStatus ILBSetUVUnwrapFlatness(ILBTargetHandle target, float weight)
Sets a weight for the importance of having flat charts.
ILBStatus ILBEnableAtlasRescale(ILBTargetHandle target)
Enables automatic rescaling of instances in the atlas based on frequency information from the baked l...
This header is the base for getting platform consistent types for the Beast API.
Return frame buffers containing a full shaded light mapped version of the camera view I...
Definition: beasttarget.h:63
ILBWorldSpaceFilterComponent
World space filter components.
Definition: beasttarget.h:40
const ILBCharType * ILBConstString
Beast api const string type.
Definition: beastapitypes.h:245
Handle for Beast cameras Intentionally hidden implementation.
Definition: beastapitypes.h:429
Return frame buffers containing a full shaded per pixel version of the camera view I...
Definition: beasttarget.h:69
Handle for Beast jobs Intentionally hidden implementation.
Definition: beastapitypes.h:457
ILBAtlasPacking
Different types of Atlas packing strategies.
Definition: beasttarget.h:26
ILBStatus ILBSetUVUnwrapCompactness(ILBTargetHandle target, float weight)
Sets a weight for the importance of having compact (round) charts.
ILBStatus ILBCameraTargetSetRenderMode(ILBTargetHandle target, ILBCameraRenderModeType renderMode)
Dictates which camera render mode used.
ILBStatus ILBAddPassToTarget(ILBTargetHandle target, ILBRenderPassHandle pass)
Add a Render Pass to a target.
Texel.
Definition: beasttarget.h:30
Handle for Beast uv layers Intentionally hidden implementation.
Definition: beastapitypes.h:528
ILBStatus ILBGetVertexbuffer(ILBTargetHandle target, ILBRenderPassHandle pass, ILBTargetEntityHandle targetEntity, ILBFramebufferHandle *framebuffer)
Gets a framebuffer with vertex data from a target Is only valid on targets rendering vertex data and ...
ILBStatus ILBCreatePointCloudTarget(ILBJobHandle job, ILBConstString name, ILBTargetHandle *target)
Adds a point cloud target to a job.
Handle for Beast meshes Intentionally hidden implementation.
Filter only indirect component.
Definition: beasttarget.h:52
ILBStatus ILBGetFramebuffer(ILBTargetHandle target, ILBRenderPassHandle pass, int32 index, ILBFramebufferHandle *framebuffer)
Gets a framebuffer from a target Is only valid on targets rendering images and the target is done...
ILBStatus ILBAddBakeInstance(ILBTargetHandle target, ILBInstanceHandle bakeInstance, ILBTargetEntityHandle *targetEntity)
Adds an instance to bake to a texture or vertex bake target.
Handle for Beast point clouds Intentionally hidden implementation.
Definition: beastapitypes.h:515
Handle for Beast instance Intentionally hidden implementation.
Definition: beastapitypes.h:422
ILBStatus ILBSetUVUnwrapStraightness(ILBTargetHandle target, float weight)
Sets a weight for the importance of having straight chart boundaries.
ILBStatus ILBSetAtlasRescaleFrequencyThreshold(ILBTargetHandle target, float threshold)
Sets the frequency cutoff for the atlas rescale mode.
Filter everything.
Definition: beasttarget.h:44
ILBStatus ILBGetUVLayerFromTarget(ILBTargetHandle target, ILBTargetEntityHandle targetEntity, ILBUVLayerHandle *uvLayer)
Gets a uv layer from a target Only valid on UV unwrap targets and when the target is done...
ILBStatus ILBGetUVLayerResolutionFromTarget(ILBTargetHandle target, ILBTargetEntityHandle targetEntity, int32 *width, int32 *height)
Gets the resulting resolution from packing the UV layout of the unwrapped mesh Only valid on UV unwra...
Handle for Beast render pass Intentionally hidden implementation.
Definition: beastapitypes.h:501
ILBStatus ILBSetWorldSpaceFilterSize(ILBTargetHandle target, ILBWorldSpaceFilterComponent component, float size)
Set the world space filter size for a target.
ILBStatus ILBSetAtlasPacking(ILBTargetHandle target, ILBAtlasPacking packing)
Sets the packing strategy on an atlased texture target.
ILBStatus ILBEnableWorldSpaceFilter(ILBTargetHandle target, ILBWorldSpaceFilterComponent component)
Enable world space filter for a target.
ILBStatus ILBEnableAtlasSpatial(ILBTargetHandle target)
Enables packing spatially close objects into the same texture.
ILBStatus ILBSetTargetResolution(ILBTargetHandle target, int32 width, int32 height)
Changes the resolution of a texture target when running an Live Ernst job.
ILBStatus ILBSetWorldSpaceFilterNormalDeviation(ILBTargetHandle target, ILBWorldSpaceFilterComponent component, float normalDeviation)
Set the maximum allowed normal deviation for world space filtering.
ILBStatus ILBSetAtlasPadding(ILBTargetHandle target, int32 padding)
Sets the padding on an atlased texture target.
ILBCameraRenderModeType
Camera modes in Live Ernst Session.
Definition: beasttarget.h:58
ILBStatus ILBAddMeshToTarget(ILBTargetHandle target, ILBMeshHandle mesh, ILBTargetEntityHandle *targetEntity)
Adds a mesh to be unwrapped to a UV unwrap target.
Handle for Beast target entities Intentionally hidden implementation.
Definition: beastapitypes.h:493
ILBStatus ILBCreateVertexTarget(ILBJobHandle job, ILBConstString name, ILBTargetHandle *target)
Adds a vertex baking target.
ILBStatus ILBAddBakePointCloud(ILBTargetHandle target, ILBPointCloudHandle pointCloud, ILBTargetEntityHandle *targetEntity)
Adds a point cloud to bake.
ILBStatus ILBCreateAtlasedTextureTarget(ILBJobHandle job, ILBConstString name, int32 maxWidth, int32 maxHeight, int32 maxTextures, ILBTargetHandle *target)
Adds an atlased texture baking target to a job.
ILBStatus ILBCreateCameraTarget(ILBJobHandle job, ILBConstString name, ILBCameraHandle camera, int32 width, int32 height, ILBTargetHandle *target)
Adds a camera render target to a job.
The beast job function definitions.
Filter only direct component.
Definition: beasttarget.h:48
Handle for Beast framebuffers Intentionally hidden implementation.
Definition: beastapitypes.h:485
ILBStatus
Status codes for Beast API calls.
Definition: beastapitypes.h:153
Handle for Beast target specification Intentionally hidden implementation.
Definition: beastapitypes.h:478
ILBStatus ILBSetUVUnwrapSegmentationThreshold(ILBTargetHandle target, float threshold)
Sets the threshold used when segmenting the mesh into charts for unwrapping.
ILBStatus ILBSetAtlasAlignment(ILBTargetHandle target, int32 alignment)
Sets the alignment on an atlased texture target.