Ticket #2692: red_water_patch.diff
File red_water_patch.diff, 3.7 KB (added by , 9 years ago) |
---|
-
source/renderer/Renderer.cpp
667 667 m_Height = height; 668 668 669 669 m->postprocManager.Resize(); 670 671 m_WaterManager->Resize(); 670 672 } 671 673 672 674 ////////////////////////////////////////////////////////////////////////////////////////// -
source/renderer/WaterManager.cpp
293 293 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 294 294 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 295 295 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 296 glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)g_Renderer.GetWidth(), (GLsizei)g_Renderer.GetHeight(), 0, GL_RGBA, GL_UNSIGNED_SHORT, NULL);297 296 298 297 glGenTextures(1, &m_FancyTextureOther); 299 298 glBindTexture(GL_TEXTURE_2D, m_FancyTextureOther); … … 301 300 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 302 301 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 303 302 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 304 glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)g_Renderer.GetWidth(), (GLsizei)g_Renderer.GetHeight(), 0, GL_RGBA, GL_UNSIGNED_SHORT, NULL);305 303 306 304 glGenTextures(1, &m_FancyTextureDepth); 307 305 glBindTexture(GL_TEXTURE_2D, m_FancyTextureDepth); … … 309 307 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 310 308 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 311 309 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 312 glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, (GLsizei)g_Renderer.GetWidth(), (GLsizei)g_Renderer.GetHeight(), 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, NULL); 313 310 314 311 glBindTexture(GL_TEXTURE_2D, 0); 315 312 313 Resize(); 314 316 315 // Create the water framebuffers 317 316 318 317 GLint currentFbo; 319 318 glGetIntegerv(GL_FRAMEBUFFER_BINDING_EXT, ¤tFbo); 320 319 … … 373 372 374 373 375 374 /////////////////////////////////////////////////////////////////// 375 // Resize: Updates the fancy water textures. 376 void WaterManager::Resize() 377 { 378 glBindTexture(GL_TEXTURE_2D, m_FancyTextureNormal); 379 glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)g_Renderer.GetWidth(), (GLsizei)g_Renderer.GetHeight(), 0, GL_RGBA, GL_UNSIGNED_SHORT, NULL); 380 381 glBindTexture(GL_TEXTURE_2D, m_FancyTextureOther); 382 glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)g_Renderer.GetWidth(), (GLsizei)g_Renderer.GetHeight(), 0, GL_RGBA, GL_UNSIGNED_SHORT, NULL); 383 384 glBindTexture(GL_TEXTURE_2D, m_FancyTextureDepth); 385 glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, (GLsizei)g_Renderer.GetWidth(), (GLsizei)g_Renderer.GetHeight(), 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, NULL); 386 387 glBindTexture(GL_TEXTURE_2D, 0); 388 } 389 390 391 /////////////////////////////////////////////////////////////////// 376 392 // Unload water textures 377 393 void WaterManager::UnloadWaterTextures() 378 394 { -
source/renderer/WaterManager.h
136 136 * if more textures need to be loaded and a negative error value on failure. 137 137 */ 138 138 int LoadWaterTextures(); 139 139 140 140 /** 141 * Resize: Updates the fancy water textures so that water will render correctly 142 * with fancy water. 143 */ 144 void Resize(); 145 146 /** 141 147 * UnloadWaterTextures: Free any loaded water textures and reset the internal state 142 148 * so that another call to LoadWaterTextures will begin progressive loading. 143 149 */