diff --git a/PlanetObject.cpp b/PlanetObject.cpp index a7ec4ee..9c19954 100644 --- a/PlanetObject.cpp +++ b/PlanetObject.cpp @@ -85,6 +85,16 @@ namespace ZL { prepareDrawData(); + //-------------------------- + + drawPlanet(renderer); + drawYellowZone(renderer); + + drawAtmosphere(renderer); + } + + void PlanetObject::drawPlanet(Renderer& renderer) + { static const std::string defaultShaderName = "defaultColor"; static const std::string defaultShaderName2 = "defaultColor2"; static const std::string vPositionName = "vPosition"; @@ -158,8 +168,23 @@ namespace ZL { CheckGlError(); glClear(GL_DEPTH_BUFFER_BIT); + } - //-------------------------- + void PlanetObject::drawYellowZone(Renderer& renderer) + { + static const std::string defaultShaderName = "defaultColor"; + static const std::string defaultShaderName2 = "defaultColor2"; + static const std::string vPositionName = "vPosition"; + static const std::string vColorName = "vColor"; + static const std::string vNormalName = "vNormal"; + static const std::string vTexCoordName = "vTexCoord"; + //static const std::string vTexCoord3Name = "vTexCoord3"; + static const std::string textureUniformName = "Texture"; + + float dist = planetData.distanceToPlanetSurface(Environment::shipPosition); + auto zRange = planetData.calculateZRange(dist); + const float currentZNear = zRange.first; + const float currentZFar = zRange.second; if (planetRenderRedStruct.data.PositionData.size() > 0) { @@ -211,8 +236,6 @@ namespace ZL { CheckGlError(); } - - drawAtmosphere(renderer); } void PlanetObject::drawAtmosphere(Renderer& renderer) { diff --git a/PlanetObject.h b/PlanetObject.h index afa7595..6ad2c0c 100644 --- a/PlanetObject.h +++ b/PlanetObject.h @@ -40,6 +40,8 @@ namespace ZL { void init(); void update(float deltaTimeMs); void draw(Renderer& renderer); + void drawPlanet(Renderer& renderer); + void drawYellowZone(Renderer& renderer); void drawAtmosphere(Renderer& renderer); float distanceToPlanetSurface(const Vector3f& viewerPosition);