reflection
This commit is contained in:
parent
e7a119f0dd
commit
6667d75455
10
shader.fs
10
shader.fs
@ -1,13 +1,19 @@
|
|||||||
#version 460 core
|
#version 460 core
|
||||||
out vec4 FragColor;
|
out vec4 FragColor;
|
||||||
|
|
||||||
|
in vec3 Normal;
|
||||||
|
in vec3 Position;
|
||||||
|
|
||||||
|
uniform vec3 cameraPos;
|
||||||
|
uniform samplerCube skybox;
|
||||||
|
|
||||||
in vec2 TexCoords;
|
in vec2 TexCoords;
|
||||||
uniform sampler2D texture_diffuse1;
|
uniform sampler2D texture_diffuse1;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
FragColor = texture( texture_diffuse1, TexCoords) ;
|
vec3 I = normalize(Position - cameraPos);
|
||||||
|
vec3 R = reflect(I, normalize(Normal));
|
||||||
|
|
||||||
|
FragColor = vec4(texture(skybox,R).rgb, 1.0); // texture( texture_diffuse1, TexCoords) ;
|
||||||
}
|
}
|
@ -8,10 +8,15 @@ uniform mat4 view;
|
|||||||
uniform mat4 projection;
|
uniform mat4 projection;
|
||||||
|
|
||||||
out vec2 TexCoords;
|
out vec2 TexCoords;
|
||||||
|
out vec3 Normal;
|
||||||
|
out vec3 Position;
|
||||||
|
|
||||||
|
|
||||||
void main(){
|
void main()
|
||||||
|
{
|
||||||
|
Normal = mat3(transpose(inverse(model))) * aNormal;
|
||||||
|
Position = vec3(model* vec4(aPos, 1.0));
|
||||||
|
|
||||||
gl_Position = projection * view * model * vec4(aPos , 1.0);
|
|
||||||
TexCoords = aTexCoords;
|
TexCoords = aTexCoords;
|
||||||
|
gl_Position = projection * view * model * vec4(aPos , 1.0);
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ void Skybox_pass (GLuint& SkyboxVAO, Shader& skyboxShader, Cubemap& skycubemap)
|
|||||||
glDepthMask(GL_TRUE);
|
glDepthMask(GL_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawScene_pass(Shader& shader, Model& Object)
|
void drawScene_pass(Shader& shader, Model& Object, Cubemap& skybox)
|
||||||
{
|
{
|
||||||
//glClearColor(0.1f, 0.1f, 0.1f, 1.0f);
|
//glClearColor(0.1f, 0.1f, 0.1f, 1.0f);
|
||||||
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
@ -194,6 +194,9 @@ void drawScene_pass(Shader& shader, Model& Object)
|
|||||||
|
|
||||||
|
|
||||||
shader.use();
|
shader.use();
|
||||||
|
|
||||||
|
shader.setVec3("cameraPos", camera.Position);
|
||||||
|
skybox.Bind();
|
||||||
shader.setMat4("model", model);
|
shader.setMat4("model", model);
|
||||||
shader.setMat4("view", view);
|
shader.setMat4("view", view);
|
||||||
shader.setMat4("projection", projection);
|
shader.setMat4("projection", projection);
|
||||||
@ -374,7 +377,7 @@ while(!glfwWindowShouldClose(window))
|
|||||||
|
|
||||||
Skybox_pass(SkyboxVAO, skyboxShader, skybox);
|
Skybox_pass(SkyboxVAO, skyboxShader, skybox);
|
||||||
|
|
||||||
drawScene_pass(shader, backpack);
|
drawScene_pass(shader, backpack, skybox);
|
||||||
|
|
||||||
outline_pass(outlineShader, backpack);
|
outline_pass(outlineShader, backpack);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user