Polyphase Game Engine
Loading...
Searching...
No Matches
PointLight3d.h
Go to the documentation of this file.
1#pragma once
2
3#include "Light3d.h"
4#include "AssetRef.h"
5
7{
8 glm::mat4 mWVP;
9 glm::vec4 mPosition;
10 glm::vec4 mColor;
11 float mRadius;
12 float mPadding0;
13 float mPadding1;
14 float mPadding2;
15
17 mRadius(1.0f),
18 mPadding0(0.0f),
19 mPadding1(0.0f),
20 mPadding2(0.0f)
21 {
22 }
23};
24
26{
27public:
28
30
33
34 virtual void Create() override;
35 virtual void Destroy() override;
36
37 virtual const char* GetTypeName() const override;
38 virtual void GatherProperties(std::vector<Property>& outProps) override;
39 virtual void GatherProxyDraws(std::vector<DebugDraw>& inoutDraws) override;
40
41 virtual bool IsPointLight3D() const override;
42 virtual bool IsDirectionalLight3D() const override;
43
44 void SetRadius(float radius);
45 float GetRadius() const;
46
47protected:
48
49 float mRadius;
50};
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition Light3d.h:6
virtual const char * GetTypeName() const override
Definition Light3d.cpp:23
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Light3d.cpp:28
virtual bool IsPointLight3D() const =0
virtual bool IsDirectionalLight3D() const =0
virtual void Create() override
Definition Node3d.cpp:96
virtual void Destroy() override
Definition Node3d.cpp:101
virtual void GatherProxyDraws(std::vector< DebugDraw > &inoutDraws)
Definition Node3d.cpp:298
Definition PointLight3d.h:26
float mRadius
Definition PointLight3d.h:49
DECLARE_NODE(PointLight3D, Light3D)
Definition PointLight3d.h:7
float mPadding2
Definition PointLight3d.h:14
float mPadding1
Definition PointLight3d.h:13
glm::vec4 mPosition
Definition PointLight3d.h:9
float mRadius
Definition PointLight3d.h:11
PointLightData()
Definition PointLight3d.h:16
float mPadding0
Definition PointLight3d.h:12
glm::mat4 mWVP
Definition PointLight3d.h:8
glm::vec4 mColor
Definition PointLight3d.h:10