Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/shaders/common_view_lib.glsl
| Show First 20 Lines • Show All 158 Lines • ▼ Show 20 Lines | |||||
| * Knowing that the view matrix is orthogonal, the transpose is also the inverse. | * Knowing that the view matrix is orthogonal, the transpose is also the inverse. | ||||
| * Note: This is only valid because we are only using the mat3 of the ViewMatrixInverse. | * Note: This is only valid because we are only using the mat3 of the ViewMatrixInverse. | ||||
| * ViewMatrix * transpose(ModelMatrixInverse) | * ViewMatrix * transpose(ModelMatrixInverse) | ||||
| **/ | **/ | ||||
| #define normal_object_to_view(n) (mat3(ViewMatrix) * (transpose(mat3(ModelMatrixInverse)) * n)) | #define normal_object_to_view(n) (mat3(ViewMatrix) * (transpose(mat3(ModelMatrixInverse)) * n)) | ||||
| #define normal_object_to_world(n) (transpose(mat3(ModelMatrixInverse)) * n) | #define normal_object_to_world(n) (transpose(mat3(ModelMatrixInverse)) * n) | ||||
| #define normal_world_to_object(n) (transpose(mat3(ModelMatrix)) * n) | #define normal_world_to_object(n) (transpose(mat3(ModelMatrix)) * n) | ||||
| #define normal_world_to_view(n) (mat3(ViewMatrix) * n) | #define normal_world_to_view(n) (mat3(ViewMatrix) * n) | ||||
| #define normal_view_to_world(n) (mat3(ViewMatrixInverse) * n) | |||||
| #define point_object_to_ndc(p) (ViewProjectionMatrix * vec4((ModelMatrix * vec4(p, 1.0)).xyz, 1.0)) | #define point_object_to_ndc(p) (ViewProjectionMatrix * vec4((ModelMatrix * vec4(p, 1.0)).xyz, 1.0)) | ||||
| #define point_object_to_view(p) ((ViewMatrix * vec4((ModelMatrix * vec4(p, 1.0)).xyz, 1.0)).xyz) | #define point_object_to_view(p) ((ViewMatrix * vec4((ModelMatrix * vec4(p, 1.0)).xyz, 1.0)).xyz) | ||||
| #define point_object_to_world(p) ((ModelMatrix * vec4(p, 1.0)).xyz) | #define point_object_to_world(p) ((ModelMatrix * vec4(p, 1.0)).xyz) | ||||
| #define point_view_to_ndc(p) (ProjectionMatrix * vec4(p, 1.0)) | #define point_view_to_ndc(p) (ProjectionMatrix * vec4(p, 1.0)) | ||||
| #define point_view_to_object(p) ((ModelMatrixInverse * (ViewMatrixInverse * vec4(p, 1.0))).xyz) | #define point_view_to_object(p) ((ModelMatrixInverse * (ViewMatrixInverse * vec4(p, 1.0))).xyz) | ||||
| #define point_view_to_world(p) ((ViewMatrixInverse * vec4(p, 1.0)).xyz) | #define point_view_to_world(p) ((ViewMatrixInverse * vec4(p, 1.0)).xyz) | ||||
| #define point_world_to_ndc(p) (ViewProjectionMatrix * vec4(p, 1.0)) | #define point_world_to_ndc(p) (ViewProjectionMatrix * vec4(p, 1.0)) | ||||
| Show All 15 Lines | |||||