Welcome to mirror list, hosted at ThFree Co, Russian Federation.

volumetric_vert.glsl « shaders « eevee « engines « draw « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b70747ecec39464d1c49d65ed4ff94c70fb4ab75 (plain)
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
34
35
36
37

#pragma BLENDER_REQUIRE(common_view_lib.glsl)

out vec4 vPos;

RESOURCE_ID_VARYING

void main()
{
  /* Generate Triangle : less memory fetches from a VBO */
  int v_id = gl_VertexID % 3; /* Vertex Id */
  int t_id = gl_VertexID / 3; /* Triangle Id */

  /* Crappy diagram
   * ex 1
   *    | \
   *    |   \
   *  1 |     \
   *    |       \
   *    |         \
   *  0 |           \
   *    |             \
   *    |               \
   * -1 0 --------------- 2
   *   -1     0     1     ex
   */
  vPos.x = float(v_id / 2) * 4.0 - 1.0; /* int divisor round down */
  vPos.y = float(v_id % 2) * 4.0 - 1.0;
  vPos.z = float(t_id);
  vPos.w = 1.0;

  PASS_RESOURCE_ID

#ifdef USE_ATTR
  pass_attr(vec3(0.0), mat3(1), mat4(1));
#endif
}