beastapi/beastrenderpass.h Source File

beastrenderpass.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 
12 #ifndef BEASTRENDERPASS_H
13 #define BEASTRENDERPASS_H
14 
15 #include "beastapitypes.h"
16 
20 typedef enum {
25 
30 
35 
40 
42 
46 typedef enum {
47  ILB_BT_NO_BASIS = 0,
48  ILB_BT_SH,
49 } ILBBasisType;
50 
54 typedef enum {
59 
64 
69 
74 } ILBRNMBasis;
75 
79 typedef enum {
84 
89 
95 
99 typedef enum {
104 
109 
115 
119 typedef enum {
124 
130 
136 
137 #ifdef __cplusplus
138 extern "C" {
139 #endif // __cplusplus
140 
148  ILB_DLL_FUNCTION ILBStatus ILBCreateFullShadingPass(ILBJobHandle job,
149  ILBConstString name,
150  ILBRenderPassHandle* pass);
151 
164  ILB_DLL_FUNCTION ILBStatus ILBCreateRNMPass(ILBJobHandle job,
165  ILBConstString name,
166  ILBIlluminationMode mode,
167  int32 samples,
168  ILBRNMBasis basis,
169  ILBRenderPassHandle* pass);
170 
179  ILB_DLL_FUNCTION ILBStatus ILBCreateLightPass(ILBJobHandle job,
180  ILBConstString name,
181  ILBLightPassType type,
182  ILBRenderPassHandle* pass);
183 
212  int32 pixelFilterSize, float maxWorldDistance);
213 
227  float scale);
228 
236  ILBLightPassEntryHandle* entry);
237 
244  ILB_DLL_FUNCTION ILBStatus ILBAddLightToPass(ILBLightPassEntryHandle entry,
245  ILBLightHandle light);
246 
253  ILB_DLL_FUNCTION ILBStatus ILBAddTargetToPass(ILBLightPassEntryHandle entry,
254  ILBTargetEntityHandle target);
255 
262  ILB_DLL_FUNCTION ILBStatus ILBAddFullyBakedLight(ILBRenderPassHandle pass,
263  ILBLightHandle light);
264 
272  ILB_DLL_FUNCTION ILBStatus ILBCreateNormalPass(ILBJobHandle job,
273  ILBConstString name,
274  ILBRenderPassHandle* pass);
275 
286  ILBConstString name,
287  float maxDistance,
288  float coneAngle,
289  ILBRenderPassHandle* pass);
290 
299  ILB_DLL_FUNCTION ILBStatus ILBSetAOAdaptive(ILBRenderPassHandle pass,
300  float accuracy,
301  float smooth);
302 
311  ILB_DLL_FUNCTION ILBStatus ILBSetAONumRays(ILBRenderPassHandle pass,
312  int32 minRay,
313  int32 maxRay);
314 
322  ILB_DLL_FUNCTION ILBStatus ILBSetAOContrast(ILBRenderPassHandle pass,
323  float contrast,
324  float scale);
325 
333 
341  ILBAOSelfOcclusion selfOcclusion);
342 
352 
353 
363  ILB_DLL_FUNCTION ILBStatus ILBCreateIlluminationPass(ILBJobHandle job,
364  ILBConstString name,
365  ILBIlluminationMode mode,
366  ILBRenderPassHandle* pass);
367 
377  ILB_DLL_FUNCTION ILBStatus ILBCreateIlluminationPassSH(ILBJobHandle job,
378  ILBConstString name,
379  ILBIlluminationMode mode,
380  ILBRenderPassHandle* pass);
381 
390  ILB_DLL_FUNCTION ILBStatus ILBCreateLuaPass(ILBJobHandle job,
391  ILBConstString name,
392  ILBConstString scriptFile,
393  ILBRenderPassHandle* pass);
394 
402  float val);
403 
414  ILB_DLL_FUNCTION ILBStatus ILBSetAllowNegative(ILBRenderPassHandle pass,
415  ILBRNMAllowNegative allow);
416 
423 
430 
438  ILB_DLL_FUNCTION ILBStatus ILBNormalizeTextures(ILBRenderPassHandle pass,
439  bool perChannel);
440 
448  float scale);
449 
457  float scale);
458 
466  const ILBVec3* basisVector);
467 
468 #ifdef __cplusplus
469 } // extern "C"
470 #endif // __cplusplus
471 
472 #endif//BEASTRENDERPASS_H
Only indirect illumination (no direct illumination)
Definition: beastrenderpass.h:29
ILBStatus ILBSetAOSelfOcclusion(ILBRenderPassHandle pass, ILBAOSelfOcclusion selfOcclusion)
Sets how the AO pass should react to self occlusion.
ILBStatus ILBCreateLuaPass(ILBJobHandle job, ILBConstString name, ILBConstString scriptFile, ILBRenderPassHandle *pass)
Creates a LUA pass.
ILBBasisType
Basis type.
Definition: beastrenderpass.h:46
Only direct illumination (no indirect illumination)
Definition: beastrenderpass.h:24
This header is the base for getting platform consistent types for the Beast API.
ILBLightPassType
Light Pass Type.
Definition: beastrenderpass.h:119
const ILBCharType * ILBConstString
Beast api const string type.
Definition: beastapitypes.h:245
Handle for Beast jobs Intentionally hidden implementation.
Definition: beastapitypes.h:457
Self Occluded rays will continue beyond the originating object.
Definition: beastrenderpass.h:103
ILBStatus ILBCreateAmbientOcclusionPass(ILBJobHandle job, ILBConstString name, float maxDistance, float coneAngle, ILBRenderPassHandle *pass)
Creates an Ambient Occlusion render pass.
Stores both direct+indirect and indirect separately.
Definition: beastrenderpass.h:39
ILBStatus ILBCreateIlluminationPass(ILBJobHandle job, ILBConstString name, ILBIlluminationMode mode, ILBRenderPassHandle *pass)
Creates an Illumination render pass.
Half-Life 2 compatible basis.
Definition: beastrenderpass.h:58
ILBStatus ILBAddLightToPass(ILBLightPassEntryHandle entry, ILBLightHandle light)
Add a light to a light pass.
ILBStatus ILBEnableSignedDistanceField(ILBRenderPassHandle pass, int32 pixelFilterSize, float maxWorldDistance)
No support in physical rendering.
Unreal Engine 3 compatible basis.
Definition: beastrenderpass.h:63
ILBStatus ILBSetAOAdaptive(ILBRenderPassHandle pass, float accuracy, float smooth)
No support in physical rendering.
ILBStatus ILBCreateFullShadingPass(ILBJobHandle job, ILBConstString name, ILBRenderPassHandle *pass)
Creates a Full Shading render pass.
Both direct and indirect illumination.
Definition: beastrenderpass.h:34
ILBStatus ILBSetNondirectionalScale(ILBRenderPassHandle pass, float scale)
Scales the nondirectional influence of materials.
ILBStatus ILBSetLambertianClamp(ILBRenderPassHandle pass, float val)
Enable lambertian clamp on an RNM pass.
ILBStatus ILBNormalizeTextures(ILBRenderPassHandle pass, bool perChannel)
Normalizes the texture values to the 0..1 range.
Allows the user to enter the basis vectors manually.
Definition: beastrenderpass.h:73
Stores the full shading in the light map.
Definition: beastrenderpass.h:134
Allows negative RNM values.
Definition: beastrenderpass.h:83
ILBStatus ILBAddTargetToPass(ILBLightPassEntryHandle entry, ILBTargetEntityHandle target)
Add an affected target entity to a light pass.
Objects can self occlude.
Definition: beastrenderpass.h:113
ILBStatus ILBAddCustomBasisVector(ILBRenderPassHandle pass, const ILBVec3 *basisVector)
Adds a custom basis vector to be used with ILB_RB_CUSTOM.
ILBRNMAllowNegative
Allow Negative.
Definition: beastrenderpass.h:79
As ILB_AN_DISALLOW, and also culls lights below the horizon of each triangle.
Definition: beastrenderpass.h:93
ILBStatus ILBAddFullyBakedLight(ILBRenderPassHandle pass, ILBLightHandle light)
Add a light to be fully baked to a FullAndIndirectIllumination Pass.
Three dimensional geometric vector type.
Definition: beastapitypes.h:320
Stores the incoming light in the light map.
Definition: beastrenderpass.h:123
Unreal Engine 3 basis in untouched order.
Definition: beastrenderpass.h:68
ILBStatus ILBSetAOContrast(ILBRenderPassHandle pass, float contrast, float scale)
Sets the contrast and scale of an AO pass.
ILBStatus ILBSetResolutionScale(ILBRenderPassHandle pass, float scale)
Scales the resolution on all texture targets for the pass.
Handle for Beast render pass Intentionally hidden implementation.
Definition: beastapitypes.h:501
Handle for Light pass entry Intentionally hidden implementation.
Definition: beastapitypes.h:508
ILBStatus ILBSetAOUniformSampling(ILBRenderPassHandle pass)
Enables Uniform Sampling on an AO pass.
ILBStatus ILBCreateLightPass(ILBJobHandle job, ILBConstString name, ILBLightPassType type, ILBRenderPassHandle *pass)
Creates a Light render pass.
Self Occluded rays will be set to the environment.
Definition: beastrenderpass.h:108
ILBStatus ILBCreateIlluminationPassSH(ILBJobHandle job, ILBConstString name, ILBIlluminationMode mode, ILBRenderPassHandle *pass)
Creates an Illumination render pass with sh output.
ILBStatus ILBEnableAOBentNormals(ILBRenderPassHandle pass)
No support in physical rendering.
ILBIlluminationMode
Illumination Modes.
Definition: beastrenderpass.h:20
ILBStatus ILBCreateNormalPass(ILBJobHandle job, ILBConstString name, ILBRenderPassHandle *pass)
Creates a Normal render pass.
ILBAOSelfOcclusion
Self Occlusion Mode.
Definition: beastrenderpass.h:99
Handle for Beast target entities Intentionally hidden implementation.
Definition: beastapitypes.h:493
Stores the shadow mask.
Definition: beastrenderpass.h:129
Handle for Beast light sources Intentionally hidden implementation.
Definition: beastapitypes.h:436
Clamps negative RNM values to 0.
Definition: beastrenderpass.h:88
ILBRNMBasis
RNM Basis.
Definition: beastrenderpass.h:54
ILBStatus ILBCreateLightPassEntry(ILBRenderPassHandle pass, ILBLightPassEntryHandle *entry)
Creates a Light Pass Entry.
ILBStatus ILBCreateRNMPass(ILBJobHandle job, ILBConstString name, ILBIlluminationMode mode, int32 samples, ILBRNMBasis basis, ILBRenderPassHandle *pass)
Creates an RNM render pass.
ILBStatus ILBSetLambertianScale(ILBRenderPassHandle pass, float scale)
Sets the lambertian scale on a light pass.
ILBStatus ILBSetAONumRays(ILBRenderPassHandle pass, int32 minRay, int32 maxRay)
No support in physical rendering.
ILBStatus ILBIncludeNormalComponent(ILBRenderPassHandle pass)
Enables inclusion of a normal component in the RNM pass.
ILBStatus
Status codes for Beast API calls.
Definition: beastapitypes.h:153
ILBStatus ILBSetAllowNegative(ILBRenderPassHandle pass, ILBRNMAllowNegative allow)
Determines how the RNM pass handles light contributions that come from below the plane of the surface...
ILBStatus ILBRNMMatchNormalIntensity(ILBRenderPassHandle pass)
Scales the RNM values to the amplitude of the normal component.