Fixed water color in opengl rendering
This commit is contained in:
parent
bf47e058ee
commit
74e707a989
2 changed files with 9 additions and 1 deletions
|
@ -4,6 +4,9 @@
|
||||||
#include "OpenGLShaderProgram.h"
|
#include "OpenGLShaderProgram.h"
|
||||||
#include "OpenGLSharedState.h"
|
#include "OpenGLSharedState.h"
|
||||||
#include "WaterRenderer.h"
|
#include "WaterRenderer.h"
|
||||||
|
#include "Scenery.h"
|
||||||
|
#include "WaterDefinition.h"
|
||||||
|
#include "SurfaceMaterial.h"
|
||||||
|
|
||||||
OpenGLWater::OpenGLWater(OpenGLRenderer *renderer):
|
OpenGLWater::OpenGLWater(OpenGLRenderer *renderer):
|
||||||
OpenGLPart(renderer)
|
OpenGLPart(renderer)
|
||||||
|
@ -34,6 +37,9 @@ void OpenGLWater::update()
|
||||||
{
|
{
|
||||||
double water_height = renderer->getWaterRenderer()->getHeightInfo().max_height;
|
double water_height = renderer->getWaterRenderer()->getHeightInfo().max_height;
|
||||||
renderer->getSharedState()->set("waterHeight", water_height);
|
renderer->getSharedState()->set("waterHeight", water_height);
|
||||||
|
|
||||||
|
Color water_color = renderer->getScenery()->getWater()->material->_rgb;
|
||||||
|
renderer->getSharedState()->set("waterColor", water_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenGLWater::render()
|
void OpenGLWater::render()
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
uniform vec4 waterColor;
|
||||||
|
|
||||||
void main(void)
|
void main(void)
|
||||||
{
|
{
|
||||||
gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);
|
gl_FragColor = waterColor;
|
||||||
|
|
||||||
float yoffset = GROUND_OFFSET - waterHeight;
|
float yoffset = GROUND_OFFSET - waterHeight;
|
||||||
vec3 camera = vec3(cameraLocation.x, max(cameraLocation.y + yoffset, 0.0), cameraLocation.z);
|
vec3 camera = vec3(cameraLocation.x, max(cameraLocation.y + yoffset, 0.0), cameraLocation.z);
|
||||||
|
|
Loading…
Reference in a new issue