package
0.4.4
Repository: https://github.com/unixpickle/model3d.git
Documentation: pkg.go.dev

# Functions

BVHToObject creates a single object from a BVH by wrapping each node in a (bounding-box filtered) joined object.
ClampColor clamps the color into the range [0, 1].
DestDensity is like mat.SourceDensity, but for SampleDest rather than SampleSource.
DirectionalCamera figures out where to move a camera in the given unit direction to capture the bounding box of an object.
JoinAreaLights creates a larger AreaLight by combining smaller AreaLights.
MatrixMultiply left-multiplies coordinates in an object by a matrix m.
NewCameraAt creates a new Camera that is looking at a point from another point.
NewColor creates a Color with a given brightness.
NewColorRGB creates a Color from sRGB values.
NewCylinderAreaLight turns a cylinder collider into an area light.
NewImage creates an image at a certain size.
NewMeshAreaLight creates an efficient area light from the triangle mesh.
NewSphereAreaLight turns a sphere collider into an area light.
Objectify turns a mesh, collider, or Object into a new Object with a specified coloration.
RGB gets sRGB values for a Color.
Rotate creates a new Object by rotating an Object by a given angle (in radians) around a given (unit) axis.
SampleDest is like mat.SampleSource, but it samples a destination direction.
SaveRandomGrid renders a 3D object from a variety of randomized angles and saves the grid of renderings to a file.
SaveRendering renders a 3D object from the given point and saves the image to a file.
SaveRotatingGIF saves a grayscale animated GIF panning around a model.
Scale creates a new Object by scaling an Object by the given factor along all axes.
Translate moves the object by an additive offset.
TriangleColorFunc creates a ColorFunc from a function that colors triangles.

# Constants

No description provided by the author
No description provided by the author

# Structs

BidirPathTracer is a bidirectional path traceb.
A Camera defines a viewer's position, orientation, and field of view for rendering.
A ColliderObject wraps a model3d.Collider in the Object interface, using a constant material.
CylinderAreaLight is a cylinder implementing an area light.
A FilteredObject only reports ray collisions if the ray collides with some bounds object.
HGMaterial implements the Henyey-Greenstein phase function for ray scattering.
No description provided by the author
A JoinedMaterial adds the BSDFs of multiple materials.
LambertMaterial is a completely matte material.
MeshAreaLight is an AreaLight for the surface of a mesh.
ParticipatingMedium is a volume in which a ray has a probability of hitting a particle, in which the collision probability increases with distance.
A PhongFocusPoint uses a distribution proportional to cos(theta)^alpha, just like phong shading.
PhongMaterial implements the Phong reflection model.
A PointLight is a light eminating from a point and going in all directions equally.
A RayCaster renders objects using simple one-step ray tracing with no recursion.
A RecursiveRayTracer renders objects using recursive tracing with random sampling.
RefractMaterial is an approximate refraction material based on a delta function.
SphereAreaLight is a perfect sphere implementing an area light.
SphereFocusPoint uses a distribution that samples rays which hit a specific sphere.

# Interfaces

AreaLight is a surface that emits light.
AsymMaterial is a specialized Material with a different sampling distribution for destination and source vectors.
A FocusPoint is some part of the scene that warrants extra rays (e.g.
A Material determines how light bounces off a locally flat surface.
An Object is a renderable 3D object.

# Type aliases

Color is a linear RGB color, where X, Y, and Z store R, G, and B respectively.
ColorFunc determines a color for collisions on a surface.
A JoinedObject combines multiple Objects.