This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/draw/modes/shaders/common_view_lib.glsl

25 lines
883 B
GLSL

/* 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)