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 |
"Density" | unsigned int | 1 | 1e8 | 2000 | Blades density (blades/m2) |
"Density Map" | Cmap | -- | -- | -- | Blades density map |
"Length" | float |
| |||
"Length Map" | Cmap | -- | -- | -- | Length density map |
byte | |||||
MaxwellParticles | float | ||||
MaxwellParticles | float | ||||
MaxwellParticles | byte | ||||
MaxwellParticles | float | ||||
float | |||||
MaxwellParticles | byte | ||||
MaxwellParticles | byte | ||||
MaxwellParticles | unsigned int | ||||
MaxwellParticles | unsigned int | ||||
MaxwellParticles | byte | ||||
MaxwellParticles | byte | ||||
MaxwellParticles | float | ||||
MaxwellParticles | float | ||||
MaxwellParticles | byte | ||||
MaxwellParticles | float | ||||
MaxwellParticles | float | ||||
MaxwellParticles | byte | ||||
MaxwellParticles | float | ||||
MaxwellParticles | float |
"FileName"
Name of the file that contains particles data. It is a NULL terminated string.
Example:
char* file = "/home/paco/Emitter01_00049.bin"; extParam->setString( "FileName", file );
"Radius Factor"
Multiplier for the particle radius that is read from the file. Can go from 0.00001 to 1000000 and the default value is 1.
Example:
float rFactor = 0.3f; extParam->setFloat( "Radius Factor", rFactor );
"MB Factor"
Multiplier to increase or decrease the amount of motion blur of the particles. Can go from 0.0 to 1000000.0. Default is 1.0.
Example:
float factor = 0.3f; extParam->setFloat( "MB Factor", factor );
"Shutter 1/"
Shutterspeed of the active camera. Affects the amount of motion of the particles. It is the inverse of the time the shutter is open.
Example:
float shutter = 125.f; extParam->setFloat( "Shutter 1/", shutter );