...
Code Block | ||||
---|---|---|---|---|
| ||||
// If we don't need to call functions such as CgeometryModifierExtension::getProxyDisplayPoints() // (i.e for display purposes) // then it is possible to define procedural geometries or object modifiers // without loading extension dynamic libraries (.mxx files) // but a MXparamList object can be created and filled with the desired parameters. Cmaxwell::Cobject mesh = pMaxwell->createMesh( ... ); // ...fill mesh parameters MXparamList* grassParams = new MXparamList( "MaxwellGrass" ); float bladesDensity = 500.0; grassParams->setFloat>createUInt( "Density", 2000, 1, 1000000000 ); grassParams->setUint( "Density", bladesDensity ); float length = 0.25; grassParams->createFloat( "Length", 10.0f, 0.f, 100000.f ); grassParams->setFloat( "LengthLenght ", length ); grassParams->createString( "Material", "" ); grassParams->setString( "Material", materialName ); //...etc.. object.applyGeometryModifierExtension( grassParams ); |
Parameters
Name | Type | Min | Max | Default | Description |
---|---|---|---|---|---|
Material | char* | -- | -- | -- | Material name |
Points per Blade | unsigned int | 2 | 20 | 4 | Number of control points per blade |
Primitive Type | unsigned int | 0 | 2 | 0 | Grass type (0: Smooth; 1: Flat; 2: Cylinder (hair) |
Seed | unsigned int | 0 | 16383 | 0 | Initial seed for blades generation (useful when there are two grass modifiers in the same mesh) |
Density | unsigned int | 1 | 1e8 | 2000 | Blades density (blades/m2) |
Density Map | Cmap | -- | -- | -- | Blades density texture map |
Length | float | 0.0 | 1e5 | 10.0 | Blade length in centimeters |
Length Map | Cmap | -- | -- | -- | Blade length map |
Length Variation | float | 0.0 | 100.0 | 20.0 | Length random variation (%) |
Root Width | doublefloat | 0.1 | 1e5 | 5.0 | Root width in milimeters |
Tip Width | doublefloat | 0.1 | 1e5 | 1.0 | Tip width in milimeters |
Radius Variation | double | 0.0 | 100.0 | 20.0 | Width random variation (%) |
Initial Angle | float | 0.0 | 90.0 | 80.0 | Initial blade-ground angle in degrees (º) |
Initial Angle Map | Cmap | -- | -- | -- | Initial angle texture map |
Initial Angle Variation | float | 0.0 | 100.0 | 25.0 | Initial angle variation (%) |
Start Bend | float | 0.0 | 100.0 | 40.0 | Start bend point (in % of blade length) |
Start Bend Map | Cmap | -- | -- | -- | Start bend texture map |
Start Bend Variation | float | 0.0 | 100.0 | 25.0 | Start bend variation (%) |
Bend Radius | float | 0.001 | 1e5 | 10.0 | Bend radius in centimeters |
Bend Radius Map | Cmap | -- | -- | -- | Bend radius texture map |
Bend Radius Variation | float | 0.0 | 100.0 | 25.0 | Bend radius variation (%) |
Bend Angle | float | 0.0 | 360.0 | 80.0 | Bend angle in degrees (º) |
Bend Angle Map | Cmap | -- | -- | -- | Bend angle texture map |
Bend Angle Variation | float | 0.0 | 100.0 | 25.0 | Bend angle variation (%) |
Cut Off | float | 100.0 | 0.0 | 100.0 | Cut off point (in %) |
Cut Off Map | Cmap | -- | -- | -- | Cut off texture map |
Cut Off Variation | float | 0.0 | 100.0 | 0.0 | Cut off variation (%) |
Enable LOD | byte | 0 | 1 | 0 | Enable density level of detail |
LOD Min Distance | float | 0.0 | 1e5 | 10.0 | Level of detail starting distance (in meters) |
LOD Max Distance | float | 0.0 | 1e5 | 50.0 | Level of detail end distance (in meters) |
LOD Max Distance Density | float | 0.0 | 100.0 | 10.0 | Percent (%) of initial density at Max. distance |
Display Percent | floatunsigned int | 0.0 | 100.0 | 10.0 | Percent (%) of blades displayed for preview purposes |
Display Max. Blades | floatunsigned int | 0.0 | 1e5 | 1000.0 | Maximum amount of blades displayed for preview purposes |
"TRIANGLES_WITH_BLADES" | byte array | -- | -- | -- | Optional array to define which triangles of the modified mesh will have blades. The size of this array should be the same than the triangle count, each element of the array corresponds to a triangle index
|
...