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.

◆ clip_planes_len

int DRWView::clip_planes_len

Number of active clip planes.

Definition at line 471 of file draw_manager_c.hh.

◆ culling_mask

uint32_t DRWView::culling_mask

Culling

Definition at line 477 of file draw_manager_c.hh.

◆ 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.

◆ 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.

◆ is_inverted

bool DRWView::is_inverted

Does facing needs to be reversed?

Definition at line 475 of file draw_manager_c.hh.

◆ 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

Definition at line 463 of file draw_manager_c.hh.

◆ 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: