59 View(
const char *name,
int view_len = 1,
bool procedural =
false)
93 return data_[view_id].winmat[3][3] == 0.0f;
107 return -
data_[view_id].winmat[3][2] / (
data_[view_id].winmat[2][2] + 1.0f);
116 return -
data_[view_id].winmat[3][2] / (
data_[view_id].winmat[2][2] - 1.0f);
124 return data_[view_id].viewinv.location();
130 return data_[view_id].viewinv.z_axis();
136 return data_[view_id].viewmat;
142 return data_[view_id].viewinv;
148 return data_[view_id].winmat;
154 return data_[view_id].wininv;
161 return data_[view_id].winmat *
data_[view_id].viewmat;
MINLINE uint divide_ceil_u(uint a, uint b)
#define UNUSED_VARS_NDEBUG(...)
const float3 & location(int view_id=0) const
UniformArrayBuffer< ViewCullingData, DRW_VIEW_MAX > culling_
void visibility_test(bool enable)
View(const char *name, const DRWView *view)
View(const char *name, int view_len=1, bool procedural=false)
VisibilityBuf visibility_buf_
bool is_inverted(int view_id=0) const
bool is_persp(int view_id=0) const
const float4x4 & winmat(int view_id=0) const
const float4x4 persmat(int view_id=0) const
const float4x4 & viewmat(int view_id=0) const
float near_clip(int view_id=0) const
void update_viewport_size()
void compute_procedural_bounds()
UniformArrayBuffer< ViewMatrices, DRW_VIEW_MAX > data_freeze_
virtual void compute_visibility(ObjectBoundsBuf &bounds, ObjectInfosBuf &infos, uint resource_len, bool debug_freeze)
UniformArrayBuffer< ViewMatrices, DRW_VIEW_MAX > data_
UniformArrayBuffer< ViewCullingData, DRW_VIEW_MAX > culling_freeze_
UniformArrayBuffer< ViewMatrices, DRW_VIEW_MAX > & matrices_ubo_get()
const float4x4 & viewinv(int view_id=0) const
virtual VisibilityBuf & get_visibility_buffer()
void frustum_culling_sphere_calc(int view_id)
const float4x4 & wininv(int view_id=0) const
const float3 & forward(int view_id=0) const
int visibility_word_per_draw() const
void frustum_boundbox_calc(int view_id)
float far_clip(int view_id=0) const
void sync(const float4x4 &view_mat, const float4x4 &win_mat, int view_id=0)
void frustum_culling_planes_calc(int view_id)