Skip to content

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.