Spinning Topp Logo BlackTopp Studios
inc
Classes | Typedefs | Enumerations
Mezzanine::Graphics::Procedural Namespace Reference

This namespace is for all the classes that facilitate the procedural creation of art assets. More...

Classes

class  AlphaMaskModifier
 A modifier that will use a mask image to set the alpha channels of a source image. More...
 
class  AlphaModifier
 A modifier that will replace all pixels with "White Smoke" corresponding to the intensity of the extracted colour and the source alpha channel. More...
 
class  AtlasGenerator
 A generator that will produce an image that is a number of other images placed side by side with no overlap. More...
 
class  BlitModifier
 A modifier that will copy a portion of one texture and place it into another. More...
 
class  BlurModifier
 A modifier that will attempt to reduce the sharpness of the texture. More...
 
class  BooleanGenerator
 A generator class for performing boolean operations on two buffers. More...
 
class  BoxCornerGenerator
 A generator class for a mesh composed of boxes that outline the corner edges of a larger box. More...
 
class  BoxGenerator
 A generator class for a box mesh. More...
 
class  BoxUVModifier
 A modifier that will generate UV coordinates as they would need to be on a box model. More...
 
struct  BufferSection
 A convenience class used to describe a small portion of the mesh/buffer. More...
 
class  CapsuleGenerator
 A generator class for a capsule mesh with rounded ends. More...
 
class  CellGenerator
 Create a texture consisting of cells aligned in a grid, or a chessboard. More...
 
class  ChannelModifier
 A modifier that will zero out selected colour channels or produce a grey version of the provided texture. More...
 
class  CircleModifier
 A modifier that draws a simple coloured circle onto the texture. More...
 
class  CloudGenerator
 Creates a cloud structured image. More...
 
class  ColoursModifier
 A modifier that will alter the basic colour properties of the texture. More...
 
struct  CombineLayer
 Convenience class used by the CombineModifier class to describe what action to take with a specific texture to be combined. More...
 
class  CombineModifier
 A modifier that will attempt to combine the content of multiple textures. More...
 
class  ConeGenerator
 A generator class for a cone mesh. More...
 
class  ConvolutionModifier
 A modifier that will calculate each pixel in an image to be a weighed sum of itself and it's neighbors. More...
 
class  CrackModifier
 A modifier that will generate random coloured lines on a texture. More...
 
class  CycloidModifier
 A modifier that will draw a series of curved line segments. More...
 
class  CylinderGenerator
 A generator class for a cylinder mesh with flat ends. More...
 
class  CylinderUVModifier
 A modifier that will generate UV coordinates as they would need to be on a cylinder model. More...
 
struct  DelaunaySegment
 A segment of 2 points in a Point2DContainer. More...
 
struct  DelaunayTriangle
 A triangle formed from 3 points in a Point2DContainer. More...
 
class  DilateModifier
 A modifier that will bright areas of the texture over the darker areas of the image. More...
 
class  EdgeDetectionModifier
 A modifier that will reduce the texture to an outline of the detected edges in the texture. More...
 
class  EllipseModifier
 A modifier that draws a simple coloured ellipse onto the texture. More...
 
class  Extruder
 A generator that will create a 3D model by moving a 2D shape along a 3D Path. More...
 
class  FlareModifier
 A modifier that will draw an illuminated circle that fades over a distance to a previous texture. More...
 
class  FlipModifier
 A modifier that will flip pixels along an axis or axes in a texture. More...
 
class  GradientGenerator
 Fills full image with given colour gradients. More...
 
class  HemisphereUVModifier
 A modifier that will generate UV coordinates as they would need to be on a hemisphere model. More...
 
class  IcoSphereGenerator
 A generator class for a sphere mesh where all triangles are the same size. More...
 
class  ImageGenerator
 Creates an image to be modified from a pre-existing image on disk. More...
 
struct  IntersectionInShape
 Convenience class storing data on the point in a 2D shape where multiple segments intersect. More...
 
struct  IntVector2
 Convenience class for pixel processing. More...
 
class  InvertModifier
 A modifier that will invert the value of each colour channel for each pixel. More...
 
class  JitterModifier
 A modifier that will randomly shuffle the pixel being processed to a nearby position. More...
 
class  LabyrinthGenerator
 Creates a labyrinth structured image. More...
 
class  Lathe
 A generator that produces a Mesh by rotating a 2D shape around the Y axis. More...
 
class  LerpGenerator
 Creates a texture that is the interpolated result between two other textures. More...
 
class  LookupModifier
 A modifier that uses an image to lookup and copy pixels of another image. More...
 
class  MarbleGenerator
 Creates a marble structured image. More...
 
class  MeshGenerator
 A base class containing all of the utilities needed for a mesh generator. More...
 
class  MeshLoader
 A generator class for loading an external mesh into a procedural buffer. More...
 
class  MeshModifier
 A base class for modifying the contents of an already populated triangle buffer. More...
 
class  MultiPath
 A grouping of individual 3D curves used to express complicated structures. More...
 
class  MultiShape
 A grouping of individual 2D shapes used to express more elaborate shapes. More...
 
class  NoiseGenerator
 Fills full image with noise in a given colour. More...
 
class  NormalsModifier
 A modifier that will convery a greyscale image into a normals map. More...
 
class  OilPaintModifier
 A modifier that will group similiar pixels together and normalize their colour. More...
 
class  Path
 A collection of interconnected 3D points used to express path through 3D space. More...
 
struct  PathCoordinate
 A convenience class for tracking points in a MultiPath. More...
 
class  PlaneGenerator
 A generator class for a plane mesh. More...
 
class  PlaneUVModifier
 A modifier that will generate UV coordinates as they would need to be on a plane model. More...
 
class  RandomPixelsModifier
 A modifer that will draw coloured pixels at random positions on the texture. More...
 
class  RectangleModifier
 A modifier that draws a simple coloured rectangle onto the texture. More...
 
class  RotationZoomModifier
 A modifier that will apply a rotation to the image and optionally zoom in on it. More...
 
class  RoundedBoxGenerator
 A generator class for a rounded box mesh. More...
 
class  SegmentModifier
 A modifier that will alter the colour of pixels above a certain luminous value. More...
 
class  Shape
 A collection of interconnected 2D points used to express an arbitrary 2D shape. More...
 
class  SharpenModifier
 A modifier that will attempt to add detail to a texture. More...
 
class  SolidGenerator
 Fills full image with given colour. More...
 
class  SphereGenerator
 A generator class for a sphere mesh. More...
 
class  SphereUVModifier
 A modifier that will generate UV coordinates as they would need to be on a sphere model. More...
 
class  SpherifyModifier
 A modifier that will increase or decrease the distance to a point to match a specified radius. More...
 
class  TextileGenerator
 Creates a textile structured image. More...
 
class  TextTextureModifier
 A modifier to add text to a texture. More...
 
class  TextureBuffer
 A convenience buffer that stores pixel colour values of a texture to be generated. More...
 
class  TextureGenerator
 A base class for texture generators that use the TextureBuffer class. More...
 
class  TextureModifier
 A base class for modifying the contents of an already populated texture buffer. More...
 
class  ThresholdModifier
 A modifier that will set a pixels colour if it's intensity is outside a set threshold. More...
 
class  TorusGenerator
 A generator class for a torus mesh. More...
 
class  TorusKnotGenerator
 A generator class for a torus knot mesh. More...
 
struct  TouchSuperTriangle
 A triangle convenience class for some comparison operations. More...
 
class  TriangleBuffer
 A convenience buffer that stores vertices and indices of a mesh to be generated. More...
 
class  Triangulator
 A generator class that implements the Delaunay Triangulation algorithm. More...
 
class  TubeGenerator
 A generator class for a tube mesh. More...
 
struct  Vertex
 A simple definition for a Vertex to be used when procedurally generating meshes. More...
 
class  VertexNormalsModifier
 
class  VertexTransformModifier
 A modifier that will update the transform of every vertex in a mesh. More...
 
class  VertexUVModifier
 A modifier that will transform the UV coordinates of a mesh. More...
 
class  VortexModifier
 Twists the pixel positions in a circle on the Texture. More...
 
class  WeighedLerpModifier
 A modifier that will use the colours of the texture to be modified to perform a linear interpolation between two other textures. More...
 
class  WeldVerticesModifier
 A modifier that will combine vertices together that are close to each other. More...
 
class  WoodGenerator
 Creates a wood slice image. More...
 

Typedefs

typedef Track< BezierInterpolator< Real > > BezierCurve1D
 A track of 1 dimentional points that are interpolated between with a Bezier interpolator.
 
typedef Track< BezierInterpolator< Vector2 > > BezierCurve2D
 A track of 2 dimentional points that are interpolated between with a Bezier interpolator.
 
typedef Track< BezierInterpolator< Vector3 > > BezierCurve3D
 A track of 3 dimentional points that are interpolated between with a Bezier interpolator.
 
typedef IndexContainer::const_iterator ConstIndexIterator
 Const Iterator type for a IndexContainer.
 
typedef LineSeg2DVec::const_iterator ConstLineSeg2DIterator
 Const Iterator type for a LineSeg2DVec.
 
typedef LineSeg3DVec::const_iterator ConstLineSeg3DIterator
 Const Iterator type for a LineSeg3DVec.
 
typedef Point2DContainer::const_iterator ConstPoint2DIterator
 Const Iterator type for a Point2DContainer.
 
typedef Point3DContainer::const_iterator ConstPoint3DIterator
 Const Iterator type for a Point3DContainer.
 
typedef VertexContainer::const_iterator ConstVertexIterator
 Const Iterator type for Vertex instances in a VertexContainer.
 
typedef std::list< DelaunayTriangleDelaunayTriangleBuffer
 A container type for the storage of DelaunayTriangles.
 
typedef std::vector< IntegerIndexContainer
 A container of Integers used to represent the indicies of a shape.
 
typedef IndexContainer::iterator IndexIterator
 Iterator type for a IndexContainer.
 
typedef Track< LinearInterpolator< Real > > LinearCurve1D
 A track of 1 dimensional points that are linearly interpolated between.
 
typedef Track< LinearInterpolator< Vector2 > > LinearCurve2D
 A track of 2 dimensional points that are linearly interpolated between.
 
typedef Track< LinearInterpolator< Vector3 > > LinearCurve3D
 A track of 3 dimensional points that are linearly interpolated between.
 
typedef LineSeg2DVec::iterator LineSeg2DIterator
 Iterator type for a LineSeg2DVec.
 
typedef std::vector< LineSegment2DLineSeg2DVec
 Basic container type for the storage of 2D line segments.
 
typedef LineSeg3DVec::iterator LineSeg3DIterator
 Iterator type for a LineSeg3DVec.
 
typedef std::vector< LineSegment3DLineSeg3DVec
 Basic container type for the storage of 3D line segments.
 
typedef std::vector< PathPathContainer
 Basic container type for the storage of Paths.
 
typedef std::vector< Vector2Point2DContainer
 Basic container type for the storage of 2D points.
 
typedef Point2DContainer::iterator Point2DIterator
 Iterator type for a Point2DContainer.
 
typedef std::vector< Vector3Point3DContainer
 Basic container type for the storage of 3D points.
 
typedef Point3DContainer::iterator Point3DIterator
 Iterator type for a Point3DContainer.
 
typedef std::vector< VertexVertexContainer
 Basic container type for Vertex storage.
 
typedef VertexContainer::iterator VertexIterator
 Iterator type for Vertex instances in a VertexContainer.
 

Enumerations

enum  BooleanOperation { BO_Union, BO_Intersection, BO_Difference }
 An enum used to describe which boolean operation to take when processing two triangle buffers. More...
 
enum  ColourChannelIndex
 Convenience enum that stores the colour placement in a word according to endianness.
 
enum  NoiseType { NT_White, NT_Perlin }
 An enum used to describe the different types of noise generators. More...
 
enum  ShapeSide { SS_Left = 0, SS_Right = 1 }
 An enum used to express which side to work with in Shape operations. More...
 

Detailed Description

This namespace is for all the classes that facilitate the procedural creation of art assets.

Our Procedural Graphics system is based on the OgreProcedural library.

Enumeration Type Documentation

An enum used to describe which boolean operation to take when processing two triangle buffers.

Enumerator
BO_Union 

Completely merges the the two buffers.

BO_Intersection 

Gets only the parts of the two buffers that are overlapping.

BO_Difference 

Gets only the parts of the two buffers that aren't overlapping.

Definition at line 77 of file proceduralenumerations.h.

An enum used to describe the different types of noise generators.

Enumerator
NT_White 

White noise.

NT_Perlin 

Perlin noise.

Definition at line 102 of file proceduralenumerations.h.

An enum used to express which side to work with in Shape operations.

Enumerator
SS_Left 

Use the left side of the shape.

SS_Right 

Use the right side of the shape.

Definition at line 109 of file proceduralenumerations.h.