Description
This extension enables maxwell to render particles as spheres. These particles can be stored in a .bin or .pxy file, typically saved from realflow, or passed as internal data which is stored in the .mxs file.
Parameters
Name | Type | Description |
---|---|---|
char* | Particles filename | |
float | Particle radius multiplier | |
float | Motion blur multiplier | |
float | Camera shutterspeed | |
MaxwellParticles | float | Percentage of particles to load |
MaxwellParticles | unsigned int | Enables Multipoint feature |
MaxwellParticles | float | Dispersion of the extra particles cloud |
MaxwellParticles | float | Deformation of the extra particles cloud |
MaxwellParticles | byte | Load or not array of Force vectors |
"Min Force" | float | |
"Max Force" | float | |
"Load particle Vorticity" | byte | Load or not array of Vorticity vectors |
"Min Vorticity" | float | |
MaxwellParticles | float | |
"Load particle Normal" | byte | Load or not array of Normal vectors |
"Load particle neighbors no." | byte | Load or not array of particle neighbors# |
"Min Nneighbors" | unsigned int | |
"Max Nneighbors" | unsigned int | |
"Load particle UV" | byte | Load or not array of particle UV |
"Load particle Age" | byte | Load or not array of particle Age |
"Min Age" | float | |
"Max Age" | float | |
"Load particle Isolation Time" | byte | Load or not array of particle isolation time |
"Min Isolation Time" | float | |
"Max Isolation Time" | float | |
"Load particle Viscosity" | byte | Load or not array of particle viscosity |
"Min Viscosity" | float | |
"Max Viscosity" | float | |
"Load particle Density" | byte | Load or not array of particle density |
"Min Density" | float | |
MaxwellParticles | float | |
"Load particle Pressure" | byte | Load or not array of particle pressure |
"Min Pressure" | float | |
"Max Pressure" | float | |
"Load particle Mass" | byte | Load or not array of particle mass |
"Min Mass" | float | |
"Max Mass" | float | |
"Load particle Temperature" | byte | Load or not array of particle temperature |
"Min Temperature" | float | |
"Max Temperature" | float | |
"Load particle ID" | byte | Load or not array of particle ID |
"PARTICLE_POSITIONS" | float* | Array of particle positions |
"PARTICLE_SPEEDS" | float* | Array of particle speeds |
"PARTICLE_RADII" | float* | Array of particle radii |
"PARTICLE_IDS" | int* | Array of particleID's |
"FileName"
Name of the file that contains particles data. It is a NULL terminated string.
Example:
Code Block | ||
---|---|---|
| ||
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:
Code Block | ||
---|---|---|
| ||
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:
Code Block | ||
---|---|---|
| ||
float |
...
Motion blur multiplier
...
"Shutter 1/"
...
float
...
Camera shutterspeed
"FileName"
...
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:
Code Block | ||
---|---|---|
| ||
float shutter = 125.f;
extParam->setFloat( "Shutter 1/", shutter ); |
"Load particles %"
Percentage of particles to load. Can go from 0.0 to 100.0, default value is 100.
Example:
Code Block | ||
---|---|---|
| ||
float percent = 75.f;
extParam->setFloat( "Load particles %", percent ); |
"Create N particles per particle"
This parameter, if set greater than zero, activates the Multipoint feature, creating N more particles around each particle. So, if you have 100 particles and set this parameter to 4, it will create 400 more particles, and the final count will be 500.
Example:
Code Block | ||
---|---|---|
| ||
unsigned int nParts = 10;
extParam->setUInt( "Create N particles per particle", nParts ); |
"Extra particles dispersion"
This parameter sets the size of the cloud of extra particles around each original particle. Can go from 0 to 100000. Default is 0.
Example:
Code Block | ||
---|---|---|
| ||
float dispersion = 2.f;
extParam->setFloat( "Extra particles dispersion", dispersion ); |
"Extra particles deformation"
Sets the amount of deformation of the new particles cloud along the speed vector of the original particle. Can go from 0 to 100000. Default is 0.
Example:
Code Block | ||
---|---|---|
| ||
float deformation = 1.1f;
extParam->setFloat( "Extra particles deformation", deformation ); |
"Load particle Force" "Load particle Vorticity" "Load particle Normal" "Load particle neighbors no." "Load particle UV" "Load particle Age" "Load particle Isolation Time" "Load particle Viscosity" "Load particle Density" "Load particle Pressure" "Load particle Mass" "Load particle Temperature" "Load particle ID"
These flags enable the extension to load the magnitudes arrays to be used with the corresponding UV generators. Note that loading every array without later using it with the UV generator is a waste of memory and could slow the render process. Use them only if you need them.
The particle ID array is needed only if the Multipoint feature is used.
Code Block | ||
---|---|---|
| ||
byte loadArray = 1;
extParam->setByte( "Load particle Viscosity", loadArray ); |
"Min Force" "Max Force" "Min Vorticity" "Max Vorticity" "Min Nneighbors" "Max Nneighbors" "Min Age" "Max Age" "Min Isolation Time" "Max Isolation Time" "Min Viscosity" "Max Viscosity" "Min Density" "Max Density" "Min Pressure" "Max Pressure" "Min Mass" "Max Mass" "Min Temperature" "Max Temperature"
These values must be set to normalize the values read from the corresponding magnitudes arrays. For vector magnitudes the max and min values should be the max and min modulus of these vectors.
"PARTICLE_POSITIONS"
Particle data can come whether in a file or internally stored in the .mxs file. If a filename is not supplied, the extension checks for internal data, and if successful, loads it.