diff --git a/labs2/lab3/lab3.cpp b/labs2/lab3/lab3.cpp index 6cd2c503ea63b2339e322dfda76be54cdc27ab7f..346e70981b9c99e6f47602611272e2ba9101943a 100755 --- a/labs2/lab3/lab3.cpp +++ b/labs2/lab3/lab3.cpp @@ -365,6 +365,12 @@ int main() ourShader.Use(); + GLint viewLoc = glGetUniformLocation(ourShader.Program, "view"); + GLint projLoc = glGetUniformLocation(ourShader.Program, "projection"); + + glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view)); + glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(projection)); + //glUniform3f(glGetUniformLocation(ourShader.Program, "objectColor"), 1.0f, 1.0f, 1.0f); glUniform3f(glGetUniformLocation(ourShader.Program, "light.position"), lightPos.x, lightPos.y, lightPos.z); glUniform3f(glGetUniformLocation(ourShader.Program, "viewPos"), cameraPos.x, cameraPos.y, cameraPos.z); @@ -373,10 +379,10 @@ int main() glUniform3f(glGetUniformLocation(ourShader.Program, "light.diffuse"), lightColor.x, lightColor.y, lightColor.z); glUniform3f(glGetUniformLocation(ourShader.Program, "light.specular"), lightColor.x, lightColor.y, lightColor.z); - glUniform3f(glGetUniformLocation(ourShader.Program, "material.ambient"), 1.0f, 0.0f, 0.0f); - glUniform3f(glGetUniformLocation(ourShader.Program, "material.diffuse"), 0.0f, 1.0f, 0.0f); - glUniform3f(glGetUniformLocation(ourShader.Program, "material.specular"), 0.0f, 0.0f, 1.0f); - glUniform1f(glGetUniformLocation(ourShader.Program, "material.shininess"), 256.0f); + glUniform3f(glGetUniformLocation(ourShader.Program, "material.ambient"), 1.0f, 1.0f, 1.0f); + glUniform3f(glGetUniformLocation(ourShader.Program, "material.diffuse"), 1.0f, 1.0f, 1.0f); + glUniform3f(glGetUniformLocation(ourShader.Program, "material.specular"), 1.0f, 1.0f, 1.0f); + glUniform1f(glGetUniformLocation(ourShader.Program, "material.shininess"), 64.0f); GLfloat timeValue = glfwGetTime(); @@ -392,13 +398,15 @@ int main() - glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view)); - glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(projection)); + //glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view)); + //glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(projection)); + + GLint modelLoc = glGetUniformLocation(ourShader.Program, "model"); + glBindVertexArray(VAO); for (GLuint i = 0; i < 10; i++) { - GLint modelLoc = glGetUniformLocation(ourShader.Program, "model"); glm::mat4 model = glm::mat4(1.0f); model = glm::translate(model, cubePositions[i]); GLfloat angle = 20.0f * i; @@ -416,7 +424,6 @@ int main() glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture"), 0); glm::mat4 groundModel = glm::mat4(1.0f); - GLint modelLoc = glGetUniformLocation(ourShader.Program, "model"); glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(groundModel)); glDrawArrays(GL_TRIANGLES, 0, 6); diff --git a/labs2/lab3/lightning.frag b/labs2/lab3/lightning.frag index f9e3df36320c2211a4f4c56bf92e027bce21c374..a3d2c36e11e16297399bccf5990c19eece8aba6d 100755 --- a/labs2/lab3/lightning.frag +++ b/labs2/lab3/lightning.frag @@ -20,6 +20,7 @@ void main() float diff = max(dot(norm, lightDir), 0.0f); vec3 diffuse = diff * lightColor; + //diffuse = vec3(1.0f); float specularStrength = 0.5f; vec3 viewDir = normalize(viewPos - FragPos); diff --git a/labs2/lab3/shader.frag b/labs2/lab3/shader.frag index 860247f254ace52a300162321f0c6d03ea752273..f61ce082e300d3ed4883ba666ac6612edf314f00 100755 --- a/labs2/lab3/shader.frag +++ b/labs2/lab3/shader.frag @@ -36,25 +36,18 @@ void main() vec3 texColor = texture(ourTexture, TexCoord).rgb; // Ambient - //float ambientStrength = 0.1f; - //vec3 ambient = ambientStrength * lightColor; - //vec3 ambient = lightColor * material.ambient; vec3 ambient = light.ambient * material.ambient; // Diffuse vec3 norm = normalize(Normal); vec3 lightDir = normalize(light.position - FragPos); float diff = max(dot(norm, lightDir), 0.0f); - //vec3 diffuse = lightColor * (diff * material.diffuse); vec3 diffuse = light.diffuse * (diff * material.diffuse); // Specular - //float specularStrength = 0.5f; vec3 viewDir = normalize(viewPos - FragPos); vec3 reflectDir = reflect(-lightDir, norm); float spec = pow(max(dot(viewDir, reflectDir), 0.0), material.shininess); - //vec3 specular = specularStrength * spec * lightColor; - //vec3 specular = lightColor * (spec * material.specular); vec3 specular = light.specular * (spec * material.specular); vec3 result = (ambient + diffuse + specular) * texColor;