Class PolygonLight
#include <PolygonLight.h>
Inherits the following classes: ObjectID, Transform3D
Public Types inherited from ObjectID
See ObjectID
| Type | Name |
|---|---|
| enum | GOType Enumeration of scene object types. |
Public Types inherited from Transform
See Transform
| Type | Name |
|---|---|
| enum | TransType Flags for enabling/disabling transform components. |
Public Attributes
| Type | Name |
|---|---|
| glm::vec3 | light_color |
| float | light_power |
| RenderShader | o_shader |
| bool | use_shadow |
| std::vector< float > | verts |
Public Attributes inherited from ObjectID
See ObjectID
| Type | Name |
|---|---|
| bool | is_rendered = trueIncluded in rendering pipeline. |
| bool | is_viewport = trueVisible in viewport (editor-only) |
| std::string | o_name Display name in editor UI . |
| GOType | o_type = NONE\_GORuntime type identifier. |
Public Attributes inherited from Transform3D
See Transform3D
| Type | Name |
|---|---|
| glm::mat4 | o_InvTransform = { 1.0f }Cached inverse world transform matrix. |
| glm::mat4 | o_Transform = { 1.0f }Cached world transform matrix. |
| glm::vec3 | o_dir_right = { 1.0f, 0.0f, 0.0f }Right direction vector (X+) |
| glm::vec3 | o_dir_up = { 0.0f, 1.0f, 0.0f }Up direction vector (Y+) |
| glm::vec3 | o_position = { 0.0f }World position. |
| glm::vec3 | o_rot = { 0.0f }Euler rotation angles (radians): pitch, yaw, roll. |
| glm::vec3 | o_scale = { 1.0f }Local scale (non-uniform allowed) |
Public Attributes inherited from Transform
See Transform
| Type | Name |
|---|---|
| bool | is_TransF_changed = trueTransform matrix needs recomputation. |
| bool | is_Uniform_changed = trueUniform (non-scaled) transform needs recomputation. |
| bool | is_invTransF_changed = trueInverse transform needs recomputation. |
| bool | is_invUniform_changed = trueInverse uniform transform needs recomputation. |
| bool | use_position = { true }Enable position component in transform computation. |
| bool | use_rotation = { true }Enable rotation component in transform computation. |
| bool | use_scale = { true }Enable scale component in transform computation. |
Public Functions
| Type | Name |
|---|---|
| virtual void * | GetTransform () override Returns pointer to object's transform, if applicable. |
| PolygonLight (const std::vector< float > & verts, const glm::vec3 & light_color={1.0f, 1.0f, 1.0f}, float light_power=1.0f, bool useShadow=true) |
|
| void | RenderPolygon (const Context & ctx) |
| void | SetPolygonShader () |
Public Functions inherited from ObjectID
See ObjectID
| Type | Name |
|---|---|
| virtual void * | GetMaterial () Returns pointer to object's material, if applicable. |
| virtual void * | GetShader () Returns pointer to object's shader, if applicable. |
| virtual void * | GetTransform () Returns pointer to object's transform, if applicable. |
| ObjectID () Constructs an ObjectID with default values. |
|
| void | SetVisible (bool v, bool r) Sets visibility flags for viewport and rendering. |
| ~ObjectID () Destroys the ObjectID . |
Public Functions inherited from UID
See UID
| Type | Name |
|---|---|
| int | GetObjectID () const Returns the unique ID of this object. |
| UID () Constructs a UID and assigns a unique ID. |
|
| virtual | ~UID () = default Virtual destructor for polymorphic use. |
Public Functions inherited from Transform3D
See Transform3D
| Type | Name |
|---|---|
| virtual bool | ApplyAllTransform () override Recomputes transform and all parent transforms. |
| virtual bool | ApplyTransform (bool _forced=false) override Recomputes transform matrix if dirty. |
| Transform3D * | GetChildTransPtr () Returns pointer to first child transform. |
| virtual bool | GetInvTransform () override const Computes inverse transform matrix. |
| Transform3D * | GetParentTransPtr () Returns pointer to parent transform. |
| Transform3D * | GetTransformPtr () Returns pointer to this transform. |
| void | LookAt (const glm::vec3 & tar, const glm::vec3 & up={0, 0, 1}) Orients transform to look at target position. |
| void | Move (const glm::vec3 & d_pos) Translates position by offset. |
| void | SetParent (Transform3D * _p_trans, bool _keep_offset=true) Sets parent transform for hierarchy. |
| bool | SetPos (const glm::vec3 & pos) Sets world position. |
| bool | SetPos1D (float _1d, GLuint _dim) Sets single axis of position. |
| bool | SetRot (const glm::vec3 & rot) Sets rotation via Euler angles. |
| bool | SetRot1D (float _1d, GLuint _dim) Sets single axis of rotation. |
| bool | SetScale (const glm::vec3 & scale) Sets local scale. |
| bool | SetScale1D (float _1d, GLuint _dim) Sets single axis of scale. |
| bool | SetTrans (const glm::mat4 & _trans, bool pos=true, bool rot=true, bool scl=true) Sets transform from 4x4 matrix. |
| void | Spin (const glm::vec3 & anch, const glm::vec3 & axis, const float & angle) Rotates around arbitrary axis through anchor point. |
| void | Spin (const glm::vec3 & anch, const glm::vec2 & angle, bool global_up=true) Rotates around anchor with pitch/yaw. |
| void | Trans (const glm::mat4 & _trans) Applies transformation matrix to current transform. |
| Transform3D () Constructs a Transform3D with identity values. |
|
| virtual void | UnsetParent (bool _keep_offset=true) override Removes parent transform relationship. |
| virtual int | _debug () override const Debug utility for transform state inspection. |
| ~Transform3D () Destroys the Transform3D . |
Public Functions inherited from Transform
See Transform
| Type | Name |
|---|---|
| virtual bool | ApplyAllTransform () = 0 Recomputes transform and all parent transforms. |
| virtual bool | ApplyTransform (bool _forced=false) = 0 Recomputes transform matrix if dirty. |
| virtual bool | GetInvTransform () const = 0 Computes inverse transform matrix. |
| virtual void | UnsetParent (bool _keep_offset=true) = 0 Removes parent transform relationship. |
| void | UseTranformComp (bool _enable, TransType _type) Enables or disables specific transform components. |
| virtual int | _debug () const = 0 Debug utility for transform state inspection. |
Public Static Functions inherited from UID
See UID
| Type | Name |
|---|---|
| int | GetTotalAllocated () Returns total number of UIDs allocated. |
Public Attributes Documentation
variable light_color
glm::vec3 PolygonLight::light_color;
variable light_power
float PolygonLight::light_power;
variable o_shader
RenderShader PolygonLight::o_shader;
variable use_shadow
bool PolygonLight::use_shadow;
variable verts
std::vector<float> PolygonLight::verts;
Public Functions Documentation
function GetTransform
Returns pointer to object's transform, if applicable.
inline virtual void * PolygonLight::GetTransform () override
Returns:
Void pointer cast to Transform*, or nullptr if no transform
Note:
Override in derived classes with Transform component (Camera, Light, Mesh)
Implements ObjectID::GetTransform
function PolygonLight
PolygonLight::PolygonLight (
const std::vector< float > & verts,
const glm::vec3 & light_color={1.0f, 1.0f, 1.0f},
float light_power=1.0f,
bool useShadow=true
)
function RenderPolygon
void PolygonLight::RenderPolygon (
const Context & ctx
)
function SetPolygonShader
void PolygonLight::SetPolygonShader ()
The documentation for this class was generated from the following file src/scene/PolygonLight.h