#include <SimplygonSDK.h>
Settings for the ImpostorProccessor
Definition at line 20113 of file SimplygonSDK.h.
◆ GetBillboardAllowConvexPolygons()
virtual bool SimplygonSDK::IFoliageSettings::GetBillboardAllowConvexPolygons |
( |
| ) |
|
|
pure virtual |
Determines if billboards are limited to being planes or allowed to be more complex polygons that follow the shape of the projected geometry.
- Returns
- the current value
◆ GetBillboardDensity()
virtual float SimplygonSDK::IFoliageSettings::GetBillboardDensity |
( |
| ) |
|
|
pure virtual |
Determines how many billboards to create. A large BillboardDensity means that more billboards will be created to represent spatially spread out triangles better. Having a low BillboardDensity means that fewer billboards will be created and the distances from original leaves to billboards will get larger. The range is 0->1.
- Returns
- the current value
◆ GetBillboardFavorVerticalPlanes()
virtual bool SimplygonSDK::IFoliageSettings::GetBillboardFavorVerticalPlanes |
( |
| ) |
|
|
pure virtual |
Determines whether to prioritize generating vertical billboards which means they will be optimized to be viewed from the side. Otherwise, if the foliage in the input scene is mostly facing upwards/downwards then the generated billboards will also be facing upwards/downwards which makes them not well suited to being viewed from the side.
- Returns
- the current value
◆ GetBillboardMaxPlaneCount()
virtual unsigned int SimplygonSDK::IFoliageSettings::GetBillboardMaxPlaneCount |
( |
| ) |
|
|
pure virtual |
Determines the maximum billboard count. When this criteria is met, it is not guaranteed that all triangles in the scene have been accurately mapped to a billboard yet. Triangles that have nor been mapped to a billboard within the BillboardMaxDeviation distance will be mapped to an existing billboard that best represents the triangle.
- Returns
- the current value
◆ GetBillboardSubdividePlanes()
virtual bool SimplygonSDK::IFoliageSettings::GetBillboardSubdividePlanes |
( |
| ) |
|
|
pure virtual |
If a billboard has multiple disjointed groups of foliage projected onto it with spaces between, BillboardSubdividePlanes can be used to split the billboard into multiple billboards that better encapsulates the projected foliage groups. Subdividing the billboards will increase triangle count for the billboards, but increase useful texture usage (less wasted space) and decrease rendering overdraw.
- Returns
- the current value
◆ GetBillboardTrunkReductionRatio()
virtual float SimplygonSDK::IFoliageSettings::GetBillboardTrunkReductionRatio |
( |
| ) |
|
|
pure virtual |
Determines the triangle reduction ratio for the trunk part that has been separated from the foliage part based on the "separate foliage" settings.
- Returns
- the current value
◆ GetBillboardTwoSided()
virtual bool SimplygonSDK::IFoliageSettings::GetBillboardTwoSided |
( |
| ) |
|
|
pure virtual |
Determines if the foliage is intended to be viewed from both sides without back face culling.
- Returns
- the current value
◆ GetBillboardUseVisibilityWeights()
virtual bool SimplygonSDK::IFoliageSettings::GetBillboardUseVisibilityWeights |
( |
| ) |
|
|
pure virtual |
Determines whether to prioritize accurately mapping triangles with higher visibility to billboards.
- Returns
- the current value
◆ GetClass()
virtual const char* SimplygonSDK::IFoliageSettings::GetClass |
( |
| ) |
|
|
virtual |
GetClass returns the name of the class of the object.
- Returns
- the name of the actual class of the object, as a const char string
Reimplemented from SimplygonSDK::ISettingsObject.
◆ GetFlipbookNumberOfViews()
virtual unsigned int SimplygonSDK::IFoliageSettings::GetFlipbookNumberOfViews |
( |
| ) |
|
|
pure virtual |
Determines the number of views generated for the flip book impostor.
- Returns
- the current value
◆ GetFlipbookVerticalAngleInRadians()
virtual float SimplygonSDK::IFoliageSettings::GetFlipbookVerticalAngleInRadians |
( |
| ) |
|
|
pure virtual |
Determines the vertical angle of the views to generate for the flip book impostor. 0 radians: Looking horizontally at the scene. pi/2 radians: Looking at the scene from above. -pi/2 radians: Looking at the scene from below.
- Returns
- the current value
◆ GetFoliageType()
virtual unsigned int SimplygonSDK::IFoliageSettings::GetFoliageType |
( |
| ) |
|
|
pure virtual |
Determines which type of Foliage impostor to generate. SG_FOLIAGETYPE_BILLBOARDS generates a static mesh with billboards. SG_FOLIAGETYPE_FLIPBOOK generates a mapping image representing a number of views around the scene.
- Returns
- the current SG_FOLIAGETYPE_[...] value
◆ GetSeparateFoliageAreaThreshold()
virtual real SimplygonSDK::IFoliageSettings::GetSeparateFoliageAreaThreshold |
( |
| ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the surface area is below (SeparateFoliageAreaThreshold * AreaOfTheLargestGroupInTheScene) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum surface area means everything will be foliage.
- Returns
- the current value
◆ GetSeparateFoliageSizeThreshold()
virtual real SimplygonSDK::IFoliageSettings::GetSeparateFoliageSizeThreshold |
( |
| ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the diameter of the group is below (SeparateFoliageSizeThreshold * SceneDiameter) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the scene's diameter means everything will be foliage.
- Returns
- the current value
◆ GetSeparateFoliageTriangleRatio()
virtual float SimplygonSDK::IFoliageSettings::GetSeparateFoliageTriangleRatio |
( |
| ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by comparing each group of connected triangles in the scene with the scene's largest group. If a group's triangle count is below SeparateFoliageTriangleRatio * largestGrouptriangleCount it is treated as foliage and processed into billboards. The trunk is optimized using triangle reduction. The range is 0.0->1.0. 0.0 means nothing will be foliage, 1.0 means everything will be foliage.
- Returns
- the current value
◆ GetSeparateFoliageTriangleThreshold()
virtual unsigned int SimplygonSDK::IFoliageSettings::GetSeparateFoliageTriangleThreshold |
( |
| ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the triangle count is below SeparateFoliageTriangleThreshold it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum triangle count means everything will be foliage.
- Returns
- the current value
◆ IsA()
virtual bool SimplygonSDK::IFoliageSettings::IsA |
( |
const char * |
type | ) |
const |
|
virtual |
The IsA function returns true if the object is a or is a descendant of the class named as the type parameter
- Parameters
-
type | is the name of the class to check if the object is, or is a descendant of |
- Returns
- true if the object is of the specified class, false if not
Reimplemented from SimplygonSDK::ISettingsObject.
◆ IsClassA()
static bool SimplygonSDK::IFoliageSettings::IsClassA |
( |
const char * |
type | ) |
|
|
inlinestatic |
The IsClassA function returns true if IFoliageSettings is a or is a descendant of the class named as the type parameter
- Parameters
-
type | is the name of the class to check if the class is, or is a descendant of |
- Returns
- true if the class is of the specified class, false if not
Definition at line 20134 of file SimplygonSDK.h.
◆ SafeCast()
SafeCast makes sure the pointer is of a class that can be cast into a IFoliageSettings pointer, and if this is possible, returns the cast pointer.
- Parameters
-
- Returns
- a pointer to the IFoliageSettings object, if the cast can be made, and a NULL pointer otherwise
Definition at line 20147 of file SimplygonSDK.h.
◆ SetBillboardAllowConvexPolygons()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardAllowConvexPolygons |
( |
bool |
value | ) |
|
|
pure virtual |
Determines if billboards are limited to being planes or allowed to be more complex polygons that follow the shape of the projected geometry.
- Parameters
-
◆ SetBillboardDensity()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardDensity |
( |
float |
value | ) |
|
|
pure virtual |
Determines how many billboards to create. A large BillboardDensity means that more billboards will be created to represent spatially spread out triangles better. Having a low BillboardDensity means that fewer billboards will be created and the distances from original leaves to billboards will get larger. The range is 0->1.
- Parameters
-
◆ SetBillboardFavorVerticalPlanes()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardFavorVerticalPlanes |
( |
bool |
value | ) |
|
|
pure virtual |
Determines whether to prioritize generating vertical billboards which means they will be optimized to be viewed from the side. Otherwise, if the foliage in the input scene is mostly facing upwards/downwards then the generated billboards will also be facing upwards/downwards which makes them not well suited to being viewed from the side.
- Parameters
-
◆ SetBillboardMaxPlaneCount()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardMaxPlaneCount |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Determines the maximum billboard count. When this criteria is met, it is not guaranteed that all triangles in the scene have been accurately mapped to a billboard yet. Triangles that have nor been mapped to a billboard within the BillboardMaxDeviation distance will be mapped to an existing billboard that best represents the triangle.
- Parameters
-
◆ SetBillboardSubdividePlanes()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardSubdividePlanes |
( |
bool |
value | ) |
|
|
pure virtual |
If a billboard has multiple disjointed groups of foliage projected onto it with spaces between, BillboardSubdividePlanes can be used to split the billboard into multiple billboards that better encapsulates the projected foliage groups. Subdividing the billboards will increase triangle count for the billboards, but increase useful texture usage (less wasted space) and decrease rendering overdraw.
- Parameters
-
◆ SetBillboardTrunkReductionRatio()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardTrunkReductionRatio |
( |
float |
value | ) |
|
|
pure virtual |
Determines the triangle reduction ratio for the trunk part that has been separated from the foliage part based on the "separate foliage" settings.
- Parameters
-
◆ SetBillboardTwoSided()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardTwoSided |
( |
bool |
value | ) |
|
|
pure virtual |
Determines if the foliage is intended to be viewed from both sides without back face culling.
- Parameters
-
◆ SetBillboardUseVisibilityWeights()
virtual void SimplygonSDK::IFoliageSettings::SetBillboardUseVisibilityWeights |
( |
bool |
value | ) |
|
|
pure virtual |
Determines whether to prioritize accurately mapping triangles with higher visibility to billboards.
- Parameters
-
◆ SetFlipbookNumberOfViews()
virtual void SimplygonSDK::IFoliageSettings::SetFlipbookNumberOfViews |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Determines the number of views generated for the flip book impostor.
- Parameters
-
◆ SetFlipbookVerticalAngleInRadians()
virtual void SimplygonSDK::IFoliageSettings::SetFlipbookVerticalAngleInRadians |
( |
float |
value | ) |
|
|
pure virtual |
Determines the vertical angle of the views to generate for the flip book impostor. 0 radians: Looking horizontally at the scene. pi/2 radians: Looking at the scene from above. -pi/2 radians: Looking at the scene from below.
- Parameters
-
◆ SetFoliageType()
virtual void SimplygonSDK::IFoliageSettings::SetFoliageType |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Determines which type of Foliage impostor to generate. SG_FOLIAGETYPE_BILLBOARDS generates a static mesh with billboards. SG_FOLIAGETYPE_FLIPBOOK generates a mapping image representing a number of views around the scene.
- Parameters
-
value | is the SG_FOLIAGETYPE_[...] value |
◆ SetSeparateFoliageAreaThreshold()
virtual void SimplygonSDK::IFoliageSettings::SetSeparateFoliageAreaThreshold |
( |
real |
value | ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the surface area is below (SeparateFoliageAreaThreshold * AreaOfTheLargestGroupInTheScene) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum surface area means everything will be foliage.
- Parameters
-
◆ SetSeparateFoliageSizeThreshold()
virtual void SimplygonSDK::IFoliageSettings::SetSeparateFoliageSizeThreshold |
( |
real |
value | ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the diameter of the group is below (SeparateFoliageSizeThreshold * SceneDiameter) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the scene's diameter means everything will be foliage.
- Parameters
-
◆ SetSeparateFoliageTriangleRatio()
virtual void SimplygonSDK::IFoliageSettings::SetSeparateFoliageTriangleRatio |
( |
float |
value | ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by comparing each group of connected triangles in the scene with the scene's largest group. If a group's triangle count is below SeparateFoliageTriangleRatio * largestGrouptriangleCount it is treated as foliage and processed into billboards. The trunk is optimized using triangle reduction. The range is 0.0->1.0. 0.0 means nothing will be foliage, 1.0 means everything will be foliage.
- Parameters
-
◆ SetSeparateFoliageTriangleThreshold()
virtual void SimplygonSDK::IFoliageSettings::SetSeparateFoliageTriangleThreshold |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the triangle count is below SeparateFoliageTriangleThreshold it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum triangle count means everything will be foliage.
- Parameters
-
The documentation for this class was generated from the following file: