Description
This extension allows to generate grass on the top of meshes. It works as a object modifier plugin. Internally it creates blades and converts them to different grass primitives depending on the user parameters.
Example of how to create a MaxwellGrass object:
// 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( "Density", bladesDensity ); float length = 0.25; grassParams->setFloat( "Length ", length ); 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 |
Length Map | Cmap | -- | -- | -- | Blade length map |
Length Variation | float | 0.0 | 100.0 | 20.0 | Length random variation (%) |
Root Radius | double | 0.1 | 1e5 | 5.0 | Root width in milimeters |
Tip Radius | double | 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 | float | 0.0 | 100.0 | 10.0 | Percent (%) of initial density at Max. distance |
Display Percent | float | 0.0 | 100.0 | 10.0 | Percent (%) of blades displayed for preview purposes |
Display Max. Blades | float | 0.0 | 1e5 | 1000.0 | Maximum amount of blades displayed for preview purposes |
NOTE: The parameter names "Root Radius" and "Tip Radius" are used instead of "Root Width" and "Tip Width" is called to