@@ -83,66 +83,26 @@ TEST_F(ShaderManagerTest, Instance)
8383
8484TEST_F (ShaderManagerTest, GetShaderProgram)
8585{
86- static const QByteArray vertHeader = " #version 330 core\n #define lowp\n #define mediump\n #define highp\n #line 1\n " ;
87- static const QByteArray fragHeader =
88- " #version 330\n #ifdef GL_KHR_blend_equation_advanced\n #extension GL_ARB_fragment_coord_conventions : enable\n #extension GL_KHR_blend_equation_advanced : enable\n #endif\n #define lowp\n #define "
89- " mediump\n #define highp\n #line 1\n " ;
90-
91- // Color and ghost
9286 ShaderManager manager;
93- const std::unordered_map<ShaderManager::Effect, double > effects1 = { { ShaderManager::Effect::Color, 64.9 }, { ShaderManager::Effect::Ghost, 12.5 } };
87+ const std::unordered_map<ShaderManager::Effect, double > effects = { { ShaderManager::Effect::Color, 64.9 }, { ShaderManager::Effect::Ghost, 12.5 } };
9488
95- QOpenGLShaderProgram *program1 = manager.getShaderProgram (effects1 );
96- ASSERT_EQ (program1 ->parent (), &manager);
97- ASSERT_TRUE (program1 ->isLinked ());
89+ QOpenGLShaderProgram *program = manager.getShaderProgram (effects );
90+ ASSERT_EQ (program ->parent (), &manager);
91+ ASSERT_TRUE (program ->isLinked ());
9892
99- auto shaders = program1 ->shaders ();
93+ auto shaders = program ->shaders ();
10094 ASSERT_EQ (shaders.size (), 2 );
10195 QOpenGLShader *vert = shaders[0 ];
10296 QOpenGLShader *frag = shaders[1 ];
10397 ASSERT_EQ (vert->shaderType (), QOpenGLShader::Vertex);
104- ASSERT_EQ (vert->sourceCode (), vertHeader + m_vertexShader);
105- ASSERT_EQ (frag->shaderType (), QOpenGLShader::Fragment);
106- ASSERT_EQ (frag->sourceCode (), fragHeader + " #define ENABLE_ghost\n #define ENABLE_color\n " + m_fragmentShader);
107-
108- // Brightness and ghost
109- const std::unordered_map<ShaderManager::Effect, double > effects2 = { { ShaderManager::Effect::Brightness, 64.9 }, { ShaderManager::Effect::Ghost, 12.5 } };
110-
111- QOpenGLShaderProgram *program2 = manager.getShaderProgram (effects2);
112- ASSERT_EQ (program2->parent (), &manager);
113- ASSERT_TRUE (program2->isLinked ());
114-
115- shaders = program2->shaders ();
116- ASSERT_EQ (shaders.size (), 2 );
117- vert = shaders[0 ];
118- frag = shaders[1 ];
119- ASSERT_EQ (vert->shaderType (), QOpenGLShader::Vertex);
120- ASSERT_EQ (vert->sourceCode (), vertHeader + m_vertexShader);
12198 ASSERT_EQ (frag->shaderType (), QOpenGLShader::Fragment);
122- ASSERT_EQ (frag->sourceCode (), fragHeader + " #define ENABLE_ghost\n #define ENABLE_brightness\n " + m_fragmentShader);
12399
124100 // Test shader program cache
125- QOpenGLShaderProgram * program = manager.getShaderProgram (effects1 );
126- ASSERT_EQ (program, program1 );
101+ program = manager.getShaderProgram (effects );
102+ ASSERT_EQ (program, program );
127103
128- program = manager.getShaderProgram (effects2);
129- ASSERT_EQ (program, program2);
130-
131- // Color and brightness where color effect value is zero
132- const std::unordered_map<ShaderManager::Effect, double > effects3 = { { ShaderManager::Effect::Color, 0.0 }, { ShaderManager::Effect::Brightness, 22.3 } };
133-
134- program = manager.getShaderProgram (effects3);
135- ASSERT_EQ (program->parent (), &manager);
136- ASSERT_TRUE (program->isLinked ());
137-
138- shaders = program->shaders ();
139- ASSERT_EQ (shaders.size (), 2 );
140- vert = shaders[0 ];
141- frag = shaders[1 ];
142- ASSERT_EQ (vert->shaderType (), QOpenGLShader::Vertex);
143- ASSERT_EQ (vert->sourceCode (), vertHeader + m_vertexShader);
144- ASSERT_EQ (frag->shaderType (), QOpenGLShader::Fragment);
145- ASSERT_EQ (frag->sourceCode (), fragHeader + " #define ENABLE_brightness\n " + m_fragmentShader);
104+ program = manager.getShaderProgram (effects);
105+ ASSERT_EQ (program, program);
146106}
147107
148108TEST_F (ShaderManagerTest, SetUniforms)
0 commit comments