t
|
The t software 3D graphics library namespace. More...
Classes | |
class | AmbientLight |
The ambient light, which illuminates all objects in the scene equally. More... | |
struct | Attributes |
The attributes of a vertex, available to vertex shaders. More... | |
class | BlinnPhong |
A shiny material that uses the Blinn-Phong reflection model. More... | |
class | Box |
The geometry of a cuboid (box). More... | |
class | BufferAttribute |
A class representing attributes, such as vertex positions, face indices, and vertex normals. More... | |
class | Camera |
The base camera class. More... | |
class | Color |
The color class. More... | |
class | EulerRotation |
The Euler rotation class. More... | |
struct | Fragment |
The fragment class. More... | |
class | Geometry |
The base 3D geometry class. More... | |
class | Light |
The base lighting class. More... | |
class | Material |
The base material class. More... | |
class | Matrix3x3 |
The \(3 \times 3\) matrix class. More... | |
class | Matrix4x4 |
The \(4 \times 4\) matrix class. More... | |
class | Mesh |
The triangular 3D mesh class. More... | |
class | NormalColor |
A material that maps the mesh's normal vectors to normalized RGB colors. More... | |
class | Object3D |
The 3D object class. More... | |
class | OrthographicCamera |
The orthographic projection camera. More... | |
class | PerspectiveCamera |
The perspective projection camera. More... | |
class | Plane |
The geometry of a flat, depth-less plane. More... | |
class | PointLight |
The point light, which gets emitted from a single point in all directions. More... | |
class | Rasterizer |
The most basic renderer that renders your beautiful 3D scene. More... | |
class | RenderTarget |
class | Scene |
The 3D scene class. More... | |
class | SolidColor |
A material that appears in one single color and is unaffected by lights. More... | |
class | Texture |
The 2D texture class. More... | |
struct | Uniforms |
The uniforms available to vertex shaders and fragment shaders. More... | |
class | UtahTeapot |
The geometry of the original Utah teapot, triangulated at 3488 triangles. More... | |
struct | Varyings |
The varyings available to fragment shaders. More... | |
class | Vector3 |
The 3D vector class. More... | |
class | Vector4 |
The 4D vector class. More... | |
Typedefs | |
using | Group = Object3D |
An alias for Object3D . | |
Enumerations | |
enum class | EulerRotationOrder { Xyz , Xzy , Yxz , Yzx , Zxy , Zyx } |
The Euler rotation order. More... | |
enum class | TextureFormat { RgbDouble = 3 , Depth = 1 } |
The texture format. More... | |
enum class | FrontFace { Clockwise = 1 , CounterClockwise = -1 } |
The winding order that determines the front face of a triangle. | |
enum class | CullMode { None = 0 , Front = 1 , Back = -1 } |
Which faces to cull in the render. More... | |
Functions | |
std::vector< std::pair< int, int > > | bresenhamLow (int x0, int y0, int x1, int y1) |
Used internally by bresenham . | |
std::vector< std::pair< int, int > > | bresenhamHigh (int x0, int y0, int x1, int y1) |
Used internally by bresenham . | |
std::vector< std::pair< int, int > > | bresenham (int x0, int y0, int x1, int y1) |
Computes and returns the points of a line using the Bresenham's line algorithm. | |
Vector3 | barycentric (Vector3 point, Vector3 vertexA, Vector3 vertexB, Vector3 vertexC) |
Computes and returns the barycentric coordinates of a point in a triangle. | |
The t software 3D graphics library namespace.
|
strong |
|
strong |
The Euler rotation order.
For example, EulerRotationOrder::Xyz
means that the x rotation is applied first, then y, then z.
|
strong |
The texture format.
The integer associated with the format is the number of components in the texture. For example, TextureFormat::RgbDouble = 3
because it has 3 components (RGB).
Enumerator | |
---|---|
RgbDouble | Stores RGB values in normalized floating-point values. |
Depth | Stores the depth in normalized floating-point values. |
Computes and returns the barycentric coordinates of a point in a triangle.
point | The point to compute the barycentric coordinates of. |
vertexA | The first vertex of the triangle. |
vertexB | The second vertex of the triangle. |
vertexC | The third vertex of the triangle. |
std::vector< std::pair< int, int > > t::bresenham | ( | int | x0, |
int | y0, | ||
int | x1, | ||
int | y1 ) |
Computes and returns the points of a line using the Bresenham's line algorithm.
This implementation of the algorithm only uses integer arithmetic. As such, the input coordinates are expected to be integers.
x0 | The x-coordinate of the first point. |
y0 | The y-coordinate of the first point. |
x1 | The x-coordinate of the second point. |
y1 | The y-coordinate of the second point. |