Shader Fusion is a node based shader editor. It allows the user to create extremely complex shaders and effects in a flowchart-like environment. Anyone who has used the Unreal Engine 3 material editor or Mayas HyperShade should be very comfortable with it.
I have finally got a beta package to distribute to beta testers. I already have a few testers but could use a few more. For anyone beta testing, it would be great if the testers could send me (or post here) shots of some of the stuff they make with it to help promote the software
some example shaders:
A planet shader. The clouds are part of the main planet shader and they have parallax and cast shadows on the surface. The atmosphere is slightly bigger sphere around the planet.
This example is procedural placement of snow or ice. You can adjust a single value to have the snow build up or melt. It places the snow mostly on the upwards facing surfaces of an object.
Here is the current list of nodes:
Texture - A texture.
MainTex - A special texture with a perperty name of "_MainTex".
Lightmap - A special texture used for lightmapping.
Number - A constant single Number or float value.
Color - A constant color value.
Vector2 - A constant Vector2.
Vector3 - A constant Vector3.
Vector4 - A constant Vector4.
Fresnel - The "facing ratio" of the surface.
Highest - The highest of 2 Number values.
Lowest - The lowest of 2 Number values.
Lerp - Blend between 2 values based on a 0-1 range bias.
UV1 - Main uv channel.
UV2 - Secondary uv channel.
VertexColor - Vertex Color channel(Vector4).
SurfaceNormal - The normal of the surface in object space.
ViewDir - The unnormalized view direction.
LightDir - The light direction.
Time - Time in seconds(I think) that the game has been running.
DisplaceOffset - Calculate the parallax offset for uvs based on height data. add this to your UVs before plugging it into a Texture node.
Vector.X - The X component of a vector.
Vector.Y - The Y component of a vector.
Vector.Z - The z component of a vector.
Vector.W - The W component of a vector.
Vector.XY - The X,Y component of a vector.
Vector.XYZ - The X,Y,Z component of a vector.
NumberToVector - Creates a vector with a length matching the number of connected inputs.
ElementOf - The element of a vector matching Index (Vector[index]).
Abs - The absolute value of a number.
Distance - The distance between 2 points.
Normalize - Normalize a vector.
Floor - Round DOWN to the nearest whole number.
Ceil - Round Up to the nearest whole number.
Fmod - I have no idea what this does
Frac - I have no idea what this does
ParamNumber - A Number value that you can change per material(or through code).
DOTO: ParamColor - A Color value that you can change per material(or through code).
DOTO: ParamVector2 - A Vector2 value that you can change per material(or through code).
DOTO: ParamVector3 - A Vector3 value that you can change per material(or through code).
DOTO: ParamVector4 - A Vector4 value that you can change per material(or through code).
Transform - Transform a vector based on a matrix.
ObjToWorld - ObjectToWorld transform matrix (as Vector4x4)
ObjToWorldV3 - ObjectToWorld transform matrix (as Vector3x3)
WorldToObj - WorldToObj transform matrix (as Vector4x4)
WorldToObjV3 - WorldToObj transform matrix (as Vector3x3)