[Scummvm-git-logs] scummvm master -> ea011b437b36a530a1db468a4d7e9c3ea30e8534

aquadran noreply at scummvm.org
Thu Oct 31 16:24:55 UTC 2024


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
ea011b437b WINTERMUTE: Cleanup renderer init() function


Commit: ea011b437b36a530a1db468a4d7e9c3ea30e8534
    https://github.com/scummvm/scummvm/commit/ea011b437b36a530a1db468a4d7e9c3ea30e8534
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2024-10-31T17:24:50+01:00

Commit Message:
WINTERMUTE: Cleanup renderer init() function

Changed paths:
    engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
    engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
    engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
    engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
    engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h


diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
index 3d77aa19675..9b949386548 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
@@ -68,23 +68,10 @@ BaseRenderOpenGL3D::BaseRenderOpenGL3D(BaseGame *inGame) : BaseRenderer3D(inGame
 }
 
 BaseRenderOpenGL3D::~BaseRenderOpenGL3D() {
-	_camera = nullptr;
+	_camera = nullptr; // ref only
 }
 
 bool BaseRenderOpenGL3D::initRenderer(int width, int height, bool windowed) {
-	_windowed = !ConfMan.getBool("fullscreen");
-	_width = width;
-	_height = height;
-
-	_nearClipPlane = 90.0f;
-	_farClipPlane = 10000.0f;
-
-	setViewport(0, 0, width, height);
-
-	_active = true;
-	// setup a proper state
-	setup2D(true);
-
 	_simpleShadow[0].x = -1.0f;
 	_simpleShadow[0].y = 0.0f;
 	_simpleShadow[0].z = 1.0f;
@@ -121,8 +108,18 @@ bool BaseRenderOpenGL3D::initRenderer(int width, int height, bool windowed) {
 	_simpleShadow[3].u = 1.0f;
 	_simpleShadow[3].v = 0.0f;
 
+
+
+	_windowed = !ConfMan.getBool("fullscreen");
+	_width = width;
+	_height = height;
+
+	setViewport(0, 0, width, height);
+
 	setProjection();
 
+	_active = true;
+
 	return true;
 }
 
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
index 7abad24c687..2b55d58664b 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
@@ -58,19 +58,16 @@ BaseRenderer3D *makeOpenGL3DShaderRenderer(BaseGame *inGame) {
 }
 
 BaseRenderOpenGL3DShader::BaseRenderOpenGL3DShader(BaseGame *inGame) : BaseRenderer3D(inGame) {
-	_flatShadowMaskShader = nullptr;
+	_spriteVBO = 0;
 }
 
 BaseRenderOpenGL3DShader::~BaseRenderOpenGL3DShader() {
-	_camera = nullptr;
-
+	_camera = nullptr; // ref only
 	glDeleteBuffers(1, &_spriteVBO);
-	glDeleteTextures(1, &_flatShadowRenderTexture);
-	glDeleteRenderbuffers(1, &_flatShadowDepthBuffer);
-	glDeleteFramebuffers(1, &_flatShadowFrameBuffer);
 }
 
 bool BaseRenderOpenGL3DShader::initRenderer(int width, int height, bool windowed) {
+
 	glGenBuffers(1, &_spriteVBO);
 	glBindBuffer(GL_ARRAY_BUFFER, _spriteVBO);
 	glBufferData(GL_ARRAY_BUFFER, 4 * sizeof(SpriteVertexShader), nullptr, GL_DYNAMIC_DRAW);
@@ -106,25 +103,16 @@ bool BaseRenderOpenGL3DShader::initRenderer(int width, int height, bool windowed
 		lightEnable(i, false);
 	}
 
-	_windowed = !ConfMan.getBool("fullscreen");
-	_width = width;
-	_height = height;
-
-	_nearClipPlane = 90.0f;
-	_farClipPlane = 10000.0f;
-
-	setViewport(0, 0, width, height);
-
 	float fadeVertexCoords[8];
 
-	fadeVertexCoords[0 * 2 + 0] = _viewportRect.left;
-	fadeVertexCoords[0 * 2 + 1] = _viewportRect.bottom;
-	fadeVertexCoords[1 * 2 + 0] = _viewportRect.left;
-	fadeVertexCoords[1 * 2 + 1] = _viewportRect.top;
-	fadeVertexCoords[2 * 2 + 0] = _viewportRect.right;
-	fadeVertexCoords[2 * 2 + 1] = _viewportRect.bottom;
-	fadeVertexCoords[3 * 2 + 0] = _viewportRect.right;
-	fadeVertexCoords[3 * 2 + 1] = _viewportRect.top;
+	fadeVertexCoords[0 * 2 + 0] = 0;
+	fadeVertexCoords[0 * 2 + 1] = height;
+	fadeVertexCoords[1 * 2 + 0] = 0;
+	fadeVertexCoords[1 * 2 + 1] = 0;
+	fadeVertexCoords[2 * 2 + 0] = width;
+	fadeVertexCoords[2 * 2 + 1] = height;
+	fadeVertexCoords[3 * 2 + 0] = width;
+	fadeVertexCoords[3 * 2 + 1] = 0;
 
 	glGenBuffers(1, &_fadeVBO);
 	glBindBuffer(GL_ARRAY_BUFFER, _fadeVBO);
@@ -144,13 +132,18 @@ bool BaseRenderOpenGL3DShader::initRenderer(int width, int height, bool windowed
 	_lineShader = OpenGL::Shader::fromFiles("wme_line", lineAttributes);
 	_lineShader->enableVertexAttribute("position", _lineVBO, 2, GL_FLOAT, false, 8, 0);
 
-	static const char *flatShadowXModelAttributes[] = { "position", nullptr };
-	_flatShadowXModelShader = OpenGL::Shader::fromFiles("wme_flat_shadow_modelx", flatShadowXModelAttributes);
 
-	_active = true;
+
+	_windowed = !ConfMan.getBool("fullscreen");
+	_width = width;
+	_height = height;
+
+	setViewport(0, 0, width, height);
 
 	setProjection();
 
+	_active = true;
+
 	return true;
 }
 
@@ -761,7 +754,7 @@ Mesh3DS *BaseRenderOpenGL3DShader::createMesh3DS() {
 }
 
 XMesh *BaseRenderOpenGL3DShader::createXMesh() {
-	return new XMeshOpenGLShader(_gameRef, _xmodelShader, _flatShadowXModelShader);
+	return new XMeshOpenGLShader(_gameRef, _xmodelShader);
 }
 
 ShadowVolume *BaseRenderOpenGL3DShader::createShadowVolume() {
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
index 6ea6005eb23..99eeb7c416a 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
@@ -130,9 +130,6 @@ private:
 	GLuint _spriteVBO;
 	GLuint _fadeVBO;
 	GLuint _lineVBO;
-	GLuint _flatShadowFrameBuffer;
-	GLuint _flatShadowRenderTexture;
-	GLuint _flatShadowDepthBuffer;
 	OpenGL::Shader *_spriteShader;
 	OpenGL::Shader *_fadeShader;
 	OpenGL::Shader *_xmodelShader;
@@ -140,8 +137,6 @@ private:
 	OpenGL::Shader *_shadowVolumeShader;
 	OpenGL::Shader *_shadowMaskShader;
 	OpenGL::Shader *_lineShader;
-	OpenGL::Shader *_flatShadowXModelShader;
-	OpenGL::Shader *_flatShadowMaskShader;
 };
 
 } // namespace Wintermute
diff --git a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
index ad84baa1c4e..12de425b9a3 100644
--- a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
@@ -38,8 +38,8 @@
 namespace Wintermute {
 
 //////////////////////////////////////////////////////////////////////////
-XMeshOpenGLShader::XMeshOpenGLShader(BaseGame *inGame, OpenGL::Shader *shader, OpenGL::Shader *flatShadowShader) :
-	XMesh(inGame), _shader(shader), _flatShadowShader(flatShadowShader) {
+XMeshOpenGLShader::XMeshOpenGLShader(BaseGame *inGame, OpenGL::Shader *shader) :
+	XMesh(inGame), _shader(shader) {
 	glGenBuffers(1, &_vertexBuffer);
 	glGenBuffers(1, &_indexBuffer);
 }
diff --git a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
index 3b664af7923..4d84e8b39cb 100644
--- a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
+++ b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
@@ -38,7 +38,7 @@ namespace Wintermute {
 
 class XMeshOpenGLShader : public XMesh {
 public:
-	XMeshOpenGLShader(BaseGame *inGame, OpenGL::Shader *shader, OpenGL::Shader *flatShadowShader);
+	XMeshOpenGLShader(BaseGame *inGame, OpenGL::Shader *shader);
 	~XMeshOpenGLShader() override;
 
 	bool loadFromXData(const Common::String &filename, XFileData *xobj) override;




More information about the Scummvm-git-logs mailing list