TerraForge3D  2.3.1
3D Terrain And Landscape Generator

◆ Render()

void SeaManager::Render ( Camera camera,
LightManager lights,
void *  reflectionTexture,
float  time = 0 
)

Definition at line 106 of file SeaManager.cpp.

107{
108 shader->Bind();
109 shader->SetTime(&time);
110 shader->SetUniformf("_SeaAlpha", alpha);
111 shader->SetUniformf("_SeaDistScale", distrotionScale);
112 shader->SetUniformf("_SeaDistStrength", distrotionStrength);
113 shader->SetUniformf("_SeaReflectivity", reflectivity);
114 shader->SetUniformf("_SeaLevel", level);
115 shader->SetUniformf("_SeaWaveSpeed", waveSpeed);
116 glActiveTexture(7);
117 glBindTexture(GL_TEXTURE_2D, (GLuint)((uintptr_t)reflectionTexture));
118 shader->SetUniformi("_ReflectionTexture", 7);
119
120 if (dudvMap)
121 {
122 dudvMap->Bind(8);
123 }
124
125 shader->SetUniformi("_DuDvMap", 8);
126
127 if (normalMap)
128 {
129 normalMap->Bind(9);
130 }
131
132 shader->SetUniformi("_NormalMap", 9);
133 model->position.y = level;
134 model->scale.x = scale;
135 model->scale.z = scale;
136 model->Update();
137 shader->SetUniform3f("_SeaColor", color);
138 glm::mat4 mpv = camera.pv * model->modelMatrix;
139 shader->SetMPV(mpv);
140 shader->SetLightCol(lights->color);
141 shader->SetLightPos(lights->position);
142 model->Render();
143}