Crate rpt

Source
Expand description

rpt is a path tracer in Rust.

Re-exports§

pub use glm;
pub use image;

Structs§

BoundingBox
A 3D axis-aligned bounding box
Buffer
A buffer that stores sample results from path tracing
Camera
A simple thin-lens perspective camera
Cube
A unit cube centered at the origin
Hdri
High-dynamic-range equirectangular image for lighting 3D scenes
HitRecord
Record of when a hit occurs, and the corresponding normal
KdTree
A kd-tree based on bounding boxes, used to accelerate ray intersections
MarblesSystem
System that represents marbles and a glass
Material
Represents a shader material with some physical properties
MonomialSurface
Represents a glass-shaped surface with height and exp parameters
Object
An object rendered in a scene
ParticleState
Represents current state of a particle system, including positions and velocities
Plane
A plane represented by the linear equation x • normal = value
Ray
An infinite ray in one direction
Renderer
Builder object for rendering a scene
Scene
Object representing a scene that can be rendered
SolidGravitySystem
System that represents solid gravity objects in space
Sphere
A unit sphere centered at the origin
Transformed
A shape that has been composed with a transformation
Triangle
A triangle with three vertices and three normals

Enums§

Environment
An environment map for lighting 3D scenes
Filter
A noise reduction filter applied to the rendered image
Light
Type representing various forms of lighting

Traits§

Bounded
A geometric shape with a bounding box (needed for kd-tree intersections)
ParticleSystem
A trait that represents a system formulating some physical laws
SceneAdd
Trait that allows adding an object or light to a scene
Shape
Represents a physical shape, which can be hit by a ray to find intersections
Transformable
An object that can be transformed

Functions§

color_bytes
Convert a color to a clamped triple of sRGB unsigned bytes
cube
Helper function to construct a cube
hex_color
Construct a new color from an sRGB hex integer, applying gamma correction to return linear intensities
load_obj
Load a mesh geometry from a Wavefront .OBJ file
load_obj_with_mtl
Load an object, with materials, from a Wavefront .OBJ file
load_stl
Load a mesh from a .STL file
monomial_surface
Helper function to construct a glass-like monomial surface
plane
Helper function to construct a plane
polygon
Helper function to construct a simple polygon made from triangles
sphere
Helper function to construct a sphere

Type Aliases§

Color
A representation of an RGB color
Mesh
A triangle mesh, stored using a kd-tree