Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
|
#include <starsystemview.h>
Public Member Functions | |
SysStarSystemRenderer (cqsp::common::Universe &, cqsp::engine::Application &) | |
void | Initialize () |
void | OnTick () |
void | Render (float deltaTime) |
void | SeeStarSystem () |
void | SeeEntity () |
void | Update (float deltaTime) |
void | SeePlanet (entt::entity) |
void | DoUI (float deltaTime) |
glm::vec3 | GetMouseIntersectionOnObject (int mouse_x, int mouse_y) |
double | GetDivider () |
entt::entity | GetMouseOnObject (int mouse_x, int mouse_y) |
void | DrawAllOrbits () |
void | DrawOrbit (const entt::entity &entity) |
void | OrbitEditor () |
~SysStarSystemRenderer () | |
Static Public Member Functions | |
static bool | IsFoundingCity (common::Universe &universe) |
Public Attributes | |
float | view_x = 0 |
float | view_y = 0 |
double | previous_mouseX |
double | previous_mouseY |
double | scroll = 10 |
double | min_zoom = 1 |
double | max_zoom = 9.4605284e15 |
glm::vec3 | view_center |
Private Member Functions | |
void | DrawStars () |
void | DrawBodies () |
void | DrawShips () |
void | DrawSkybox () |
void | DrawModels () |
void | DrawEntityName (glm::vec3 &object_pos, entt::entity ent_id) |
void | DrawPlanetIcon (glm::vec3 &object_pos) |
void | DrawPlanetBillboards (const entt::entity &ent_id, const glm::vec3 &object_pos) |
void | DrawShipIcon (const glm::vec3 &object_pos) |
void | DrawCityIcon (const glm::vec3 &object_pos) |
void | DrawAllCities (auto &bodies) |
void | DrawAllPlanets (auto &bodies) |
void | DrawAllPlanetBillboards (auto &bodies) |
void | DrawTexturedPlanet (const glm::vec3 &object_pos, const entt::entity entity) |
void | GetPlanetTexture (const entt::entity entity, bool &have_normal, bool &have_roughness, bool &have_province) |
void | DrawTerrainlessPlanet (const entt::entity &entity, glm::vec3 &object_pos) |
void | DrawStar (const entt::entity &entity, glm::vec3 &object_pos) |
void | RenderCities (glm::vec3 &object_pos, const entt::entity &body_entity) |
bool | CityIsVisible (glm::vec3 city_pos, glm::vec3 planet_pos, glm::vec3 cam_pos) |
void | CalculateCityPositions () |
void | CalculateScroll () |
void | LoadPlanetTextures () |
void | InitializeFramebuffers () |
void | LoadProvinceMap () |
void | InitializeMeshes () |
void | GenerateOrbit (entt::entity body) |
glm::quat | GetBodyRotation (double axial, double rotation, double day_offset) |
Gets the quaternion to calculate the planet's rotation from the axial rotation and the rotation period More... | |
void | FocusCityView () |
glm::vec3 | CalculateObjectPos (const entt::entity &) |
glm::vec3 | CalculateCenteredObject (const entt::entity &) |
glm::vec3 | CalculateCenteredObject (const glm::vec3 &) |
glm::vec3 | TranslateToNormalized (const glm::vec3 &) |
glm::vec3 | ConvertPoint (const glm::vec3 &) |
glm::vec4 | CalculateGLPosition (const glm::vec3 &object_pos) |
Calculates the GL position for a log renderbuffer. More... | |
bool | GLPositionNotInBounds (const glm::vec4 &gl_Position, const glm::vec3 &pos) |
Check if the GL position is within the window More... | |
glm::mat4 | GetBillboardMatrix (const glm::vec3 &pos) |
glm::vec3 | GetBillboardPosition (const glm::vec3 &object_pos) |
void | SetBillboardProjection (cqsp::asset::ShaderProgram_t &shader, glm::mat4 mat) |
void | CenterCameraOnCity () |
void | CalculateCamera () |
void | MoveCamera (double deltaTime) |
void | CheckResourceDistRender () |
glm::vec3 | CalculateMouseRay (const glm::vec3 &ray_nds) |
void | CalculateViewChange (double deltaX, double deltaY) |
void | FoundCity () |
void | SelectCountry () |
void | FocusOnEntity (entt::entity ent) |
float | GetWindowRatio () |
void | GenerateOrbitLines () |
void | RenderInformationWindow (double deltaTime) |
void | RenderSelectedObjectInformation () |
glm::vec3 | GetMouseOnObject () |
common::components::types::SurfaceCoordinate | GetMouseSurfaceIntersection () |
void | CityDetection () |
cqsp::client::systems::SysStarSystemRenderer::SysStarSystemRenderer | ( | cqsp::common::Universe & | _u, |
cqsp::engine::Application & | _a | ||
) |
|
default |
|
private |
|
private |
|
private |
|
private |
|
private |
Calculates the GL position for a log renderbuffer.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
void cqsp::client::systems::SysStarSystemRenderer::DoUI | ( | float | deltaTime | ) |
|
private |
void cqsp::client::systems::SysStarSystemRenderer::DrawAllOrbits | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
void cqsp::client::systems::SysStarSystemRenderer::DrawOrbit | ( | const entt::entity & | entity | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Gets the quaternion to calculate the planet's rotation from the axial rotation and the rotation period
axial | Axial rotation in radians |
rotation | Rotation period in seconds |
|
inline |
glm::vec3 cqsp::client::systems::SysStarSystemRenderer::GetMouseIntersectionOnObject | ( | int | mouse_x, |
int | mouse_y | ||
) |
|
inlineprivate |
entt::entity cqsp::client::systems::SysStarSystemRenderer::GetMouseOnObject | ( | int | mouse_x, |
int | mouse_y | ||
) |
|
private |
|
private |
|
private |
|
private |
Check if the GL position is within the window
void cqsp::client::systems::SysStarSystemRenderer::Initialize | ( | ) |
|
private |
|
private |
|
static |
|
private |
|
private |
|
private |
void cqsp::client::systems::SysStarSystemRenderer::OnTick | ( | ) |
void cqsp::client::systems::SysStarSystemRenderer::OrbitEditor | ( | ) |
void cqsp::client::systems::SysStarSystemRenderer::Render | ( | float | deltaTime | ) |
|
private |
|
private |
|
private |
void cqsp::client::systems::SysStarSystemRenderer::SeeEntity | ( | ) |
void cqsp::client::systems::SysStarSystemRenderer::SeePlanet | ( | entt::entity | ent | ) |
void cqsp::client::systems::SysStarSystemRenderer::SeeStarSystem | ( | ) |
|
private |
|
private |
|
private |
void cqsp::client::systems::SysStarSystemRenderer::Update | ( | float | deltaTime | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
double cqsp::client::systems::SysStarSystemRenderer::max_zoom = 9.4605284e15 |
double cqsp::client::systems::SysStarSystemRenderer::min_zoom = 1 |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
double cqsp::client::systems::SysStarSystemRenderer::previous_mouseX |
double cqsp::client::systems::SysStarSystemRenderer::previous_mouseY |
|
private |
|
private |
|
private |
|
private |
double cqsp::client::systems::SysStarSystemRenderer::scroll = 10 |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Debugging colors
|
private |
Debugging mouse position
|
private |
|
private |
glm::vec3 cqsp::client::systems::SysStarSystemRenderer::view_center |
|
private |
float cqsp::client::systems::SysStarSystemRenderer::view_x = 0 |
float cqsp::client::systems::SysStarSystemRenderer::view_y = 0 |
|
private |
|
private |
|
private |