43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
#ifndef HYDRAPLANETQUADACTOR
|
|
#define HYDRAPLANETQUADACTOR
|
|
|
|
|
|
#include "../HydraActor.h"
|
|
#include <GLMIncludes.h>
|
|
class CLASS_DEFINE HydraPlanetQuadActor : public HydraActor
|
|
{
|
|
public:
|
|
virtual void InitialiseComponents();
|
|
virtual void DeferredInitialiseComponents();
|
|
virtual void Destroy(){}
|
|
void InitialiseQuad(float planet_diameter, float quad_dimension, uint32_t divisions, glm::dvec3 origin, glm::vec3 orientation);
|
|
private:
|
|
glm::vec3 _ProjectSphere(glm::dvec4 vert_in, glm::mat4 trans, glm::mat4 inv_trans, double diameter, glm::vec3 origin);
|
|
double m_scale = 1.0;
|
|
double m_widthscale = 1000.0f;
|
|
HydraID m_material_component = INVALID_HYDRA_ID;
|
|
HydraID m_position_component = INVALID_HYDRA_ID;
|
|
HydraID m_mesh_component = INVALID_HYDRA_ID;
|
|
uint32_t m_divisions = 100;
|
|
float m_quad_dimension = 0;
|
|
float m_planet_diameter = 0;
|
|
glm::vec3 m_origin {};
|
|
|
|
|
|
protected:
|
|
void _CreatePosition();
|
|
void _CreateMesh();
|
|
void _CreateMaterial();
|
|
void _CreatePhysics();
|
|
void _CreateRenderableComponent();
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* HYDRAPLANETQUADACTOR */
|