1
1
#include " PostProcessMan.h"
2
2
3
3
#include " CameraMan.h"
4
+ #include " WindowMan.h"
4
5
#include " FrameMan.h"
5
6
#include " Scene.h"
6
7
#include " ContentFile.h"
@@ -126,7 +127,7 @@ void PostProcessMan::CreateGLBackBuffers() {
126
127
GL_CHECK (glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST));
127
128
UpdatePalette ();
128
129
GL_CHECK (glActiveTexture (GL_TEXTURE0));
129
- m_ProjectionMatrix = std::make_unique<glm::mat4>(glm::ortho (0 .0F , static_cast <float >(g_FrameMan. GetBackBuffer8 ()-> w ), 0 .0F , static_cast <float >(g_FrameMan. GetBackBuffer8 ()-> h ), -1 .0F , 1 .0F ));
130
+ m_ProjectionMatrix = std::make_unique<glm::mat4>(glm::ortho (0 .0F , static_cast <float >(g_WindowMan. GetResX () ), 0 .0F , static_cast <float >(g_WindowMan. GetResY () ), -1 .0F , 1 .0F ));
130
131
}
131
132
132
133
void PostProcessMan::UpdatePalette () {
@@ -152,8 +153,8 @@ void PostProcessMan::LazyInitBitmap(BITMAP* bitmap) {
152
153
GL_CHECK (glActiveTexture (GL_TEXTURE0));
153
154
GL_CHECK (glBindTexture (GL_TEXTURE_2D, reinterpret_cast <GLBitmapInfo*>(bitmap->extra )->m_Texture ));
154
155
GL_CHECK (glTexImage2D (GL_TEXTURE_2D, 0 , GL_RGBA, bitmap->w , bitmap->h , 0 , GL_RGBA, GL_UNSIGNED_BYTE, bitmap->line [0 ]));
155
- GL_CHECK (glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ));
156
- GL_CHECK (glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ));
156
+ GL_CHECK (glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ));
157
+ GL_CHECK (glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ));
157
158
GL_CHECK (glGenerateMipmap (GL_TEXTURE_2D));
158
159
}
159
160
@@ -385,7 +386,7 @@ void PostProcessMan::PostProcess() {
385
386
GL_CHECK (glBindTexture (GL_TEXTURE_2D, m_Palette8Texture));
386
387
GL_CHECK (glBindFramebuffer (GL_DRAW_FRAMEBUFFER, m_BlitFramebuffer));
387
388
GL_CHECK (glFramebufferTexture2D (GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_BackBuffer32, 0 ));
388
- GL_CHECK (glViewport (0 , 0 , g_FrameMan. GetBackBuffer8 ()-> w , g_FrameMan. GetBackBuffer8 ()-> h ));
389
+ GL_CHECK (glViewport (0 , 0 , g_WindowMan. GetResX (), g_WindowMan. GetResY () ));
389
390
m_Blit8->Use ();
390
391
m_Blit8->SetInt (m_Blit8->GetTextureUniform (), 0 );
391
392
int paletteUniform = m_Blit8->GetUniformLocation (" rtePalette" );
@@ -404,7 +405,7 @@ void PostProcessMan::PostProcess() {
404
405
GL_CHECK (glBlendColor (0 .5F , 0 .5F , 0 .5F , 0 .5F ));
405
406
GL_CHECK (glBindFramebuffer (GL_FRAMEBUFFER, m_PostProcessFramebuffer));
406
407
GL_CHECK (glFramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_BackBuffer32, 0 ));
407
- GL_CHECK (glViewport (0 , 0 , g_FrameMan. GetBackBuffer8 ()-> w , g_FrameMan. GetBackBuffer8 ()-> h ));
408
+ GL_CHECK (glViewport (0 , 0 , g_WindowMan. GetResX (), g_WindowMan. GetResY () ));
408
409
409
410
m_PostProcessShader->Use ();
410
411
@@ -503,7 +504,7 @@ void PostProcessMan::DrawPostScreenEffects() {
503
504
glm::mat4 transformMatrix (1 );
504
505
transformMatrix = glm::translate (transformMatrix, glm::vec3 (effectPosX, effectPosY, 0 ));
505
506
transformMatrix = glm::rotate (transformMatrix, -postEffect.m_Angle , glm::vec3 (0 , 0 , 1 ));
506
- transformMatrix = glm::scale (transformMatrix, glm::vec3 (effectBitmap->w * 0 .5f , effectBitmap->h * 0 .5f , 1.0 ));
507
+ transformMatrix = glm::scale (transformMatrix, glm::vec3 (static_cast < float >( effectBitmap->w )* .5f , static_cast < float >( effectBitmap->h )* .5f , 1 .0f ));
507
508
508
509
GL_CHECK (glBindTexture (GL_TEXTURE_2D, reinterpret_cast <GLBitmapInfo*>(postEffect.m_Bitmap ->extra )->m_Texture ));
509
510
m_PostProcessShader->SetMatrix4f (m_PostProcessShader->GetTransformUniform (), transformMatrix);
0 commit comments