Rendering Techniques API¶
Panel-level rendering techniques including multisampling and depth-based post-processing.
Status: stable
This generated page lists exported C functions and their canonical public types
classified by the v0.4 C API reference policy. Raw Python ctypes call forms are
documented separately.
Use this page to configure rendering techniques that operate on a complete panel rather than one visual family.
Common workflows:
Functions: 13 Types: 5
Symbol Groups¶
| Group | Functions | Types | Headers |
|---|---|---|---|
| Eye-Dome Lighting | 2 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Multisample Antialiasing | 2 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Scene Occlusion | 4 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Screen-Space Ambient Occlusion | 2 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Volume Occlusion | 3 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
Grouped function index
Eye-Dome Lighting
| Function | Header |
|---|---|
dvz_edl_desc() |
include/datoviz/scene.h |
dvz_panel_set_edl() |
include/datoviz/scene.h |
Multisample Antialiasing
| Function | Header |
|---|---|
dvz_msaa_desc() |
include/datoviz/scene.h |
dvz_panel_set_msaa() |
include/datoviz/scene.h |
Scene Occlusion
| Function | Header |
|---|---|
dvz_panel_set_scene_occlusion() |
include/datoviz/scene.h |
dvz_scene_occlusion_desc() |
include/datoviz/scene.h |
dvz_visual_set_scene_occluded() |
include/datoviz/scene.h |
dvz_visual_set_scene_occluder() |
include/datoviz/scene.h |
Screen-Space Ambient Occlusion
| Function | Header |
|---|---|
dvz_panel_set_ssao() |
include/datoviz/scene.h |
dvz_ssao_desc() |
include/datoviz/scene.h |
Volume Occlusion
| Function | Header |
|---|---|
dvz_panel_set_volume_occluder() |
include/datoviz/scene.h |
dvz_visual_set_volume_occluded() |
include/datoviz/scene.h |
dvz_volume_occlusion_desc() |
include/datoviz/scene.h |
Eye-Dome Lighting¶
Functions
dvz_edl_desc()¶
Return default Eye-Dome Lighting options.
DvzEdlDesc dvz_edl_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzEdlDesc |
EDL descriptor |
Declared in include/datoviz/scene.h:1255.
dvz_panel_set_edl()¶
Configure Eye-Dome Lighting for one panel.
EDL is a depth-based post-process intended to improve local depth perception for dense point, pixel, and opaque geometry views. Pass NULL to disable EDL on the panel. The descriptor values are clamped to implementation-supported ranges.
DvzResult dvz_panel_set_edl(
DvzPanel * panel,
const DvzEdlDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK if the panel EDL state was updated, DVZ_ERROR otherwise |
panel |
DvzPanel * |
the panel |
desc |
const DvzEdlDesc * |
EDL descriptor, or NULL to disable |
Declared in include/datoviz/scene.h:1269.
Types
DvzEdlDesc · record
struct DvzEdlDesc {
uint32_t struct_size;
uint32_t flags;
float radius;
float strength;
float depth_scale;
};
Declared in include/datoviz/scene/types.h:854.
Multisample Antialiasing¶
Functions
dvz_msaa_desc()¶
Return default panel MSAA options.
DvzMsaaDesc dvz_msaa_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzMsaaDesc |
MSAA descriptor with 4x samples and alpha-to-coverage enabled |
Declared in include/datoviz/scene.h:600.
dvz_panel_set_msaa()¶
Configure internal multisample antialiasing for one panel.
The panel renders opaque scene color/depth into transient multisample attachments and resolves into the figure target. Pass NULL or a descriptor with enabled=false to disable MSAA.
DvzResult dvz_panel_set_msaa(
DvzPanel * panel,
const DvzMsaaDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK if the panel MSAA state was updated, DVZ_ERROR otherwise |
panel |
DvzPanel * |
the panel |
desc |
const DvzMsaaDesc * |
MSAA descriptor, or NULL to disable |
Declared in include/datoviz/scene.h:1282.
Types
DvzMsaaDesc · record
struct DvzMsaaDesc {
uint32_t struct_size;
uint32_t flags;
_Bool enabled;
uint32_t sample_count;
_Bool alpha_to_coverage;
};
Declared in include/datoviz/scene/types.h:865.
Scene Occlusion¶
Functions
dvz_panel_set_scene_occlusion()¶
Configure generic screen-space scene occlusion for one panel.
Scene occlusion is active only when the panel contains at least one visible visual marked as a scene occluder and at least one visible visual marked as scene-occluded. Pass NULL or a disabled descriptor to disable the panel path.
DvzResult dvz_panel_set_scene_occlusion(
DvzPanel * panel,
const DvzSceneOcclusionDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error |
panel |
DvzPanel * |
the panel |
desc |
const DvzSceneOcclusionDesc * |
scene occlusion descriptor, or NULL to disable |
Declared in include/datoviz/scene.h:1348.
dvz_scene_occlusion_desc()¶
Return default scene-occlusion options.
DvzSceneOcclusionDesc dvz_scene_occlusion_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzSceneOcclusionDesc |
scene-occlusion descriptor |
Declared in include/datoviz/scene.h:1333.
dvz_visual_set_scene_occluded()¶
Mark a visual as sampling panel scene occlusion.
DvzResult dvz_visual_set_scene_occluded(
DvzVisual * visual,
_Bool enabled
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error |
visual |
DvzVisual * |
the visual |
enabled |
_Bool |
whether the visual should be attenuated by scene occlusion |
Declared in include/datoviz/scene.h:1861.
dvz_visual_set_scene_occluder()¶
Mark a visual as contributing front depth to panel scene occlusion.
DvzResult dvz_visual_set_scene_occluder(
DvzVisual * visual,
_Bool enabled
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error |
visual |
DvzVisual * |
the visual |
enabled |
_Bool |
whether the visual should act as a scene occluder |
Declared in include/datoviz/scene.h:1851.
Types
DvzSceneOcclusionDesc · record
struct DvzSceneOcclusionDesc {
uint32_t struct_size;
uint32_t flags;
_Bool enabled;
float depth_bias;
float soft_edge;
float hidden_alpha;
};
Declared in include/datoviz/scene/types.h:907.
Screen-Space Ambient Occlusion¶
Functions
dvz_panel_set_ssao()¶
Configure screen-space ambient occlusion for one panel.
SSAO renders eligible opaque normal-producing visuals through an internal G-buffer, computes an occlusion texture from panel depth and normals, optionally blurs it, and composites the result into the panel output. Pass NULL to disable SSAO on the panel. Descriptor values are clamped to implementation-supported ranges.
DvzResult dvz_panel_set_ssao(
DvzPanel * panel,
const DvzSsaoDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK if the panel SSAO state was updated, DVZ_ERROR otherwise |
panel |
DvzPanel * |
the panel |
desc |
const DvzSsaoDesc * |
SSAO descriptor, or NULL to disable |
Declared in include/datoviz/scene.h:1305.
dvz_ssao_desc()¶
Return default screen-space ambient occlusion options.
DvzSsaoDesc dvz_ssao_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzSsaoDesc |
SSAO descriptor |
Declared in include/datoviz/scene.h:1290.
Types
DvzSsaoDesc · record
struct DvzSsaoDesc {
uint32_t struct_size;
uint32_t flags;
float radius;
float strength;
float bias;
float power;
float min_visibility;
float blur_radius;
float blur_depth_sigma;
float blur_normal_sigma;
uint32_t sample_count;
_Bool blur_enabled;
_Bool debug_view;
};
Declared in include/datoviz/scene/types.h:876.
Volume Occlusion¶
Functions
dvz_panel_set_volume_occluder()¶
Configure a panel volume visual as the screen-space occluder for embedded visuals.
DvzResult dvz_panel_set_volume_occluder(
DvzPanel * panel,
DvzVisual * volume,
const DvzVolumeOcclusionDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error |
panel |
DvzPanel * |
the panel |
volume |
DvzVisual * |
the volume visual attached to the same panel, or NULL to disable |
desc |
const DvzVolumeOcclusionDesc * |
volume occlusion descriptor, or NULL to disable |
Declared in include/datoviz/scene.h:1324.
dvz_visual_set_volume_occluded()¶
Mark a visual as embedded in the panel volume occluder.
DvzResult dvz_visual_set_volume_occluded(
DvzVisual * visual,
_Bool enabled
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error |
visual |
DvzVisual * |
the visual |
enabled |
_Bool |
whether the visual should sample panel volume occlusion |
Declared in include/datoviz/scene.h:1841.
dvz_volume_occlusion_desc()¶
Return default volume-occlusion options.
DvzVolumeOcclusionDesc dvz_volume_occlusion_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzVolumeOcclusionDesc |
volume-occlusion descriptor |
Declared in include/datoviz/scene.h:1313.
Types
DvzVolumeOcclusionDesc · record
struct DvzVolumeOcclusionDesc {
uint32_t struct_size;
uint32_t flags;
_Bool enabled;
float alpha_threshold;
float fade_distance;
float occluded_alpha;
};
Declared in include/datoviz/scene/types.h:895.