Ticket #2692: red_water_patch.diff

File red_water_patch.diff, 3.7 KB (added by pendingchaos, 9 years ago)
  • source/renderer/Renderer.cpp

     
    667667    m_Height = height;
    668668   
    669669    m->postprocManager.Resize();
     670   
     671    m_WaterManager->Resize();
    670672}
    671673
    672674//////////////////////////////////////////////////////////////////////////////////////////
  • source/renderer/WaterManager.cpp

     
    293293    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    294294    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    295295    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);
    297296
    298297    glGenTextures(1, &m_FancyTextureOther);
    299298    glBindTexture(GL_TEXTURE_2D, m_FancyTextureOther);
     
    301300    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    302301    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    303302    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);
    305303
    306304    glGenTextures(1, &m_FancyTextureDepth);
    307305    glBindTexture(GL_TEXTURE_2D, m_FancyTextureDepth);
     
    309307    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    310308    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    311309    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
    314311    glBindTexture(GL_TEXTURE_2D, 0);
    315    
     312
     313    Resize();
     314
    316315    // Create the water framebuffers
    317    
     316
    318317    GLint currentFbo;
    319318    glGetIntegerv(GL_FRAMEBUFFER_BINDING_EXT, &currentFbo);
    320319
     
    373372
    374373
    375374///////////////////////////////////////////////////////////////////
     375// Resize: Updates the fancy water textures.
     376void 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///////////////////////////////////////////////////////////////////
    376392// Unload water textures
    377393void WaterManager::UnloadWaterTextures()
    378394{
  • source/renderer/WaterManager.h

     
    136136     * if more textures need to be loaded and a negative error value on failure.
    137137     */
    138138    int LoadWaterTextures();
    139    
     139
    140140    /**
     141     * Resize: Updates the fancy water textures so that water will render correctly
     142     * with fancy water.
     143     */
     144    void Resize();
     145
     146    /**
    141147     * UnloadWaterTextures: Free any loaded water textures and reset the internal state
    142148     * so that another call to LoadWaterTextures will begin progressive loading.
    143149     */