Changeset f00ee54 in opengl-game for shaders


Ignore:
Timestamp:
Aug 25, 2019, 12:58:06 AM (5 years ago)
Author:
Dmitry Portnoy <dmp1488@…>
Branches:
feature/imgui-sdl, master, points-test
Children:
721e8be
Parents:
d53ef6a
Message:

Refactor the code to allow different graphics pipelines to use different Vertex structs and different uniform and vertex attributes

Location:
shaders
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • shaders/overlay.frag

    rd53ef6a rf00ee54  
    44layout(binding = 0) uniform sampler2D uiTexSampler;
    55
    6 layout(location = 0) in vec3 fragColor;
    7 layout(location = 1) in vec2 fragTexCoord;
    8 layout(location = 2) flat in uint isOverlay;
     6layout(location = 0) in vec2 fragTexCoord;
    97
    108layout(location = 0) out vec4 outColor;
     
    1210void main() {
    1311   outColor = texture(uiTexSampler, fragTexCoord);
    14 
    15    if (isOverlay == 1) {
    16       outColor = texture(uiTexSampler, fragTexCoord);
    17    } else {
    18       outColor = vec4(fragColor * texture(uiTexSampler, fragTexCoord).rgb, 1.0);
    19    }
    2012}
  • shaders/overlay.vert

    rd53ef6a rf00ee54  
    33
    44layout(location = 0) in vec3 inPosition;
    5 layout(location = 1) in vec3 inColor;
    6 layout(location = 2) in vec2 inTexCoord;
     5layout(location = 1) in vec2 inTexCoord;
    76
    8 layout(location = 0) out vec3 fragColor;
    9 layout(location = 1) out vec2 fragTexCoord;
    10 layout(location = 2) out uint isOverlay;
     7layout(location = 0) out vec2 fragTexCoord;
    118
    129void main() {
    13    if (gl_VertexIndex < 0) {
    14       fragColor = inColor;
    15       isOverlay = 0;
    16    } else {
    17       fragColor = inColor;
    18       isOverlay = 1;
    19    }
     10   fragTexCoord = inTexCoord;
    2011
    21    fragTexCoord = inTexCoord;
    2212   gl_Position = vec4(inPosition, 1.0);
    2313}
  • shaders/scene.frag

    rd53ef6a rf00ee54  
    33
    44layout(binding = 1) uniform sampler2D texSampler;
    5 layout(binding = 2) uniform sampler2D uiTexSampler;
    65
    76layout(location = 0) in vec3 fragColor;
    87layout(location = 1) in vec2 fragTexCoord;
    9 layout(location = 2) flat in uint isOverlay;
    108
    119layout(location = 0) out vec4 outColor;
    1210
    1311void main() {
    14    if (isOverlay == 1) {
    15       outColor = texture(uiTexSampler, fragTexCoord);
    16    } else {
    17       outColor = vec4(fragColor * texture(texSampler, fragTexCoord).rgb, 1.0);
    18    }
     12   outColor = vec4(fragColor * texture(texSampler, fragTexCoord).rgb, 1.0);
    1913}
  • shaders/scene.vert

    rd53ef6a rf00ee54  
    1414layout(location = 0) out vec3 fragColor;
    1515layout(location = 1) out vec2 fragTexCoord;
    16 layout(location = 2) out uint isOverlay;
    1716
    1817void main() {
    19    if (gl_VertexIndex < 8) {
    20       gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
    21       fragColor = inColor;
    22       isOverlay = 0;
    23    } else {
    24       gl_Position = vec4(inPosition, 1.0);
    25       fragColor = vec3(1.0, 1.0, 1.0);
    26       isOverlay = 1;
    27    }
     18   fragColor = inColor;
     19   fragTexCoord = inTexCoord;
    2820
    29    fragTexCoord = inTexCoord;
     21   gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
    3022}
Note: See TracChangeset for help on using the changeset viewer.