Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/modes/shaders/common_view_lib.glsl
| Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
| #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)) | ||||
| #define point_world_to_object(p) ((ModelMatrixInverse * vec4(p, 1.0)).xyz) | #define point_world_to_object(p) ((ModelMatrixInverse * vec4(p, 1.0)).xyz) | ||||
| #define point_world_to_view(p) ((ViewMatrix * vec4(p, 1.0)).xyz) | #define point_world_to_view(p) ((ViewMatrix * vec4(p, 1.0)).xyz) | ||||
| /* Due to some shader compiler bug, we somewhat need to access gl_VertexID | |||||
| * to make vertex shaders work. even if it's actually dead code. */ | |||||
| #ifdef GPU_INTEL | |||||
| # define GPU_INTEL_VERTEX_SHADER_WORKAROUND gl_Position.x = float(gl_VertexID); | |||||
| #else | |||||
| # define GPU_INTEL_VERTEX_SHADER_WORKAROUND | |||||
| #endif | |||||