Blender V4.3
DRWView Struct Reference

#include <draw_manager_c.hh>

Public Attributes

float4x4 persmat
 
float4x4 persinv
 
ViewMatrices storage
 
DRWViewparent
 
float4 clip_planes [6]
 
int clip_planes_len
 
bool is_dirty
 
bool is_inverted
 
uint32_t culling_mask
 
BoundBox frustum_corners
 
BoundSphere frustum_bsphere
 
float frustum_planes [6][4]
 
DRWCallVisibilityFnvisibility_fn
 
void * user_data
 

Detailed Description

Definition at line 453 of file draw_manager_c.hh.

Member Data Documentation

◆ clip_planes

float4 DRWView::clip_planes[6]

Definition at line 468 of file draw_manager_c.hh.

Referenced by drw_update_view().

◆ clip_planes_len

int DRWView::clip_planes_len

Number of active clip planes.

Definition at line 471 of file draw_manager_c.hh.

Referenced by drw_state_set().

◆ culling_mask

uint32_t DRWView::culling_mask

Culling

Definition at line 477 of file draw_manager_c.hh.

Referenced by DRW_view_create().

◆ frustum_bsphere

BoundSphere DRWView::frustum_bsphere

Definition at line 479 of file draw_manager_c.hh.

◆ frustum_corners

BoundBox DRWView::frustum_corners

Definition at line 478 of file draw_manager_c.hh.

Referenced by DRW_culling_frustum_corners_get().

◆ frustum_planes

float DRWView::frustum_planes[6][4]

Definition at line 480 of file draw_manager_c.hh.

◆ is_dirty

bool DRWView::is_dirty

Does culling result needs to be updated.

Definition at line 473 of file draw_manager_c.hh.

Referenced by drw_draw_pass_ex().

◆ is_inverted

bool DRWView::is_inverted

Does facing needs to be reversed?

Definition at line 475 of file draw_manager_c.hh.

Referenced by draw_call_batching_finish(), draw_call_resource_bind(), and drw_draw_pass_ex().

◆ parent

DRWView* DRWView::parent

Parent view if this is a sub view. nullptr otherwise.

Definition at line 466 of file draw_manager_c.hh.

Referenced by DRW_view_create_sub().

◆ persinv

float4x4 DRWView::persinv

Definition at line 462 of file draw_manager_c.hh.

◆ persmat

float4x4 DRWView::persmat

These float4x4 (as well as the ViewMatrices) have alignment requirements in C++ (see math::MatBase) that isn't fulfilled in C. So they need to be manually aligned. Since the DRWView are allocated using BLI_memblock, the chunks are given to be 16 bytes aligned (equal to the alignment of float4x4). We then assert that the DRWView itself is 16 bytes aligned.

Definition at line 461 of file draw_manager_c.hh.

◆ storage

ViewMatrices DRWView::storage

◆ user_data

void* DRWView::user_data

Definition at line 483 of file draw_manager_c.hh.

◆ visibility_fn

DRWCallVisibilityFn* DRWView::visibility_fn

Custom visibility function.

Definition at line 482 of file draw_manager_c.hh.


The documentation for this struct was generated from the following file: