21 #ifndef __LIB_LIGHTMETICA_SURFACE_GEOMETRY_H__
22 #define __LIB_LIGHTMETICA_SURFACE_GEOMETRY_H__
25 #include "math.types.h"
26 #include "math.linalgebra.h"
57 Math::OrthonormalBasis(sn, ss, st);
60 shadingToWorld = Math::Mat3(ss, st, sn);
61 worldToShading = Math::Transpose(shadingToWorld);
68 #endif // __LIB_LIGHTMETICA_SURFACE_GEOMETRY_H__
Math::Vec3 p
Intersection point.
Definition: surfacegeometry.h:41
Math::Mat3 shadingToWorld
Convarsion to world coordinates from local shading coordinates.
Definition: surfacegeometry.h:48
LM_FORCE_INLINE void ComputeTangentSpace()
Definition: surfacegeometry.h:54
Math::Vec3 st
Tangent vectors w.r.t. shading normal.
Definition: surfacegeometry.h:44
Math::Vec3 gn
Geometry normal.
Definition: surfacegeometry.h:42
Definition: surfacegeometry.h:36
bool degenerated
The surface geometry is positionally degenerated if true.
Definition: surfacegeometry.h:39
Math::Vec2 uv
Texture coordinates.
Definition: surfacegeometry.h:45
Math::Mat3 worldToShading
Convarsion to local shading coordinates from world coordinates.
Definition: surfacegeometry.h:47
Math::Vec3 sn
Shading normal.
Definition: surfacegeometry.h:43