Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--- G-Buffer ------------------------------------------------------------------------------------
- #version 450
- layout (location = 0) in vec3 fFragPos;
- layout (location = 1) in vec2 fTexCoord;
- layout (location = 2) in mat3 fTBN;
- layout (location = 0) out vec4 outAlbedo;
- layout (location = 1) out vec4 outNormal;
- layout (location = 2) out vec4 outPosition;
- layout(set = 1, binding = 0) uniform sampler2D textures[5];
- void main()
- {
- outAlbedo = vec4(texture(textures[0], fTexCoord).rgb, 1.0);
- outNormal = vec4(normalize(fTBN * (texture(textures[1], fTexCoord).rgb * 2.0 - 1.0)), 1.0);
- outPosition = vec4(fFragPos, 1.0);
- }
- //--------------------------------------------------------------------------------------------------
- //------- Lighting --------------------------------------------------------------------------------
- #version 450
- layout (location = 0) in vec2 fTexCoord;
- layout (set = 1, binding = 0) uniform sampler2D gBuffer[3];
- layout (location = 0) out vec4 outFragColor;
- layout (push_constant) uniform constants
- {
- int mode;
- } Constants;
- void main()
- {
- int index = max(0, min(Constants.mode - 1, 2));
- outFragColor = vec4(texture(gBuffer[index], fTexCoord).rgb, 1.0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement