14 #ifndef SRC_QUICK_SHAPES_H_
15 #define SRC_QUICK_SHAPES_H_
83 const Matrix4 &projectionMatrix,
92 const Matrix4 &projectionMatrix,
101 const Matrix4 &projectionMatrix,
109 const Matrix4 &projectionMatrix,
118 const Matrix4 &projectionMatrix,
128 const Matrix4 &projectionMatrix,
158 const Matrix4 &projectionMatrix,
160 const std::vector<Point3> &points,
170 const Matrix4 &projectionMatrix,
180 const Matrix4 &projectionMatrix);
Represents a 4-component (R,G,B,A) color, stored internally in a float array to be compatable with Op...
Small data structure to hold properties of the material to be lit.
A simple GLSL shader for textured per-fragment Phong shading with multiple light sources.
A 4x4 transformation matrix stored internally as an array of floats in column-major order so as to be...
A triangle mesh data structure that can be rendered with a ShaderProgram like DefaultShader.
A 3D Point with floating point coordinates, used for storing vertices and all sorts of other 3D graph...
This class provides a quick way to draw shapes for use in debugging or simple scenes.
void DrawLineSegment(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color, const Point3 &p1, const Point3 &p2, float radius)
Draws a cylinder between the two points.
void DrawCone(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color)
Draws a cone with radius 1 and height y=-1 to 1 given the model, view, and projection matrices provid...
void DrawSquare(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color)
Draws a square in the X-Y plane with extents -1 to 1 and normal in the +Y direction.
void DrawAxes(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix)
Draws a right handed set of axes at the coordinate frame specified by the modelMatrix.
void DrawCylinder(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color)
Draws a cylinder with radius 1 and height y=-1 to 1 given the model, view, and projection matrices pr...
void DrawSquare(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color, const Texture2D &texture)
Draws a square, which you can deform into some other shape by adjusting the model matrix,...
void DrawSphere(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color)
Draws a sphere with radius 1 given the model, view, and projection matrices provided and using the su...
DefaultShader * default_shader()
Returns a pointer to the default shader used internally by the Draw class so that you may change the ...
void DrawBrush(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color)
Draws the classic 3D paintbrush cursor from the 2001 Keefe et al.
void DrawFullscreenTexture(const Color &color, const Texture2D &texture)
Draws a background texture across the whole screen.
DefaultShader::MaterialProperties * material()
Returns a pointer to the default material properties for the shapes so that you may adjust the reflec...
void DrawCube(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color)
Draws a cube with extents -1 to 1 given the model, view, and projection matrices provided and using t...
void DrawArrow(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color, Point3 p, Vector3 dir, float radius)
Draws an arrow originating at point p and extending in the direction and length specified by dir.
void DrawLines(const Matrix4 &modelMatrix, const Matrix4 &viewMatrix, const Matrix4 &projectionMatrix, const Color &color, const std::vector< Point3 > &points, LinesType linesType, float radius)
Draws a series of line segments.
A wrapper around GLSL shader programs.
A wrapper around a 2D texture that supports loading images from files or setting texture color data d...
A 3D Vector with floating point coordinates, used for storing normals and all sorts of other 3D graph...
Namespace for the MinGfx Toolkit.