95 float left,
float right,
float bottom,
float top,
float near,
float far);
117 const float model[4][4],
118 const float proj[4][4],
122 const float model[4][4],
123 const float proj[4][4],
128 const float model[4][4],
129 const float proj[4][4],
134 const float model_inverted[4][4],
135 const float proj[4][4],
169#ifdef USE_GPU_PY_MATRIX_API
173# define GPU_PY_MATRIX_STACK_LEN 31
176#ifndef SUPPRESS_GENERIC_MATRIX_API
178# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
179# define _GPU_MAT3_CONST_CAST(x) \
181 void *: (const float (*)[3])(x), \
182 float *: (const float (*)[3])(x), \
183 float (*)[4]: (const float (*)[3])(x), \
184 const void *: (const float (*)[3])(x), \
185 const float *: (const float (*)[3])(x), \
186 const float (*)[3]: (const float (*)[3])(x)))
187# define _GPU_MAT3_CAST(x) \
189 void *: (float (*)[3])(x), \
190 float *: (float (*)[3])(x), \
191 float (*)[3]: (float (*)[3])(x)))
192# define _GPU_MAT4_CONST_CAST(x) \
194 void *: (const float (*)[4])(x), \
195 float *: (const float (*)[4])(x), \
196 float (*)[4]: (const float (*)[4])(x), \
197 const void *: (const float (*)[4])(x), \
198 const float *: (const float (*)[4])(x), \
199 const float (*)[4]: (const float (*)[4])(x)))
200# define _GPU_MAT4_CAST(x) \
202 void *: (float (*)[4])(x), \
203 float *: (float (*)[4])(x), \
204 float (*)[4]: (float (*)[4])(x)))
206# define _GPU_MAT3_CONST_CAST(x) (const float (*)[3])(x)
207# define _GPU_MAT3_CAST(x) (float (*)[3])(x)
208# define _GPU_MAT4_CONST_CAST(x) (const float (*)[4])(x)
209# define _GPU_MAT4_CAST(x) (float (*)[4])(x)
213# define GPU_matrix_mul(x) GPU_matrix_mul(_GPU_MAT4_CONST_CAST(x))
214# define GPU_matrix_set(x) GPU_matrix_set(_GPU_MAT4_CONST_CAST(x))
215# define GPU_matrix_projection_set(x) GPU_matrix_projection_set(_GPU_MAT4_CONST_CAST(x))
216# define GPU_matrix_model_view_get(x) GPU_matrix_model_view_get(_GPU_MAT4_CAST(x))
217# define GPU_matrix_projection_get(x) GPU_matrix_projection_get(_GPU_MAT4_CAST(x))
218# define GPU_matrix_model_view_projection_get(x) \
219 GPU_matrix_model_view_projection_get(_GPU_MAT4_CAST(x))
220# define GPU_matrix_normal_get(x) GPU_matrix_normal_get(_GPU_MAT3_CAST(x))
221# define GPU_matrix_normal_inverse_get(x) GPU_matrix_normal_inverse_get(_GPU_MAT3_CAST(x))
void GPU_matrix_look_at(float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ)
#define GPU_matrix_normal_get(x)
void GPU_matrix_translate_2fv(const float vec[2])
void GPU_matrix_bind(blender::gpu::Shader *shader)
void GPU_matrix_rotate_axis(float deg, char axis)
float GPU_polygon_offset_calc(const float(*winmat)[4], float viewdist, float dist)
void GPU_matrix_identity_projection_set()
#define GPU_matrix_model_view_get(x)
void GPU_matrix_project_2fv(const float world[3], const float model[4][4], const float proj[4][4], const int view[4], float r_win[2])
void GPU_matrix_ortho_set(float left, float right, float bottom, float top, float near, float far)
void GPU_matrix_identity_set()
void GPU_matrix_scale_2f(float x, float y)
void GPU_matrix_perspective_set(float fovy, float aspect, float near, float far)
void GPU_matrix_scale_2fv(const float vec[2])
#define GPU_matrix_set(x)
void GPU_matrix_frustum_set(float left, float right, float bottom, float top, float near, float far)
void GPU_matrix_ortho_set_z(float near, float far)
void GPU_matrix_ortho_2d_set(float left, float right, float bottom, float top)
void GPU_matrix_push_projection()
#define GPU_matrix_mul(x)
void GPU_matrix_scale_3fv(const float vec[3])
void GPU_matrix_scale_3f(float x, float y, float z)
#define GPU_matrix_normal_inverse_get(x)
void GPU_matrix_scale_1f(float factor)
void GPU_matrix_rotate_3fv(float deg, const float axis[3])
void GPU_matrix_rotate_2d(float deg)
void GPU_matrix_pop_projection()
#define GPU_matrix_projection_get(x)
#define GPU_matrix_projection_set(x)
bool GPU_matrix_dirty_get()
bool GPU_matrix_unproject_3fv(const float win[3], const float model_inverted[4][4], const float proj[4][4], const int view[4], float r_world[3])
bool GPU_matrix_unproject_precalc(GPUMatrixUnproject_Precalc *unproj_precalc, const float model[4][4], const float proj[4][4], const int view[4])
#define GPU_matrix_model_view_projection_get(x)
void GPU_matrix_translate_3fv(const float vec[3])
void GPU_matrix_translate_3f(float x, float y, float z)
void GPU_polygon_offset(float viewdist, float dist)
void GPU_matrix_rotate_3f(float deg, float x, float y, float z)
static constexpr int GPU_MATRIX_ORTHO_CLIP_FAR_DEFAULT
void GPU_matrix_project_3fv(const float world[3], const float model[4][4], const float proj[4][4], const int view[4], float r_win[3])
static constexpr int GPU_MATRIX_ORTHO_CLIP_NEAR_DEFAULT
void GPU_matrix_translate_2f(float x, float y)
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
int GPU_matrix_stack_level_get_projection()
int GPU_matrix_stack_level_get_model_view()
float model_inverted[4][4]
struct GPUMatrixUnproject_Precalc::@273354244001300101135247015231175360165064064201 dims