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 >) | |
![]() | |
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 >) | |
![]() | |
ESdlTypeCategory | getDynamicCategory () const override |
![]() | |
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. | |
![]() | |
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 constexpr ESdlTypeCategory | CATEGORY |
Static category information of the resource. This static category information is required by ISdlResource. See its documentation for more details. | |
![]() | |
TSdlResourceBase ()=default | |
TSdlResourceBase (const TSdlResourceBase &other)=default | |
TSdlResourceBase (TSdlResourceBase &&other)=default | |
TSdlResourceBase & | operator= (const TSdlResourceBase &rhs)=default |
TSdlResourceBase & | operator= (TSdlResourceBase &&rhs)=default |
![]() | |
SdlResourceBase () | |
SdlResourceBase (const SdlResourceBase &other) | |
SdlResourceBase (SdlResourceBase &&other)=default | |
SdlResourceBase & | operator= (const SdlResourceBase &rhs) |
SdlResourceBase & | operator= (SdlResourceBase &&rhs)=default |
![]() | |
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.