ads.vert Example File | Qt 3D 5.9

Qt 5.9 | Qt 3D | Qt 3D: Shadow Map QML Example | ads.vert Example File

Qt 5.9.9 Reference Documentation

# ads.vert Example File

shadow-map-qml/shaders/es3/ads.vert

      #version 300 es

      in vec3 vertexPosition;
      in vec3 vertexNormal;

      out vec4 positionInLightSpace;
      out vec3 position;
      out vec3 normal;

      uniform mat4 lightViewProjection;
      uniform mat4 modelMatrix;
      uniform mat4 modelView;
      uniform mat3 modelViewNormal;
      uniform mat4 mvp;

      void main()
      {
          // positionInLightSpace = lightViewProjection * modelMatrix * vec4(vertexPosition, 1.0);
          const mat4 shadowMatrix = mat4(0.5, 0.0, 0.0, 0.0,
                                         0.0, 0.5, 0.0, 0.0,
                                         0.0, 0.0, 0.5, 0.0,
                                         0.5, 0.5, 0.5, 1.0);

          positionInLightSpace = shadowMatrix * lightViewProjection * modelMatrix * vec4(vertexPosition, 1.0);

          normal = normalize(modelViewNormal * vertexNormal);
          position = vec3(modelView * vec4(vertexPosition, 1.0));

          gl_Position = mvp * vec4(vertexPosition, 1.0);
      }