MaxwellMesher
Description
This extension implements the RealFlow RenderKit Mesher Tool inside maxwell. It is a Geometry Loader extension This tool can load some particle sequences and build a mesh surrounding those particles. It can also load a RealWave .sd file, seed it with particles and build a mesh around them. It can also load a RealFlow .bin mesh file to render it and last, but not least, after building a mesh it can save it to disk in .md format, to be loaded later and rendered.
Besides creating vertices and faces, it can create one or more UV channels. The first UV channel, or channel "0", stores the native vertices UV's, which RFRK creates mapping particle UV's. If there were more than 1 particle sequence involved in creating the mesh, the following UV channels are numbered from 1 to the number of fluids or particle emitters used to create the mesh. The "ith" channel contains the weight of the particles of the "ith" particles emitter in every vertex. This is useful to mix colors in the mesh.
Particle .bin files, if saved from RealFlow, always contain a broad range of attributes, stored for each individual particle. These values can be assigned to meshes to visualize particular physical properties, for example velocity, pressure or the number of neighbour particles. These properties are called “magnitudes” and they can be used to drive textures while rendering the mesh. Depending on how many magnitudes are selected, there will be one or more UV channels generated after the fluids weight channels.
To properly map the magnitudes' values to textures, there are also some fields that should be filled, with the maximum and minimum values expected for these magnitudes during the sequence. These values are used to normalize the magnitudes to values ranging from 0.0 to 1.0.
The maximum number of particle sequences is 10.
Sequences Parameters
For a complete review of these parameters, please refer to RFRK_Mesher Sequences
Name | Type | Description |
---|---|---|
"Sequence X On" | byte | enables or disables loading the sequence X, X from 0 to 10 |
"File X" | char* | complete filename/prefix of the sequence X, X from 0 to 10 |
"Offset X" | int | frame offset of sequence X, X from 0 to 10 |
"Radius X" | float | particle radius of sequence X, X from 0 to 10 |
"Core X" | float | core filtering of sequence X, X from 0 to 10 |
"Splash X" | float | splash filtering of sequence X, X from 0 to 10 |
"maxVelocity X" | float | Limit particles' max velocity of sequence X, X from 0 to 10 |
"Subtractive X" | byte | Substractive field of sequence X, X from 0 to 10 |
"Wait X" | byte | Wait until file available of sequence X, X from 0 to 10 |
General and Mesh Parameters
For a complete review of these parameters, please refer to RFRK_Mesher Mesh
Name | Type | Description |
---|---|---|
"Reference Frame" | int | frame used to calculate all frame numbers |
"PolygonSize" | float | Polygon size |
"Smooth" | float | Smoothing filter parameter |
"IsoLevel" | float | Distance to isosurface |
"AutoPolygonSize" | byte | Flag to enable auto sizing of polygons |
"FieldType" | unsigned int | Sphere or Metaball field to generate the mesh |
"Axis" | unsigned int | 3D app axis system |
Filtering Parameters
For a complete review of these parameters, please refer to RFRK_Mesher Filtering
Name | Type | Description |
---|---|---|
"FilterMesh" | byte | Enable filtering |
"Relax" | float | Remove rounded borders |
"Tension" | float | Remove ripples |
"Steps" | unsigned int | Number of filtering cycles |
Clipping Parameters
For a complete review of these parameters, please refer to RFRK_Mesher Clipping
Name | Type | Description |
---|---|---|
"Object Clip" | byte | Enable object clipping |
"Camera Clip" | byte | Enable camera clipping |
"Inside" | byte | Only for object clipping, remove polygons inside the object |
"SD File" | char* | Filename of the .sd file containing the clipping geometry |
Optimization Parameters
For a complete review of these parameters, please refer to RFRK_Mesher Optimization
Name | Type | Description |
---|---|---|
"Optimize" | unsigned int | Type of optimization: No, Curvature and Camera |
"Quality" | float | Merge quality factor |
"Reduction" | float | Decrease polygon count, percentage. |
"Distance" | float | Distance between the camera and the area where the first polygons will be removed |
RealWave Parameters
For a complete review of these parameters, please refer to RFRK_Mesher RealWave
Name | Type | Description |
---|---|---|
"Insert RealWave" | byte | Insert RW or not |
"RW Polygon Size" | float | The polygon size of the original RealWave mesh |
"Resolution" | float | How many particles will be distributed in the triangles |
"Radius" | float | Particle radius, like particle sequence radius |
"RW File" | char* | Filename of the .sd file containing the realwave geometry |
Bin Mesh Parameters
For a complete review of these parameters, please refer to RFRK_Mesher BIN Mesh
Name | Type | Description |
---|---|---|
"Insert Bin Mesh" | byte | Load or not a .bin mesh |
"Bin File" | char* | Filename of the .bin file |
"Bin Frame# Offset" | int | Frame offset |
"Wait" | byte | Stop the rendering process until the specified mesh file is available |
System Parameters
For a complete review of these parameters, please refer to RFRK_Mesher System
Name | Type | Description |
---|---|---|
"Threads" | unsigned int | Computing threads |
"Memory(MB)" | unsigned int | Maximum size of each sub-mesh in megabytes |
Export And Lazy Compute Parameters
For a complete review of these parameters, please refer to RFRK_Mesher Export and Lazy Compute
Name | Type | Description |
---|---|---|
"Action" | unsigned int | Off, Export .md mesh, Import .md mesh |
"MD File" | char* | Filename of the .md file |
"MD Frame# Offset" | int | Frame offset |
Magnitudes
All these parameters enable or not loading the corresponding array of magnitudes.
Name | Type | Description |
---|---|---|
"Force" | byte | |
"Neighbors" | byte | |
"Age" | byte | |
"Isolation" | byte | |
"Viscosity" | byte | |
"Density" | byte | |
"Pressure" | byte | |
"Mass" | byte | |
"Temperature" | byte | |
"Vorticity" | byte | |
"Id" | byte |
Magnitudes ranges
All these parameters are the maximum and minimum values of the magnitudes use to normalize their values into the 0.0-1.0 interval.
Name | Type | Description |
---|---|---|
"Min Force" | float | |
"Max Force" | float | |
"Min Nneighbors" | unsigned int | |
"Max Nneighbors" | unsigned int | |
"Min Age" | float | |
"Max Age" | float | |
"Min Isolation Time" | float | |
"Max Isolation Time" | float | |
"Min Viscosity" | float | |
"Max Viscosity" | float | |
"Min Density" | float | |
"Max Density" | float | |
"Min Pressure" | float | |
"Max Pressure" | float | |
"Min Mass" | float | |
"Max Mass" | float | |
"Min Temperature" | float | |
"Max Temperature" | float | |
"Min Vorticity" | float | |
"Max Vorticity" | float | |
"Min Velocity" | float | |
"Max Velocity" | float |