File: particles.vert

package info (click to toggle)
qt6-3d 6.8.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 191,232 kB
  • sloc: cpp: 394,755; ansic: 11,426; python: 467; objc: 260; javascript: 158; sh: 132; xml: 38; makefile: 20
file content (33 lines) | stat: -rw-r--r-- 919 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#version 450 core

layout(location = 0) in vec3 vertexPosition;
layout(location = 1) in vec3 vertexNormal;

layout(location = 2) in vec3 particlePosition;
layout(location = 3) in vec3 particleColor;

layout (location = 0) out VertexBlock
{
    flat vec3 color;
    vec3 pos;
    vec3 normal;
} v_out;

layout(std140, binding = 1) uniform qt3d_command_uniforms {
  mat4 modelMatrix;
  mat4 inverseModelMatrix;
  mat4 modelViewMatrix;
  mat3 modelNormalMatrix;
  mat4 inverseModelViewMatrix;
  mat4 modelViewProjection;
  mat4 inverseModelViewProjectionMatrix;
};

void main(void)
{
    vec4 pos = vec4(vertexPosition.xyz, 1.0) + vec4(particlePosition, 0.0);
    gl_Position = modelViewProjection * pos;
    v_out.pos = vec4(modelViewMatrix * pos).xyz;
    v_out.normal = normalize(modelNormalMatrix * vertexNormal);
    v_out.color = mix(particleColor * 0.2, particleColor, smoothstep(0.5, 0.8, abs(v_out.normal).z));
}