# [−][src]Module rin::graphics

## Re-exports

`pub use self::vertex::*;` |

`pub use self::freeimage as image;` |

`pub use self::freeimage::Image;` |

## Modules

arcball_camera | |

camera | |

freeimage | |

mvp | |

node | |

ortho_camera | |

path | |

projection | |

ttf | |

vertex |

## Structs

ArcIter | |

ArcballCamera | Arcball interactive camera that can be controlled with the mouse and keys |

BezierIter | |

Camera | Perspective camera that can be positioned and oriented in 3d space as a Node |

CameraMatrices | |

Circle | Represents an circle in 2D space |

Ellipse | Represents an ellipse in 2D space |

Line | Represents a line segment in 2D space |

Mesh | A Mesh with any vertex type |

Model | |

ModelMatrices | |

Mvp | Camera + Model matrices used to store all the information needed by a shader to draw a model |

Node | Position + Orientation + Scale of an object |

OrthoCamera | Orthographic camera |

Path2D | Represents a 2D path using commands that can be later decomposed into line segments if the renderer requires it |

Ttf |

## Enums

CoordinateOrigin | |

Gradient | Specifies a gradient that can be used to draw certain primitives instead of a solid color |

LinearGradientDirection | |

PrimitiveType | |

Projection | Represents a projection matrix decomposed in it's parameters |

ScreenZ | Z value for screen <-> world conversions |

## Traits

CameraExt | |

CameraOrthographic | |

CameraPerspective | |

NodeMut | Trait to implement by objects that conatain a node and want to expose it's same api |

NodeRef | Trait to implement by objects that conatain a node and want to expose it's same api |

## Functions

arc_iter | |

arc_vertices | |

bezier | |

bezier_iter | Returns a bezier iterator with the passed parameter |

bounding_box | Bounding box of a set of 2d points |

circle | Returns an circle as a filled mesh with only position info |

circle_color | Returns a circle as a contour mesh with position and color info |

circle_texcoords | Returns a circle as a filled mesh with position and texture coordinates info |

cone | Returns a cone as a filled mesh with position and normals |

cone_cap_vertices | |

cone_vertices | |

cube | Returns a cube as a filled mesh with position and normals |

cube_color | Returns a cube as a filled mesh with position, colors per vertex and normals |

cube_wireframe | Returns a cube as a wireframe mesh with position |

cuboid | Returns a cuboid as a filled mesh with position and normals |

cuboid_color | Returns a cuboid as a filled mesh with position, colors per vertex and normals |

curve_vertices | |

ellipse | Returns an ellipse as a filled mesh with only position info |

ellipse_color | Returns an ellipse as a filled mesh with position and color info |

ellipse_texcoords | Returns an ellipse as a filled mesh with position and texture coordinates info |

line_color | Returns a line segment as a mesh with position and color |

load_ply | Load a ply into a Mesh |

mesh | Mesh with no indices from vertices and primitive type |

plane | Returns a plane as a filled mesh with position and normals |

plane_color | Returns a plane as a filled mesh with position, colors per vertex and normals |

plane_no_indices | Returns a plane as a filled mesh with position and normals but no indices |

plane_texcoords | Returns a plane as a filled mesh with position, texture coordinates and normals |

plane_texcoords_no_indices | Returns a plane as a filled mesh with position texture coordinates and normals but no indices |

plane_wireframe | Returns a plane as a wireframe mesh with position only |

primitive_type_to_gl | Mesh primitive type to gl primitive type |

quad_bezier | |

rectangle | Returns a rectangle as a filled mesh with position |

rectangle_color | Returns a rectangle as a filled mesh with position and color per vertex |

rectangle_gradient | Returns a rectangle as a filled mesh with position and color per vertex from a gradient |

rectangle_texcoords | Returns a rectangle as a filled mesh with position and texture coordinates |

screen_to_world | Converts a screen position + a z value in either world coordinates or normalized depth into a world 3d position |

sphere | Returns a sphere as a filled mesh with position and normals |

sphere_color | Returns a sphere as a filled mesh with position, color per vertex and normals |

sphere_texcoords | Returns a sphere as a filled mesh with position, texture coordinates and normals |

sphere_vertices | |

star_vertices | |

world_to_screen | Converts a 3d point to a projection in the screen in 2D + normalized coordinates of it's depth |

## Type Definitions

IndexT | |

Mesh2D | |

Mesh2DColor | |

Mesh2DTex | |

Mesh2DTexColor | |

Mesh3D | |

Mesh3DColor | |

Mesh3DColorNormal | |

Mesh3DNormal | |

Mesh3DTexColor | |

Mesh3DTexNormal | |

Mesh3DTex | |

Mesh2DTex3D |