43 lines
836 B
C++
43 lines
836 B
C++
#include "planet/Planet.h"
|
|
#include "planet/PlanetFace.h"
|
|
|
|
Planet::Planet(glm::vec3 position, float radius, PlanetNoiseParams &noiseParams) :
|
|
m_position(position), m_radius(radius), m_noise(noiseParams.frequency, noiseParams.amplitude, noiseParams.lacunarity, noiseParams.persistence)
|
|
{
|
|
for (int i = 0; i < 6; i++)
|
|
{
|
|
m_faces[i] = new PlanetFace(this, i);
|
|
}
|
|
}
|
|
|
|
Planet::~Planet()
|
|
{
|
|
for (int i = 0; i < 6; i++)
|
|
{
|
|
delete m_faces[i];
|
|
}
|
|
}
|
|
|
|
void Planet::draw(Camera* camera, Shader* shader)
|
|
{
|
|
for (int i = 0; i < 6; i++)
|
|
{
|
|
m_faces[i]->draw(camera, shader);
|
|
}
|
|
}
|
|
|
|
void Planet::tick(Camera* camera, GLfloat dtime)
|
|
{
|
|
for (int i = 0; i < 6; i++)
|
|
{
|
|
m_faces[i]->tick(camera, dtime);
|
|
}
|
|
}
|
|
|
|
glm::mat4 Planet::getTransformation()
|
|
{
|
|
glm::mat4 newMat = glm::mat4(1.0f);
|
|
newMat = glm::translate(newMat, m_position);
|
|
return newMat;
|
|
}
|