[glsl]

 avatargolxzn
Public2 years ago4 snippets
based-lighting.frag.glsl
based-lighting-textured-materials.glsl
model-view-based-lighting.vert.glsl
based-lighting.vert.glsl
The Phong lighting fragment shader with constant object's material
based-lighting.frag.glsl
#version 300 core

layout(location = 0) in vec3 frag_position;
layout(location = 1) in vec3 frag_normal;
layout(location = 2) in vec2 frag_uv;

layout(location = 0) out vec4 frag_color;

struct Light {
    vec3 position;
The Phong based fragment shader with textures as the material
based-lighting-textured-materials.glsl
#version 300 core

layout(location = 0) in vec3 frag_position;
layout(location = 1) in vec3 frag_normal;
layout(location = 2) in vec2 frag_uv;

layout(location = 0) out vec4 frag_color;

struct Light {
    vec3 position;
The Phong Lighting with model-view optimization
model-view-based-lighting.vert.glsl
#version 300 core

layout(location = 0) in vec3 a_position;
layout(location = 1) in vec3 a_normal;
layout(location = 2) in vec2 a_uv;

layout(location = 0) out vec3 frag_position;
layout(location = 1) out vec3 frag_normal;
layout(location = 2) out vec2 frag_uv;
The Phong Lighting Base implementation
based-lighting.vert.glsl
#version 300 core

layout(location = 0) in vec3 a_position;
layout(location = 1) in vec3 a_normal;
layout(location = 2) in vec2 a_uv;

layout(location = 0) out vec3 frag_position;
layout(location = 1) out vec3 frag_normal;
layout(location = 2) out vec2 frag_uv;