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

common_view_lib.glsl « shaders « modes « draw « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 50d6760cafa0411067b9571888a395719e6729fa (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
/* keep in sync with DRWManager.view_data */
layout(std140) uniform viewBlock
{
  /* Same order as DRWViewportMatrixType */
  mat4 ViewProjectionMatrix;
  mat4 ViewProjectionMatrixInverse;
  mat4 ViewMatrix;
  mat4 ViewMatrixInverse;
  mat4 ProjectionMatrix;
  mat4 ProjectionMatrixInverse;

  vec4 CameraTexCoFactors;

  vec4 clipPlanes[2];
};

/* Transform shortcuts. */
#define transform_normal_object_to_world(nor) (transpose(mat3(ModelMatrixInverse)) * nor)
#define transform_normal_world_to_object(nor) (transpose(mat3(ModelMatrix)) * nor)
#define transform_normal_world_to_view(nor) (transpose(mat3(ViewMatrixInverse)) * nor)
#define transform_normal_object_to_view(nor) \
  (transpose(mat3(ViewMatrixInverse)) * (transpose(mat3(ModelMatrixInverse)) * nor))
#define transform_point_view_to_object(point) \
  ((ModelMatrixInverse * (ViewMatrixInverse * vec4(point, 1.0))).xyz)