Detailed Description

Module that blends the output of two source modules using the output of an weight module as the blending weight.

Inheritance diagram for Loonim.Blend:
Loonim.TextureNode

Public Member Functions

 Blend ()
 Initialises a new instance of the Blend class. More...
 
 Blend (TextureNode src1, TextureNode src2, TextureNode weight, TextureNode mode)
 
override void Draw (DrawInfo info)
 Allocates GPU drawing meta now. More...
 
override UnityEngine.Color GetColour (double x, double y)
 Gets this nodes colour output. More...
 
override double GetWrapped (double x, double y, int wrap)
 Gets a wrapped value from this node. Range of +/- 1. More...
 
override double GetValue (double x, double y, double z)
 Gets the value from this node. This is required at a minimum. Range of +/- 1. More...
 
override double GetValue (double x, double y)
 Returns the result of blending the output of the two source modules using the output of the weight module as the blending weight. More...
 
override double GetValue (double t)
 Gets the 1D value from this node. Equiv to GetValue(t,0). Required for all graph nodes. More...
 
- Public Member Functions inherited from Loonim.TextureNode
float[] Bake (int size)
 Bakes the x axis of this node as a 1D image. More...
 
void Bake (float[] values)
 Bakes the x axis of this node as a 1D image. More...
 
void Bake (Color[] values)
 Bakes the x axis of this node as a 1D image. Note that the red channel is the most important. More...
 
override string ToString ()
 
string ToString (int depth)
 
List< Material > CollectMaterials ()
 
void CollectMaterials (List< Material > into)
 
void AddSource (TextureNode source)
 Adds a new source to this node. More...
 
 TextureNode ()
 
 TextureNode (int sourceCount)
 Create a texture node with the given number of inputs. More...
 
void SubMaterialChanged ()
 Called when this nodes SubMaterialID has changed. More...
 
virtual DrawStackNode Allocate (DrawInfo info, ref int stackID)
 Allocates GPU drawing meta now. More...
 
void PreAllocate (DrawInfo info)
 Allocates now. More...
 
void DrawGPU (DrawInfo info)
 Draws this node now (but doesn't transfer it into a texture). More...
 
void Draw (DrawInfo info, Texture2D image, ref Color[] pixels)
 Draws this node into the given texture and pixel buffer now. Note that the pixels buffer might not get used, so initially pass in null and cache the resulting one if you wish. More...
 
void DrawCPU (DrawInfo info, Color[] pixels)
 Draws this node using the CPU. More...
 
TextureNode GetLayer (int id, int count)
 Gets the node with the given ID. More...
 
virtual void Prepare (DrawInfo info)
 Gets the node ready to draw. More...
 
virtual void Read (TextureReader reader)
 Reads sources from the given reader into this node. More...
 

Properties

TextureNode WeightModule [get, set]
 The module from which to retrieve noise to be used as the blending weight. More...
 
TextureNode ModeModule [get, set]
 The module which defines the blending mode. Note that this has to be a constant value across the whole image; anything else will be ignored. More...
 
BlendingMode Mode [get]
 The blending mode to use. More...
 
override int SubMaterialID [get]
 By default, materials are named Loonim/Texture_node_id, however some nodes have "sub-materials" where they essentially have a bunch of different shaders. An example is the Blend node. More...
 
override int TypeID [get]
 
- Properties inherited from Loonim.TextureNode
TextureNode SourceModule [get, set]
 First input to this node. Errors if it doesn't exist. More...
 
TextureNode SourceModule1 [get, set]
 First input to this node. Errors if it doesn't exist. More...
 
TextureNode SourceModule2 [get, set]
 Second input to this node. Errors if it doesn't exist. More...
 
TextureNode SourceModule3 [get, set]
 Third input to this node. Errors if it doesn't exist. More...
 
virtual int SubMaterialID [get]
 By default, materials are named Loonim/Texture_node_id, however some nodes have "sub-materials" where they essentially have a bunch of different shaders. An example is the Blend node. More...
 
virtual int MaterialID [get]
 By default, materials are named Loonim/Texture_node_id. This allows nodes to essentially share shaders. More...
 
virtual int OutputDimensions [get]
 The dimensions of the image that gets output from this node. A constant has 0 dimensions, a graph has 1 dimension and your ordinary image node has 2. Note that they vary based on inputs; for example an ADD node could add two graphs together (resulting in a 1D output) or it could add two images together (2D output). More...
 
virtual int TypeID [get]
 A globally constant ID for a given type of module. More...
 

Private Attributes

int LastBlendMode_
 The last blend mode value. More...
 

Additional Inherited Members

- Public Attributes inherited from Loonim.TextureNode
int InstanceID
 Unique ID for this node in its parent tree. More...
 
TextureNode[] Sources
 Inputs to this node. May be null. More...
 
bool AllocateRequired =true
 True when this node changes. Note that it does not get set to true if the image draw size changes. More...
 
DrawStackNode DrawStore
 
- Protected Member Functions inherited from Loonim.TextureNode
void AllocateSources (Material material, DrawInfo info, int targetStack, int count)
 
- Static Protected Member Functions inherited from Loonim.TextureNode
static Shader GetShader (int type, int subType)
 Gets a shader of the given node ID and it's sub-type. More...
 
static Material GetMaterial (int type, int subType)
 Gets a sub-material of the given node ID. More...
 

Constructor & Destructor Documentation

Loonim.Blend.Blend ( )
inline

Initialises a new instance of the Blend class.

Loonim.Blend.Blend ( TextureNode  src1,
TextureNode  src2,
TextureNode  weight,
TextureNode  mode 
)
inline

Member Function Documentation

override void Loonim.Blend.Draw ( DrawInfo  info)
inlinevirtual

Allocates GPU drawing meta now.

Reimplemented from Loonim.TextureNode.

override UnityEngine.Color Loonim.Blend.GetColour ( double  x,
double  y 
)
inlinevirtual

Gets this nodes colour output.

Reimplemented from Loonim.TextureNode.

override double Loonim.Blend.GetValue ( double  x,
double  y,
double  z 
)
inlinevirtual

Gets the value from this node. This is required at a minimum. Range of +/- 1.

Reimplemented from Loonim.TextureNode.

override double Loonim.Blend.GetValue ( double  x,
double  y 
)
inlinevirtual

Returns the result of blending the output of the two source modules using the output of the weight module as the blending weight.

Reimplemented from Loonim.TextureNode.

override double Loonim.Blend.GetValue ( double  t)
inlinevirtual

Gets the 1D value from this node. Equiv to GetValue(t,0). Required for all graph nodes.

Reimplemented from Loonim.TextureNode.

override double Loonim.Blend.GetWrapped ( double  x,
double  y,
int  wrap 
)
inlinevirtual

Gets a wrapped value from this node. Range of +/- 1.

Reimplemented from Loonim.TextureNode.

Member Data Documentation

int Loonim.Blend.LastBlendMode_
private

The last blend mode value.

Property Documentation

BlendingMode Loonim.Blend.Mode
get

The blending mode to use.

TextureNode Loonim.Blend.ModeModule
getset

The module which defines the blending mode. Note that this has to be a constant value across the whole image; anything else will be ignored.

override int Loonim.Blend.SubMaterialID
get

By default, materials are named Loonim/Texture_node_id, however some nodes have "sub-materials" where they essentially have a bunch of different shaders. An example is the Blend node.

override int Loonim.Blend.TypeID
get
TextureNode Loonim.Blend.WeightModule
getset

The module from which to retrieve noise to be used as the blending weight.