Photon Engine 2.0.0-beta
A physically based renderer.
|
Basic triangle mesh. More...
#include <GTriangleMesh.h>
Public Member Functions | |
GTriangleMesh () | |
GTriangleMesh (std::vector< math::Vector3R > positions, std::vector< math::Vector3R > texCoords, std::vector< math::Vector3R > normals) | |
void | storeCooked (CookedGeometry &out_geometry, const CookingContext &ctx) const override |
Store data suitable for rendering into out_geometry . | |
void | genPrimitive (const PrimitiveBuildingMaterial &data, std::vector< std::unique_ptr< Primitive > > &out_primitives) const override |
std::shared_ptr< Geometry > | genTransformed (const math::StaticAffineTransform &transform) const override |
std::vector< GTriangle > | genTriangles () const |
void | addTriangle (const GTriangle &gTriangle) |
PH_DEFINE_SDL_CLASS (TSdlOwnerClass< GTriangleMesh >) | |
Public Member Functions inherited from ph::Geometry | |
virtual std::shared_ptr< Geometry > | genTriangulated () const |
CookedGeometry * | createCooked (const CookingContext &ctx) const |
Create a CookedGeometry that contains data suitable for rendering. | |
PH_DEFINE_SDL_CLASS (TSdlOwnerClass< Geometry >) | |
Public Member Functions inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry > | |
ESdlTypeCategory | getDynamicCategory () const override |
Public Member Functions inherited from ph::SdlResourceBase | |
SdlResourceId | getId () const override |
Get the unique ID of this resource. The returned ID is guaranteed to be unique in the current process. Newly created resource cannot have an ID that has been used by a previous resource, even if the previous resource has ended its life cycle. See SdlResourceId.h for some utilities. | |
Public Member Functions inherited from ph::ISdlResource | |
ISdlResource (const ISdlResource &other)=default | |
ISdlResource (ISdlResource &&other)=default | |
virtual | ~ISdlResource ()=default |
ISdlResource & | operator= (const ISdlResource &rhs)=default |
ISdlResource & | operator= (ISdlResource &&rhs)=default |
virtual const SdlClass * | getDynamicSdlClass () const |
Get runtime SDL class of the resource. | |
virtual bool | isInlinable () const |
Additional Inherited Members | |
Static Public Attributes inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry > | |
static constexpr ESdlTypeCategory | CATEGORY |
Static category information of the resource. This static category information is required by ISdlResource. See its documentation for more details. | |
Protected Member Functions inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry > | |
TSdlResourceBase ()=default | |
TSdlResourceBase (const TSdlResourceBase &other)=default | |
TSdlResourceBase (TSdlResourceBase &&other)=default | |
TSdlResourceBase & | operator= (const TSdlResourceBase &rhs)=default |
TSdlResourceBase & | operator= (TSdlResourceBase &&rhs)=default |
Protected Member Functions inherited from ph::SdlResourceBase | |
SdlResourceBase () | |
SdlResourceBase (const SdlResourceBase &other) | |
SdlResourceBase (SdlResourceBase &&other)=default | |
SdlResourceBase & | operator= (const SdlResourceBase &rhs) |
SdlResourceBase & | operator= (SdlResourceBase &&rhs)=default |
Protected Member Functions inherited from ph::ISdlResource | |
ISdlResource ()=default | |
Basic triangle mesh.
This is a naive representation of triangle mesh (simply an aggregate of individual triangle attributes).
ph::GTriangleMesh::GTriangleMesh | ( | ) |
ph::GTriangleMesh::GTriangleMesh | ( | std::vector< math::Vector3R > | positions, |
std::vector< math::Vector3R > | texCoords, | ||
std::vector< math::Vector3R > | normals ) |
void ph::GTriangleMesh::addTriangle | ( | const GTriangle & | gTriangle | ) |
|
overridevirtual |
Implements ph::Geometry.
|
overridevirtual |
Reimplemented from ph::Geometry.
std::vector< GTriangle > ph::GTriangleMesh::genTriangles | ( | ) | const |
|
inline |
|
overridevirtual |
Store data suitable for rendering into out_geometry
.
Implements ph::Geometry.