C API Reference¶
Main functions¶
dvz_arcball_angles()
¶
Get the current arcball angles.
void dvz_arcball_angles(
DvzArcball* arcball, // the arcball
)
dvz_arcball_constrain()
¶
Add arcball constraints.
void dvz_arcball_constrain(
DvzArcball* arcball, // the arcball
vec3 constrain, // the constrain values
)
dvz_arcball_end()
¶
Finalize arcball position update.
void dvz_arcball_end(
DvzArcball* arcball, // the arcball
)
dvz_arcball_flags()
¶
Set the arcball flags.
void dvz_arcball_flags(
DvzArcball* arcball, // the arcball
int flags, // the flags
)
dvz_arcball_gui()
¶
Show a GUI with sliders controlling the three arcball angles.
void dvz_arcball_gui(
DvzArcball* arcball, // the arcball
DvzApp* app, // the app
DvzId canvas_id, // the canvas (or figure) ID
DvzPanel* panel, // the panel
)
dvz_arcball_initial()
¶
Set the initial arcball angles.
void dvz_arcball_initial(
DvzArcball* arcball, // the arcball
vec3 angles, // the initial angles
)
dvz_arcball_model()
¶
Return the model matrix of an arcball.
void dvz_arcball_model(
DvzArcball* arcball, // the arcball
)
dvz_arcball_mvp()
¶
Apply an MVP matrix to an arcball (only the model matrix).
void dvz_arcball_mvp(
DvzArcball* arcball, // the arcball
DvzMVP* mvp, // the MVP
)
dvz_arcball_print()
¶
Display information about an arcball.
void dvz_arcball_print(
DvzArcball* arcball, // the arcball
)
dvz_arcball_reset()
¶
Reset an arcball to its initial position.
void dvz_arcball_reset(
DvzArcball* arcball, // the arcball
)
dvz_arcball_resize()
¶
Inform an arcball of a panel resize.
void dvz_arcball_resize(
DvzArcball* arcball, // the arcball
float width, // the panel width
float height, // the panel height
)
dvz_arcball_rotate()
¶
Apply a rotation to an arcball.
void dvz_arcball_rotate(
DvzArcball* arcball, // the arcball
vec2 cur_pos, // the initial position
vec2 last_pos, // the final position
)
dvz_arcball_set()
¶
Set the arcball angles.
void dvz_arcball_set(
DvzArcball* arcball, // the arcball
vec3 angles, // the angles
)
dvz_atlas_destroy()
¶
Destroy an atlas.
void dvz_atlas_destroy(
DvzAtlas* atlas, // the atlas
)
dvz_atlas_font()
¶
Load the default atlas and font.
DvzAtlasFont dvz_atlas_font( // returns: a DvzAtlasFont struct with DvzAtlas and DvzFont objects.
double font_size, // the font size
)
dvz_basic()
¶
Create a basic visual using the few GPU visual primitives (point, line, triangles).
DvzVisual* dvz_basic( // returns: the visual
DvzBatch* batch, // the batch
DvzPrimitiveTopology topology, // the primitive topology
int flags, // the visual creation flags
)
dvz_basic_alloc()
¶
Allocate memory for a visual.
void dvz_basic_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_basic_color()
¶
Set the vertex colors.
void dvz_basic_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_basic_group()
¶
Set the vertex group index.
void dvz_basic_group(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the group index of each vertex
int flags, // the data update flags
)
dvz_basic_position()
¶
Set the vertex positions.
void dvz_basic_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the items to update
int flags, // the data update flags
)
dvz_basic_size()
¶
Set the point size (for POINT_LIST topology only).
void dvz_basic_size(
DvzVisual* visual, // the visual
float size, // the point size in pixels
)
dvz_box()
¶
Create a box.
DvzBox dvz_box( // returns: the box
double xmin, // minimum x value
double xmax, // maximum x value
double ymin, // minimum y value
double ymax, // maximum y value
double zmin, // minimum z value
double zmax, // maximum z value
)
dvz_box_aspect()
¶
Return the aspect ratio of a box.
double dvz_box_aspect( // returns: the aspect ratio width/height
DvzBox box, // the box
)
dvz_box_center()
¶
Return the box center.
void dvz_box_center(
DvzBox box, // the box
)
dvz_box_extent()
¶
Return the extent of a box, in the same coordinate system, depending on the aspect ratio.
DvzBox dvz_box_extent( // returns: the extent box
DvzBox box, // the original box
float width, // the viewport width
float height, // the viewport height
DvzBoxExtentStrategy strategy, // indicates how the extent box should be computed
)
dvz_box_inverse()
¶
Perform an inverse transformation of a position from a target box to a source box.
void dvz_box_inverse(
)
dvz_box_merge()
¶
Merge a number of boxes into a single box.
DvzBox dvz_box_merge( // returns: the merged box
uint32_t box_count, // the number of boxes to merge
DvzBox* boxes, // the boxes to merge
DvzBoxMergeStrategy strategy, // the merge strategy
)
dvz_box_normalize()
¶
Normalize 3D input positions into a target box.
void dvz_box_normalize(
DvzBox source, // the source box, in data coordinates
DvzBox target, // the target box, typically in normalized coordinates
uint32_t count, // the number of positions to normalize
dvec3* pos, // the positions to normalize (double precision)
)
dvz_box_normalize_2D()
¶
Normalize 2D input positions into a target box.
void dvz_box_normalize_2D(
DvzBox source, // the source box, in data coordinates
DvzBox target, // the target box, typically in normalized coordinates
uint32_t count, // the number of positions to normalize
dvec2* pos, // the positions to normalize (double precision)
)
dvz_box_print()
¶
Display information about a box.
void dvz_box_print(
)
dvz_camera_initial()
¶
Set the initial camera parameters.
void dvz_camera_initial(
DvzCamera* camera, // the camera
vec3 pos, // the initial position
vec3 lookat, // the lookat position
vec3 up, // the up vector
)
dvz_camera_lookat()
¶
Set a camera lookat position.
void dvz_camera_lookat(
DvzCamera* camera, // the camera
vec3 lookat, // the lookat position
)
dvz_camera_mvp()
¶
Apply an MVP to a camera.
void dvz_camera_mvp(
DvzCamera* camera, // the camera
DvzMVP* mvp, // the MVP
)
dvz_camera_ortho()
¶
Make an orthographic camera.
void dvz_camera_ortho(
DvzCamera* camera, // the camera
float left, // the left value
float right, // the right value
float bottom, // the bottom value
float top, // the top value
)
dvz_camera_perspective()
¶
Set a camera perspective.
void dvz_camera_perspective(
DvzCamera* camera, // the camera
float fov, // the field of view angle (in radians)
)
dvz_camera_position()
¶
Set a camera position.
void dvz_camera_position(
DvzCamera* camera, // the camera
vec3 pos, // the pos
)
dvz_camera_print()
¶
Display information about a camera.
void dvz_camera_print(
DvzCamera* camera, // the camera
)
dvz_camera_reset()
¶
Reset a camera.
void dvz_camera_reset(
DvzCamera* camera, // the camera
)
dvz_camera_resize()
¶
Inform a camera of a panel resize.
void dvz_camera_resize(
DvzCamera* camera, // the camera
float width, // the panel width
float height, // the panel height
)
dvz_camera_up()
¶
Set a camera up vector.
void dvz_camera_up(
DvzCamera* camera, // the camera
vec3 up, // the up vector
)
dvz_camera_viewproj()
¶
Return the view and proj matrices of the camera.
void dvz_camera_viewproj(
DvzCamera* camera, // the camera
)
dvz_camera_zrange()
¶
Set the camera zrange.
void dvz_camera_zrange(
DvzCamera* camera, // the camera
float near, // the near value
float far, // the far value
)
dvz_circular_2D()
¶
Generate a 2D circular motion.
void dvz_circular_2D(
vec2 center, // the circle center
float radius, // the circle radius
float angle, // the initial angle
float t, // the normalized value
)
dvz_circular_3D()
¶
Generate a 3D circular motion.
void dvz_circular_3D(
vec3 center, // the circle center
vec3 u, // the first 3D vector defining the plane containing the circle
vec3 v, // the second 3D vector defining the plane containing the circle
float radius, // the circle radius
float angle, // the initial angle
float t, // the normalized value
)
dvz_colormap()
¶
Fetch a color from a colormap and a value (either 8-bit or float, depending on DVZ_COLOR_CVEC4).
void dvz_colormap(
DvzColormap cmap, // the colormap
uint8_t value, // the value
)
dvz_colormap_8bit()
¶
Fetch a color from a colormap and a value (8-bit version).
void dvz_colormap_8bit(
DvzColormap cmap, // the colormap
uint8_t value, // the value
)
dvz_colormap_array()
¶
Fetch colors from a colormap and an array of values.
void dvz_colormap_array(
DvzColormap cmap, // the colormap
uint32_t count, // the number of values
float* values, // pointer to the array of float numbers
float vmin, // the minimum value
float vmax, // the maximum value
)
dvz_colormap_scale()
¶
Fetch a color from a colormap and an interpolated value.
void dvz_colormap_scale(
DvzColormap cmap, // the colormap
float value, // the value
float vmin, // the minimum value
float vmax, // the maximum value
)
dvz_compute_normals()
¶
Compute face normals.
void dvz_compute_normals(
uint32_t vertex_count, // number of vertices
uint32_t index_count, // number of indices (triple of the number of faces)
vec3* pos, // array of vec3 positions
DvzIndex* index, // pos array of uint32_t indices
)
dvz_demo()
¶
Run a demo.
void dvz_demo(
)
dvz_easing()
¶
Apply an easing function to a normalized value.
double dvz_easing( // returns: the eased value
DvzEasing easing, // the easing mode
double t, // the normalized value
)
dvz_error_callback()
¶
Register an error callback, a C function taking as input a string.
void dvz_error_callback(
DvzErrorCallback cb, // the error callback
)
dvz_figure()
¶
Create a figure, a desktop window with panels and visuals.
DvzFigure* dvz_figure( // returns: the figure
DvzScene* scene, // the scene
uint32_t width, // the window width
uint32_t height, // the window height
int flags, // the figure creation flags (not yet stabilized)
)
dvz_figure_destroy()
¶
Destroy a figure.
void dvz_figure_destroy(
DvzFigure* figure, // the figure
)
dvz_figure_id()
¶
Return a figure ID.
DvzId dvz_figure_id( // returns: the figure ID
DvzFigure* figure, // the figure
)
dvz_figure_resize()
¶
Resize a figure.
void dvz_figure_resize(
DvzFigure* fig, // the figure
uint32_t width, // the window width
uint32_t height, // the window height
)
dvz_figure_update()
¶
Update a figure after the composition of the panels and visuals has changed.
void dvz_figure_update(
DvzFigure* figure, // the figure
)
dvz_font()
¶
Create a font.
DvzFont* dvz_font( // returns: the font
long ttf_size, // size in bytes of a TTF font raw buffer
char* ttf_bytes, // TTF font raw buffer
)
dvz_font_ascii()
¶
Compute the shift of each glyph in an ASCII string, using the Freetype library.
vec4* dvz_font_ascii( // returns: an array of (x,y,w,h) shifts
DvzFont* font, // the font
char* string, // the ASCII string
)
dvz_font_destroy()
¶
Destroy a font.
void dvz_font_destroy(
DvzFont* font, // the font
)
dvz_font_draw()
¶
Render a string using Freetype.
uint8_t* dvz_font_draw( // returns: an RGBA array allocated by this function and that MUST be freed by the caller
DvzFont* font, // the font
uint32_t length, // the number of glyphs
uint32_t* codepoints, // the Unicode codepoints of the glyphs
vec4* xywh, // an array of (x,y,w,h) shifts, returned by dvz_font_layout()
int flags, // the font flags
)
dvz_font_layout()
¶
Compute the shift of each glyph in a Unicode string, using the Freetype library.
vec4* dvz_font_layout( // returns: an array of (x,y,w,h) shifts
DvzFont* font, // the font
uint32_t length, // the number of glyphs
uint32_t* codepoints, // the Unicode codepoints of the glyphs
)
dvz_font_size()
¶
Set the font size.
void dvz_font_size(
DvzFont* font, // the font
double size, // the font size
)
dvz_font_texture()
¶
Generate a texture with a rendered text.
DvzId dvz_font_texture( // returns: a tex ID
DvzFont* font, // the font
DvzBatch* batch, // the batch
uint32_t length, // the number of Unicode codepoints
uint32_t* codepoints, // the Unicode codepoints
)
dvz_glyph()
¶
Create a glyph visual.
DvzVisual* dvz_glyph( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_glyph_alloc()
¶
Allocate memory for a visual.
void dvz_glyph_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_glyph_anchor()
¶
Set the glyph anchors.
void dvz_glyph_anchor(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec2* values, // the anchors (x and y) of the items to update
int flags, // the data update flags
)
dvz_glyph_angle()
¶
Set the glyph angles.
void dvz_glyph_angle(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the angles of the items to update
int flags, // the data update flags
)
dvz_glyph_ascii()
¶
Set the glyph ascii characters.
void dvz_glyph_ascii(
DvzVisual* visual, // the visual
char* string, // the characters
)
dvz_glyph_atlas()
¶
Associate an atlas with a glyph visual.
void dvz_glyph_atlas(
DvzVisual* visual, // the visual
DvzAtlas* atlas, // the atlas
)
dvz_glyph_axis()
¶
Set the glyph axes.
void dvz_glyph_axis(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D axis vectors of the items to update
int flags, // the data update flags
)
dvz_glyph_bgcolor()
¶
Set the glyph background color.
void dvz_glyph_bgcolor(
DvzVisual* visual, // the visual
vec4 bgcolor, // the background color
)
dvz_glyph_color()
¶
Set the glyph colors.
void dvz_glyph_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_glyph_groupsize()
¶
Set the glyph group size.
void dvz_glyph_groupsize(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the glyph group sizes
int flags, // the data update flags
)
dvz_glyph_position()
¶
Set the glyph positions.
void dvz_glyph_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the items to update
int flags, // the data update flags
)
dvz_glyph_shift()
¶
Set the glyph shifts.
void dvz_glyph_shift(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec2* values, // the shifts (x and y) of the items to update
int flags, // the data update flags
)
dvz_glyph_size()
¶
Set the glyph sizes.
void dvz_glyph_size(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec2* values, // the sizes (width and height) of the items to update
int flags, // the data update flags
)
dvz_glyph_texcoords()
¶
Set the glyph texture coordinates.
void dvz_glyph_texcoords(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec4* coords, // the x,y,w,h texture coordinates
int flags, // the data update flags
)
dvz_glyph_texture()
¶
Assign a texture to a glyph visual.
void dvz_glyph_texture(
DvzVisual* visual, // the visual
DvzId tex, // the texture ID
)
dvz_glyph_unicode()
¶
Set the glyph unicode code points.
void dvz_glyph_unicode(
DvzVisual* visual, // the visual
uint32_t count, // the number of glyphs
uint32_t* codepoints, // the unicode codepoints
)
dvz_glyph_xywh()
¶
Set the xywh parameters of each glyph.
void dvz_glyph_xywh(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec4* values, // the xywh values of each glyph
vec2 offset, // the xy offsets of each glyph
int flags, // the data update flags
)
dvz_gui_alpha()
¶
Set the alpha transparency of the next GUI dialog.
void dvz_gui_alpha(
float alpha, // the alpha transparency value
)
dvz_gui_begin()
¶
Start a new dialog.
void dvz_gui_begin(
char* title, // the dialog title
int flags, // the flags
)
dvz_gui_button()
¶
Add a button.
bool dvz_gui_button( // returns: whether the button was pressed
char* name, // the button name
float width, // the button width
float height, // the button height
)
dvz_gui_checkbox()
¶
Add a checkbox.
bool dvz_gui_checkbox( // returns: whether the checkbox's state has changed
char* name, // the button name
)
dvz_gui_clicked()
¶
Close the current tree node.
bool dvz_gui_clicked(
)
dvz_gui_colorpicker()
¶
Add a color picker
bool dvz_gui_colorpicker(
char* name, // the widget name
vec3 color, // the color
int flags, // the widget flags
)
dvz_gui_corner()
¶
Set the corner position of the next GUI dialog.
void dvz_gui_corner(
DvzCorner corner, // which corner
vec2 pad, // the pad
)
dvz_gui_demo()
¶
Show the demo GUI.
void dvz_gui_demo(
)
dvz_gui_end()
¶
Stop the creation of the dialog.
void dvz_gui_end(
)
dvz_gui_flags()
¶
Set the flags of the next GUI dialog.
int dvz_gui_flags(
int flags, // the flags
)
dvz_gui_image()
¶
Add an image in a GUI dialog.
void dvz_gui_image(
DvzTex* tex, // the texture
float width, // the image width
float height, // the image height
)
dvz_gui_node()
¶
Start a new tree node.
bool dvz_gui_node(
char* name, // the widget name
)
dvz_gui_pop()
¶
Close the current tree node.
void dvz_gui_pop(
)
dvz_gui_pos()
¶
Set the position of the next GUI dialog.
void dvz_gui_pos(
vec2 pos, // the dialog position
vec2 pivot, // the pivot
)
dvz_gui_selectable()
¶
Close the current tree node.
bool dvz_gui_selectable(
char* name, // the widget name
)
dvz_gui_size()
¶
Set the size of the next GUI dialog.
void dvz_gui_size(
vec2 size, // the size
)
dvz_gui_slider()
¶
Add a slider.
bool dvz_gui_slider( // returns: whether the value has changed
char* name, // the slider name
float vmin, // the minimum value
float vmax, // the maximum value
float* value, // the pointer to the value
)
dvz_gui_table()
¶
Display a table with selectable rows.
bool dvz_gui_table( // returns: whether the row selection has changed (in the selected array)
char* name, // the widget name
uint32_t row_count, // the number of rows
uint32_t column_count, // the number of columns
char** labels, // all cell labels
bool* selected, // a pointer to an array of boolean indicated which rows are selected
int flags, // the Dear ImGui flags
)
dvz_image()
¶
Create an image visual.
DvzVisual* dvz_image( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_image_alloc()
¶
Allocate memory for a visual.
void dvz_image_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of images to allocate for this visual
)
dvz_image_anchor()
¶
Set the image anchors.
void dvz_image_anchor(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec2* values, // the relative anchors of each image, (0,0 = position pertains to top left corner)
int flags, // the data update flags
)
dvz_image_color()
¶
Set the image colors (only when using DVZ_IMAGE_FLAGS_FILL).
void dvz_image_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the image colors
int flags, // the data update flags
)
dvz_image_edge_color()
¶
Set the edge color.
void dvz_image_edge_color(
DvzVisual* visual, // the visual
DvzColor color, // the edge color
)
dvz_image_edge_width()
¶
Set the edge width.
void dvz_image_edge_width(
DvzVisual* visual, // the visual
float width, // the edge width
)
dvz_image_position()
¶
Set the image positions.
void dvz_image_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the top left corner
int flags, // the data update flags
)
dvz_image_radius()
¶
Use a rounded rectangle for images, with a given radius in pixels.
void dvz_image_radius(
DvzVisual* visual, // the visual
float radius, // the rounded corner radius, in pixel
)
dvz_image_size()
¶
Set the image sizes.
void dvz_image_size(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec2* values, // the sizes of each image, in pixels
int flags, // the data update flags
)
dvz_image_texcoords()
¶
Set the image texture coordinates.
void dvz_image_texcoords(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec4* tl_br, // the tex coordinates of the top left and bottom right corners (vec4 u0,v0,u1,v1)
int flags, // the data update flags
)
dvz_image_texture()
¶
Assign a texture to an image visual.
void dvz_image_texture(
DvzVisual* visual, // the visual
DvzId tex, // the texture ID
DvzFilter filter, // the texture filtering mode
DvzSamplerAddressMode address_mode, // the texture address mode
)
dvz_interpolate()
¶
Make a linear interpolation between two scalar value.
float dvz_interpolate( // returns: the interpolated value
float p0, // the first value
float p1, // the second value
float t, // the normalized value
)
dvz_interpolate_2D()
¶
Make a linear interpolation between two 2D points.
void dvz_interpolate_2D( // returns: the interpolated point
vec2 p0, // the first point
vec2 p1, // the second point
float t, // the normalized value
)
dvz_interpolate_3D()
¶
Make a linear interpolation between two 3D points.
void dvz_interpolate_3D( // returns: the interpolated point
vec3 p0, // the first point
vec3 p1, // the second point
float t, // the normalized value
)
dvz_marker()
¶
Create a marker visual.
DvzVisual* dvz_marker( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_marker_alloc()
¶
Allocate memory for a visual.
void dvz_marker_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_marker_angle()
¶
Set the marker angles.
void dvz_marker_angle(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the angles of the items to update
int flags, // the data update flags
)
dvz_marker_aspect()
¶
Set the marker aspect.
void dvz_marker_aspect(
DvzVisual* visual, // the visual
DvzMarkerAspect aspect, // the marker aspect, one of DVZ_MARKER_ASPECT_FILLED, DVZ_MARKER_ASPECT_STROKE,
)
dvz_marker_color()
¶
Set the marker colors.
void dvz_marker_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_marker_edge_color()
¶
Set the marker edge color.
void dvz_marker_edge_color(
DvzVisual* visual, // the visual
DvzColor color, // the edge color
)
dvz_marker_edge_width()
¶
Set the marker edge width.
void dvz_marker_edge_width(
DvzVisual* visual, // the visual
float width, // the edge width
)
dvz_marker_mode()
¶
Set the marker mode.
void dvz_marker_mode(
DvzVisual* visual, // the visual
DvzMarkerMode mode, // the marker mode, one of DVZ_MARKER_MODE_CODE, DVZ_MARKER_MODE_BITMAP,
)
dvz_marker_position()
¶
Set the marker positions.
void dvz_marker_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the items to update
int flags, // the data update flags
)
dvz_marker_shape()
¶
Set the marker shape.
void dvz_marker_shape(
DvzVisual* visual, // the visual
DvzMarkerShape shape, // the marker shape
)
dvz_marker_size()
¶
Set the marker sizes.
void dvz_marker_size(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_marker_tex()
¶
Set the marker texture.
void dvz_marker_tex(
DvzVisual* visual, // the visual
DvzId tex, // the texture ID
DvzId sampler, // the sampler ID
)
dvz_marker_tex_scale()
¶
Set the texture scale.
void dvz_marker_tex_scale(
DvzVisual* visual, // the visual
float scale, // the texture scale
)
dvz_mesh()
¶
Create a mesh visual.
DvzVisual* dvz_mesh( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_mesh_alloc()
¶
Allocate memory for a visual.
void dvz_mesh_alloc(
DvzVisual* visual, // the visual
uint32_t vertex_count, // the number of vertices
uint32_t index_count, // the number of indices
)
dvz_mesh_color()
¶
Set the mesh colors.
void dvz_mesh_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the vertex colors
int flags, // the data update flags
)
dvz_mesh_contour()
¶
Set the contour information for polygon contours.
void dvz_mesh_contour(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
cvec4* values, // for vertex A, B, C, the least significant bit is 1 if the opposite edge is a
int flags, // the data update flags
)
dvz_mesh_density()
¶
Set the number of isolines
void dvz_mesh_density(
DvzVisual* visual, // the mesh
uint32_t count, // the number of isolines
)
dvz_mesh_index()
¶
Set the mesh indices.
void dvz_mesh_index(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzIndex* values, // the face indices (three vertex indices per triangle)
int flags, // the data update flags
)
dvz_mesh_isoline()
¶
Set the isolines values.
void dvz_mesh_isoline(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the scalar field for which to draw isolines
int flags, // the data update flags
)
dvz_mesh_left()
¶
Set the distance between the current vertex to the left edge at corner A, B, or C in triangle
void dvz_mesh_left(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the distance to the left edge adjacent to each triangle vertex
int flags, // the data update flags
)
dvz_mesh_light_color()
¶
Set the light color.
void dvz_mesh_light_color(
DvzVisual* visual, // the mesh
uint32_t idx, // the light index (0, 1, 2, or 3)
color, // the light color (rgba, but the a component is ignored)
)
dvz_mesh_light_dir()
¶
Set the light direction.
void dvz_mesh_light_dir(
DvzVisual* visual, // the mesh
uint32_t idx, // the light index (0, 1, 2, or 3)
vec3 dir, // the light direction
)
dvz_mesh_light_params()
¶
Set the light parameters.
void dvz_mesh_light_params(
DvzVisual* visual, // the mesh
uint32_t idx, // the light index (0, 1, 2, or 3)
vec4 params, // the light parameters (vec4 ambient, diffuse, specular, exponent)
)
dvz_mesh_linewidth()
¶
Set the stroke linewidth (wireframe or isoline).
void dvz_mesh_linewidth(
DvzVisual* visual, // the mesh
float linewidth, // the line width
)
dvz_mesh_normal()
¶
Set the mesh normals.
void dvz_mesh_normal(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the vertex normal vectors
int flags, // the data update flags
)
dvz_mesh_position()
¶
Set the mesh vertex positions.
void dvz_mesh_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D vertex positions
int flags, // the data update flags
)
dvz_mesh_reshape()
¶
Update a mesh once a shape has been updated.
void dvz_mesh_reshape(
DvzVisual* visual, // the mesh
DvzShape* shape, // the shape
)
dvz_mesh_right()
¶
Set the distance between the current vertex to the right edge at corner A, B, or C in triangle
void dvz_mesh_right(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the distance to the right edge adjacent to each triangle vertex
int flags, // the data update flags
)
dvz_mesh_shape()
¶
Create a mesh out of a shape.
DvzVisual* dvz_mesh_shape( // returns: the mesh
DvzBatch* batch, // the batch
DvzShape* shape, // the shape
int flags, // the visual creation flags
)
dvz_mesh_stroke()
¶
Set the stroke color.
void dvz_mesh_stroke(
DvzVisual* visual, // the mesh
stroke, // the rgba components
)
dvz_mesh_texcoords()
¶
Set the mesh texture coordinates.
void dvz_mesh_texcoords(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec4* values, // the vertex texture coordinates (vec4 u,v,*,alpha)
int flags, // the data update flags
)
dvz_mesh_texture()
¶
Assign a 2D texture to a mesh visual.
void dvz_mesh_texture(
DvzVisual* visual, // the visual
DvzId tex, // the texture ID
DvzFilter filter, // the texture filtering mode
DvzSamplerAddressMode address_mode, // the texture address mode
)
dvz_monoglyph()
¶
Create a monoglyph visual.
DvzVisual* dvz_monoglyph( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_monoglyph_alloc()
¶
Allocate memory for a visual.
void dvz_monoglyph_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_monoglyph_anchor()
¶
Set the glyph anchor (relative to the glyph size).
void dvz_monoglyph_anchor(
DvzVisual* visual, // the visual
vec2 anchor, // the anchor
)
dvz_monoglyph_color()
¶
Set the glyph colors.
void dvz_monoglyph_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_monoglyph_glyph()
¶
Set the text.
void dvz_monoglyph_glyph(
DvzVisual* visual, // the visual
char* text, // the ASCII test (string length without the null terminal byte = number of glyphs)
)
dvz_monoglyph_offset()
¶
Set the glyph offsets.
void dvz_monoglyph_offset(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
ivec2* values, // the glyph offsets (ivec2 integers: row,column)
int flags, // the data update flags
)
dvz_monoglyph_position()
¶
Set the glyph positions.
void dvz_monoglyph_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the items to update
int flags, // the data update flags
)
dvz_monoglyph_size()
¶
Set the glyph size (relative to the initial glyph size).
void dvz_monoglyph_size(
DvzVisual* visual, // the visual
float size, // the glyph size
)
dvz_monoglyph_textarea()
¶
All-in-one function for multiline text.
void dvz_monoglyph_textarea(
DvzVisual* visual, // the visual
vec3 pos, // the text position
DvzColor color, // the text color
float size, // the glyph size
char* text, // the text, can contain `\n` new lines
)
dvz_mvp()
¶
Create a MVP structure.
DvzMVP dvz_mvp( // returns: the MVP structure
mat4 model, // the model matrix
mat4 view, // the view matrix
mat4 proj, // the projection matrix
)
dvz_ortho_end()
¶
End an ortho interaction.
void dvz_ortho_end(
DvzOrtho* ortho, // the ortho
)
dvz_ortho_flags()
¶
Set the ortho flags.
void dvz_ortho_flags(
DvzOrtho* ortho, // the ortho
int flags, // the flags
)
dvz_ortho_mvp()
¶
Apply an MVP matrix to an ortho.
void dvz_ortho_mvp(
DvzOrtho* ortho, // the ortho
DvzMVP* mvp, // the MVP
)
dvz_ortho_pan()
¶
Apply a pan value to an ortho.
void dvz_ortho_pan(
DvzOrtho* ortho, // the ortho
vec2 pan, // the pan, in NDC
)
dvz_ortho_pan_shift()
¶
Apply a pan shift to an ortho.
void dvz_ortho_pan_shift(
DvzOrtho* ortho, // the ortho
vec2 shift_px, // the shift value, in pixels
vec2 center_px, // the center position, in pixels
)
dvz_ortho_reset()
¶
Reset an ortho.
void dvz_ortho_reset(
DvzOrtho* ortho, // the ortho
)
dvz_ortho_resize()
¶
Inform an ortho of a panel resize.
void dvz_ortho_resize(
DvzOrtho* ortho, // the ortho
float width, // the panel width
float height, // the panel height
)
dvz_ortho_zoom()
¶
Apply a zoom value to an ortho.
void dvz_ortho_zoom(
DvzOrtho* ortho, // the ortho
float zoom, // the zoom level
)
dvz_ortho_zoom_shift()
¶
Apply a zoom shift to an ortho.
void dvz_ortho_zoom_shift(
DvzOrtho* ortho, // the ortho
vec2 shift_px, // the shift value, in pixels
vec2 center_px, // the center position, in pixels
)
dvz_ortho_zoom_wheel()
¶
Apply a wheel zoom to an ortho.
void dvz_ortho_zoom_wheel(
DvzOrtho* ortho, // the ortho
vec2 dir, // the wheel direction
vec2 center_px, // the center position, in pixels
)
dvz_panel()
¶
Create a panel in a figure (partial or complete rectangular portion of a figure).
DvzPanel* dvz_panel(
DvzFigure* fig, // the figure
float x, // the x coordinate of the top left corner, in pixels
float y, // the y coordinate of the top left corner, in pixels
float width, // the panel width, in pixels
float height, // the panel height, in pixels
)
dvz_panel_arcball()
¶
Set arcball interactivity for a panel.
DvzArcball* dvz_panel_arcball( // returns: the arcball
DvzPanel* panel, // the panel
)
dvz_panel_at()
¶
Return the panel containing a given point.
DvzPanel* dvz_panel_at( // returns: the panel containing the point, or NULL if there is none
DvzFigure* figure, // the figure
vec2 pos, // the position
)
dvz_panel_camera()
¶
Set a camera for a panel.
DvzCamera* dvz_panel_camera( // returns: the camera
DvzPanel* panel, // the panel
int flags, // the camera flags
)
dvz_panel_contains()
¶
Return whether a point is inside a panel.
bool dvz_panel_contains( // returns: true if the position lies within the panel
DvzPanel* panel, // the panel
vec2 pos, // the position
)
dvz_panel_default()
¶
Return the default full panel spanning an entire figure.
DvzPanel* dvz_panel_default( // returns: the panel spanning the entire figure
DvzFigure* fig, // the figure
)
dvz_panel_destroy()
¶
Destroy a panel.
void dvz_panel_destroy(
DvzPanel* panel, // the panel
)
dvz_panel_margins()
¶
Set the margins of a panel.
void dvz_panel_margins(
DvzPanel* panel, // the panel
float top, // the top margin, in pixels
float right, // the right margin, in pixels
float bottom, // the bottom margin, in pixels
float left, // the left margin, in pixels
)
dvz_panel_mvp()
¶
Assign a MVP structure to a panel.
void dvz_panel_mvp(
DvzPanel* panel, // the panel
DvzMVP* mvp, // a pointer to the MVP structure
)
dvz_panel_mvpmat()
¶
Assign the model-view-proj matrices to a panel.
void dvz_panel_mvpmat(
DvzPanel* panel, // the panel
mat4 model, // the model matrix
mat4 view, // the view matrix
mat4 proj, // the projection matrix
)
dvz_panel_ortho()
¶
Set ortho interactivity for a panel.
DvzOrtho* dvz_panel_ortho( // returns: the ortho
DvzPanel* panel, // the panel
)
dvz_panel_panzoom()
¶
Set panzoom interactivity for a panel.
DvzPanzoom* dvz_panel_panzoom( // returns: the panzoom
DvzPanel* panel, // the panel
)
dvz_panel_resize()
¶
Resize a panel.
void dvz_panel_resize(
DvzPanel* panel, // the panel
float x, // the x coordinate of the top left corner, in pixels
float y, // the y coordinate of the top left corner, in pixels
float width, // the panel width, in pixels
float height, // the panel height, in pixels
)
dvz_panel_transform()
¶
Assign a transform to a panel.
void dvz_panel_transform(
DvzPanel* panel, // the panel
DvzTransform* tr, // the transform
)
dvz_panel_update()
¶
Trigger a panel update.
void dvz_panel_update(
DvzPanel* panel, // the panel
)
dvz_panel_visual()
¶
Add a visual to a panel.
void dvz_panel_visual(
DvzPanel* panel, // the panel
DvzVisual* visual, // the visual
)
dvz_panzoom_end()
¶
End a panzoom interaction.
void dvz_panzoom_end(
DvzPanzoom* pz, // the panzoom
)
dvz_panzoom_extent()
¶
Get the extent box.
DvzBox dvz_panzoom_extent( // returns: the extent box in normalized coordinates
DvzPanzoom* pz, // the panzoom
)
dvz_panzoom_flags()
¶
Set the panzoom flags.
void dvz_panzoom_flags(
DvzPanzoom* pz, // the panzoom
int flags, // the flags
)
dvz_panzoom_mvp()
¶
Apply an MVP matrix to a panzoom.
void dvz_panzoom_mvp(
DvzPanzoom* pz, // the panzoom
DvzMVP* mvp, // the MVP
)
dvz_panzoom_pan()
¶
Apply a pan value to a panzoom.
void dvz_panzoom_pan(
DvzPanzoom* pz, // the panzoom
vec2 pan, // the pan, in NDC
)
dvz_panzoom_pan_shift()
¶
Apply a pan shift to a panzoom.
void dvz_panzoom_pan_shift(
DvzPanzoom* pz, // the panzoom
vec2 shift_px, // the shift value, in pixels
vec2 center_px, // the center position, in pixels
)
dvz_panzoom_reset()
¶
Reset a panzoom.
void dvz_panzoom_reset(
DvzPanzoom* pz, // the panzoom
)
dvz_panzoom_resize()
¶
Inform a panzoom of a panel resize.
void dvz_panzoom_resize(
DvzPanzoom* pz, // the panzoom
float width, // the panel width
float height, // the panel height
)
dvz_panzoom_set()
¶
Set the extent box.
void dvz_panzoom_set(
DvzPanzoom* pz, // the panzoom
DvzBox extent, // the extent box
)
dvz_panzoom_xlim()
¶
Set a panzoom x limits.
void dvz_panzoom_xlim(
DvzPanzoom* pz, // the panzoom
vec2 xlim, // the xlim (FLOAT_MIN/MAX=no lim)
)
dvz_panzoom_ylim()
¶
Set a panzoom y limits.
void dvz_panzoom_ylim(
DvzPanzoom* pz, // the panzoom
vec2 ylim, // the ylim (FLOAT_MIN/MAX=no lim)
)
dvz_panzoom_zlim()
¶
Set a panzoom z limits.
void dvz_panzoom_zlim(
DvzPanzoom* pz, // the panzoom
vec2 zlim, // the zlim (FLOAT_MIN/MAX=no lim)
)
dvz_panzoom_zoom()
¶
Apply a zoom value to a panzoom.
void dvz_panzoom_zoom(
DvzPanzoom* pz, // the panzoom
vec2 zoom, // the zoom, in NDC
)
dvz_panzoom_zoom_shift()
¶
Apply a zoom shift to a panzoom.
void dvz_panzoom_zoom_shift(
DvzPanzoom* pz, // the panzoom
vec2 shift_px, // the shift value, in pixels
vec2 center_px, // the center position, in pixels
)
dvz_panzoom_zoom_wheel()
¶
Apply a wheel zoom to a panzoom.
void dvz_panzoom_zoom_wheel(
DvzPanzoom* pz, // the panzoom
vec2 dir, // the wheel direction
vec2 center_px, // the center position, in pixels
)
dvz_path()
¶
Create a path visual.
DvzVisual* dvz_path( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_path_alloc()
¶
Allocate memory for a visual.
void dvz_path_alloc(
DvzVisual* visual, // the visual
uint32_t total_point_count, // the total number of points to allocate for this visual
)
dvz_path_cap()
¶
Set the path cap.
void dvz_path_cap(
DvzVisual* visual, // the visual
DvzCapType cap, // the cap
)
dvz_path_color()
¶
Set the path colors.
void dvz_path_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_path_join()
¶
Set the path join.
void dvz_path_join(
DvzVisual* visual, // the visual
DvzJoinType join, // the join
)
dvz_path_linewidth()
¶
Set the path line width.
void dvz_path_linewidth(
DvzVisual* visual, // the visual
float width, // the line width
)
dvz_path_position()
¶
Set the path positions. Note: all path point positions must be updated at once for now.
void dvz_path_position(
DvzVisual* visual, // the visual
vertex_count, // the total number of points across all paths
vec3* positions, // the path point positions
uint32_t path_count, // the number of different paths
uint32_t* path_lengths, // the number of points in each path
int flags, // the data update flags
)
dvz_pixel()
¶
Create a pixel visual.
DvzVisual* dvz_pixel( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_pixel_alloc()
¶
Allocate memory for a visual.
void dvz_pixel_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_pixel_color()
¶
Set the pixel colors.
void dvz_pixel_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_pixel_position()
¶
Set the pixel positions.
void dvz_pixel_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the items to update
int flags, // the data update flags
)
dvz_point()
¶
Create a point visual.
DvzVisual* dvz_point( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_point_alloc()
¶
Allocate memory for a visual.
void dvz_point_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_point_color()
¶
Set the point colors.
void dvz_point_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_point_position()
¶
Set the point positions.
void dvz_point_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* values, // the 3D positions of the items to update
int flags, // the data update flags
)
dvz_point_size()
¶
Set the point sizes.
void dvz_point_size(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the sizes of the items to update
int flags, // the data update flags
)
dvz_resample()
¶
Normalize a value in an interval.
double dvz_resample( // returns: the normalized value between 0 and 1
double t0, // the interval start
double t1, // the interval end
double t, // the value within the interval
)
dvz_scene()
¶
Create a scene.
DvzScene* dvz_scene( // returns: the scene
DvzBatch* batch, // the batch
)
dvz_scene_destroy()
¶
Destroy a scene.
void dvz_scene_destroy(
DvzScene* scene, // the scene
)
dvz_scene_figure()
¶
Get a figure from its id.
DvzFigure* dvz_scene_figure( // returns: the figure
DvzScene* scene, // the scene
DvzId id, // the figure id
)
dvz_scene_run()
¶
Start the event loop and render the scene in a window.
void dvz_scene_run(
DvzScene* scene, // the scene
DvzApp* app, // the app
uint64_t n_frames, // the maximum number of frames, 0 for infinite loop
)
dvz_segment()
¶
Create a segment visual.
DvzVisual* dvz_segment( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_segment_alloc()
¶
Allocate memory for a visual.
void dvz_segment_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of items to allocate for this visual
)
dvz_segment_cap()
¶
Set the segment cap types.
void dvz_segment_cap(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzCapType* initial, // the initial segment cap types
DvzCapType* terminal, // the terminal segment cap types
int flags, // the data update flags
)
dvz_segment_color()
¶
Set the segment colors.
void dvz_segment_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* values, // the colors of the items to update
int flags, // the data update flags
)
dvz_segment_linewidth()
¶
Set the segment line widths.
void dvz_segment_linewidth(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* values, // the segment line widths
int flags, // the data update flags
)
dvz_segment_position()
¶
Set the segment positions.
void dvz_segment_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* initial, // the initial 3D positions of the segments
vec3* terminal, // the terminal 3D positions of the segments
int flags, // the data update flags
)
dvz_segment_shift()
¶
Set the segment shift.
void dvz_segment_shift(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec4* values, // the dx0,dy0,dx1,dy1 shift quadriplets of the segments to update
int flags, // the data update flags
)
dvz_shape_begin()
¶
Start a transformation sequence.
void dvz_shape_begin(
DvzShape* shape, // the shape
uint32_t first, // the first vertex to modify
uint32_t count, // the number of vertices to modify
)
dvz_shape_cone()
¶
Create a cone shape.
DvzShape dvz_shape_cone( // returns: the shape
uint32_t count, // the number of points along the disc border
DvzColor color, // the cone color
)
dvz_shape_cube()
¶
Create a cube shape.
DvzShape dvz_shape_cube( // returns: the shape
DvzColor* colors, // the colors of the six faces
)
dvz_shape_cylinder()
¶
Create a cylinder shape.
DvzShape dvz_shape_cylinder( // returns: the shape
uint32_t count, // the number of points along the cylinder border
DvzColor color, // the cylinder color
)
dvz_shape_destroy()
¶
Destroy a shape.
void dvz_shape_destroy(
DvzShape* shape, // the shape
)
dvz_shape_disc()
¶
Create a disc shape.
DvzShape dvz_shape_disc( // returns: the shape
uint32_t count, // the number of points along the disc border
DvzColor color, // the disc color
)
dvz_shape_end()
¶
Apply the transformation sequence and reset it.
void dvz_shape_end(
DvzShape* shape, // the shape
)
dvz_shape_merge()
¶
Merge several shapes.
DvzShape dvz_shape_merge( // returns: the merged shape
uint32_t count, // the number of shapes to merge
DvzShape* shapes, // the shapes to merge
)
dvz_shape_normalize()
¶
Normalize a shape.
void dvz_shape_normalize(
DvzShape* shape, // the shape
)
dvz_shape_normals()
¶
Recompute the face normals.
void dvz_shape_normals(
DvzShape* shape, // the shape
)
dvz_shape_obj()
¶
Load a .obj shape.
DvzShape dvz_shape_obj( // returns: the shape
char* file_path, // the path to the .obj file
)
dvz_shape_polygon()
¶
Create a polygon shape using the simple earcut polygon triangulation algorithm.
DvzShape dvz_shape_polygon( // returns: the shape
uint32_t count, // the number of points along the polygon border
dvec2* points, // the points 2D coordinates
DvzColor color, // the polygon color
)
dvz_shape_print()
¶
Show information about a shape.
void dvz_shape_print(
DvzShape* shape, // the shape
)
dvz_shape_rescaling()
¶
Compute the rescaling factor to renormalize a shape.
float dvz_shape_rescaling(
DvzShape* shape, // the shape
int flags, // the rescaling flags
)
dvz_shape_rotate()
¶
Append a rotation to a shape.
void dvz_shape_rotate(
DvzShape* shape, // the shape
float angle, // the rotation angle
vec3 axis, // the rotation axis
)
dvz_shape_scale()
¶
Append a scaling transform to a shape.
void dvz_shape_scale(
DvzShape* shape, // the shape
vec3 scale, // the scaling factors
)
dvz_shape_sphere()
¶
Create a sphere shape.
DvzShape dvz_shape_sphere( // returns: the shape
uint32_t rows, // the number of rows
uint32_t cols, // the number of columns
DvzColor color, // the sphere color
)
dvz_shape_square()
¶
Create a square shape.
DvzShape dvz_shape_square( // returns: the shape
DvzColor color, // the square color
)
dvz_shape_surface()
¶
Create a grid shape.
DvzShape dvz_shape_surface( // returns: the shape
uint32_t row_count, // number of rows
uint32_t col_count, // number of cols
float* heights, // a pointer to row_count*col_count height values (floats)
DvzColor* colors, // a pointer to row_count*col_count color values (cvec4 or vec4)
vec3 o, // the origin
vec3 u, // the unit vector parallel to each column
vec3 v, // the unit vector parallel to each row
int flags, // the grid creation flags
)
dvz_shape_transform()
¶
Append an arbitrary transformation.
void dvz_shape_transform(
DvzShape* shape, // the shape
mat4 transform, // the transform mat4 matrix
)
dvz_shape_translate()
¶
Append a translation to a shape.
void dvz_shape_translate(
DvzShape* shape, // the shape
vec3 translate, // the translation vector
)
dvz_shape_unindex()
¶
Convert an indexed shape to a non-indexed one by duplicating the vertex values according
void dvz_shape_unindex(
DvzShape* shape, // the shape
int flags, // the flags
)
dvz_slice()
¶
Create a slice visual (multiple 2D images with slices of a 3D texture).
DvzVisual* dvz_slice( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_slice_alloc()
¶
Allocate memory for a visual.
void dvz_slice_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of slices to allocate for this visual
)
dvz_slice_alpha()
¶
Set the slice transparency alpha value.
void dvz_slice_alpha(
DvzVisual* visual, // the visual
float alpha, // the alpha value
)
dvz_slice_position()
¶
Set the slice positions.
void dvz_slice_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* p0, // the 3D positions of the top left corner
vec3* p1, // the 3D positions of the top right corner
vec3* p2, // the 3D positions of the bottom left corner
vec3* p3, // the 3D positions of the bottom right corner
int flags, // the data update flags
)
dvz_slice_texcoords()
¶
Set the slice texture coordinates.
void dvz_slice_texcoords(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* uvw0, // the 3D texture coordinates of the top left corner
vec3* uvw1, // the 3D texture coordinates of the top right corner
vec3* uvw2, // the 3D texture coordinates of the bottom left corner
vec3* uvw3, // the 3D texture coordinates of the bottom right corner
int flags, // the data update flags
)
dvz_slice_texture()
¶
Assign a texture to a slice visual.
void dvz_slice_texture(
DvzVisual* visual, // the visual
DvzId tex, // the texture ID
DvzFilter filter, // the texture filtering mode
DvzSamplerAddressMode address_mode, // the texture address mode
)
dvz_sphere()
¶
Create a sphere visual.
DvzVisual* dvz_sphere( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_sphere_alloc()
¶
Allocate memory for a visual.
void dvz_sphere_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of spheres to allocate for this visual
)
dvz_sphere_color()
¶
Set the sphere colors.
void dvz_sphere_color(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
DvzColor* color, // the sphere colors
int flags, // the data update flags
)
dvz_sphere_light_params()
¶
Set the sphere light parameters.
void dvz_sphere_light_params(
DvzVisual* visual, // the visual
vec4 params, // the light parameters (vec4 ambient, diffuse, specular, exponent)
)
dvz_sphere_light_pos()
¶
Set the sphere light position.
void dvz_sphere_light_pos(
DvzVisual* visual, // the visual
vec3 pos, // the light position
)
dvz_sphere_position()
¶
Set the sphere positions.
void dvz_sphere_position(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
vec3* pos, // the 3D positions of the sphere centers
int flags, // the data update flags
)
dvz_sphere_size()
¶
Set the sphere sizes.
void dvz_sphere_size(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first item to update
uint32_t count, // the number of items to update
float* size, // the radius of the spheres
int flags, // the data update flags
)
dvz_tex_image()
¶
Create a 2D texture to be used in an image visual.
DvzId dvz_tex_image( // returns: the texture ID
DvzBatch* batch, // the batch
DvzFormat format, // the texture format
uint32_t width, // the texture width
uint32_t height, // the texture height
void* data, // the texture data to upload
)
dvz_tex_slice()
¶
Create a 3D texture to be used in a slice visual.
DvzId dvz_tex_slice( // returns: the texture ID
DvzBatch* batch, // the batch
DvzFormat format, // the texture format
uint32_t width, // the texture width
uint32_t height, // the texture height
uint32_t depth, // the texture depth
void* data, // the texture data to upload
)
dvz_tex_volume()
¶
Create a 3D texture to be used in a volume visual.
DvzId dvz_tex_volume( // returns: the texture ID
DvzBatch* batch, // the batch
DvzFormat format, // the texture format
uint32_t width, // the texture width
uint32_t height, // the texture height
uint32_t depth, // the texture depth
void* data, // the texture data to upload
)
dvz_version()
¶
Return the current version string.
char* dvz_version( // returns: the version string
)
dvz_visual_alloc()
¶
Allocate a visual.
void dvz_visual_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the number of items
uint32_t vertex_count, // the number of vertices
uint32_t index_count, // the number of indices
)
dvz_visual_attr()
¶
Declare a visual attribute.
void dvz_visual_attr(
DvzVisual* visual, // the visual
uint32_t attr_idx, // the attribute index
DvzSize offset, // the attribute offset within the vertex buffer, in bytes
DvzSize item_size, // the attribute size, in bytes
DvzFormat format, // the attribute data format
int flags, // the attribute flags
)
dvz_visual_blend()
¶
Set the blending type of a visual.
void dvz_visual_blend(
DvzVisual* visual, // the visual
DvzBlendType blend_type, // the blending type
)
dvz_visual_clip()
¶
Set the visual clipping.
void dvz_visual_clip(
DvzVisual* visual, // the visual
DvzViewportClip clip, // the viewport clipping
)
dvz_visual_cull()
¶
Set the cull mode of a visual.
void dvz_visual_cull(
DvzVisual* visual, // the visual
DvzCullMode cull_mode, // the cull mode
)
dvz_visual_dat()
¶
Bind a dat to a visual slot.
void dvz_visual_dat(
DvzVisual* visual, // the visual
uint32_t slot_idx, // the slot index
DvzId dat, // the dat ID
)
dvz_visual_data()
¶
Set visual data.
void dvz_visual_data(
DvzVisual* visual, // the visual
uint32_t attr_idx, // the attribute index
uint32_t first, // the index of the first item to set
uint32_t count, // the number of items to set
void* data, // a pointer to the data buffer
)
dvz_visual_depth()
¶
Set the visual depth.
void dvz_visual_depth(
DvzVisual* visual, // the visual
DvzDepthTest depth_test, // whether to activate the depth test
)
dvz_visual_fixed()
¶
Fix some axes in a visual.
void dvz_visual_fixed(
DvzVisual* visual, // the visual
bool fixed_x, // whether the x axis should be fixed
bool fixed_y, // whether the y axis should be fixed
bool fixed_z, // whether the z axis should be fixed
)
dvz_visual_front()
¶
Set the front face mode of a visual.
void dvz_visual_front(
DvzVisual* visual, // the visual
DvzFrontFace front_face, // the front face mode
)
dvz_visual_groups()
¶
Set groups in a visual.
void dvz_visual_groups(
DvzVisual* visual, // the visual
uint32_t group_count, // the number of groups
uint32_t* group_sizes, // the size of each group
)
dvz_visual_index()
¶
Set the visual index data.
void dvz_visual_index(
DvzVisual* visual, // the visual
uint32_t first, // the index of the first index to set
uint32_t count, // the number of indices
DvzIndex* data, // a pointer to a buffer of DvzIndex (uint32_t) values with the indices
)
dvz_visual_param()
¶
Set a visual parameter value.
void dvz_visual_param(
DvzVisual* visual, // the visual
uint32_t slot_idx, // the slot index
uint32_t attr_idx, // the index of the parameter attribute within the params structure
void* item, // a pointer to the value to use for that parameter
)
dvz_visual_params()
¶
Declare a set of visual parameters.
DvzParams* dvz_visual_params(
DvzVisual* visual, // the visual
uint32_t slot_idx, // the slot index of the uniform buffer storing the parameter values
DvzSize size, // the size, in bytes, of that uniform buffer
)
dvz_visual_polygon()
¶
Set the polygon mode of a visual.
void dvz_visual_polygon(
DvzVisual* visual, // the visual
DvzPolygonMode polygon_mode, // the polygon mode
)
dvz_visual_primitive()
¶
Set the primitive topology of a visual.
void dvz_visual_primitive(
DvzVisual* visual, // the visual
DvzPrimitiveTopology primitive, // the primitive topology
)
dvz_visual_quads()
¶
Set visual data as quads.
void dvz_visual_quads(
DvzVisual* visual, // the visual
uint32_t attr_idx, // the attribute index
uint32_t first, // the index of the first item to set
uint32_t count, // the number of items to set
vec4* tl_br, // a pointer to a buffer of vec4 with the 2D coordinates of the top-left and
)
dvz_visual_resize()
¶
Resize a visual allocation.
void dvz_visual_resize(
DvzVisual* visual, // the visual
uint32_t item_count, // the number of items
uint32_t vertex_count, // the number of vertices
uint32_t index_count, // the number of indices (0 if there is no index buffer)
)
dvz_visual_shader()
¶
Set the shader SPIR-V name of a visual.
void dvz_visual_shader(
DvzVisual* visual, // the visual
char* name, // the built-in resource name of the shader (_vert and _frag are appended)
)
dvz_visual_show()
¶
Set the visibility of a visual.
void dvz_visual_show(
DvzVisual* visual, // the visual
bool is_visible, // the visual visibility
)
dvz_visual_slot()
¶
Declare a visual slot.
void dvz_visual_slot(
DvzVisual* visual, // the visual
uint32_t slot_idx, // the slot index
DvzSlotType type, // the slot type
)
dvz_visual_specialization()
¶
Set a specialization constant of a visual.
void dvz_visual_specialization(
DvzVisual* visual, // the visual
DvzShaderType shader, // the shader type
uint32_t idx, // the specialization constant index
DvzSize size, // the size, in bytes, of the value passed to this function
void* value, // a pointer to the value to use for that specialization constant
)
dvz_visual_spirv()
¶
Set the shader SPIR-V code of a visual.
void dvz_visual_spirv(
DvzVisual* visual, // the visual
DvzShaderType type, // the shader type
DvzSize size, // the size, in bytes, of the SPIR-V buffer
char* buffer, // a pointer to the SPIR-V buffer
)
dvz_visual_stride()
¶
Declare a visual binding.
void dvz_visual_stride(
DvzVisual* visual, // the visual
uint32_t binding_idx, // the binding index
DvzSize stride, // the binding stride, in bytes
)
dvz_visual_tex()
¶
Bind a tex to a visual slot.
void dvz_visual_tex(
DvzVisual* visual, // the visual
uint32_t slot_idx, // the slot index
DvzId tex, // the tex ID
DvzId sampler, // the sampler ID
uvec3 offset, // the texture offset
)
dvz_visual_transform()
¶
Set a visual transform.
void dvz_visual_transform(
DvzVisual* visual, // the visual
DvzTransform* tr, // the transform
uint32_t vertex_attr, // the vertex attribute on which the transform applies to
)
dvz_visual_update()
¶
Update a visual after its data has changed.
void dvz_visual_update(
DvzVisual* visual, // the visual
)
dvz_volume()
¶
Create a volume visual.
DvzVisual* dvz_volume( // returns: the visual
DvzBatch* batch, // the batch
int flags, // the visual creation flags
)
dvz_volume_alloc()
¶
Allocate memory for a visual.
void dvz_volume_alloc(
DvzVisual* visual, // the visual
uint32_t item_count, // the total number of volumes to allocate for this visual
)
dvz_volume_size()
¶
Set the volume size.
void dvz_volume_size(
DvzVisual* visual, // the visual
float w, // the texture width
float h, // the texture height
float d, // the texture depth
)
dvz_volume_texcoords()
¶
Set the texture coordinates of two corner points.
void dvz_volume_texcoords(
DvzVisual* visual, // the visual
vec3 uvw0, // coordinates of one of the corner points
vec3 uvw1, // coordinates of one of the corner points
)
dvz_volume_texture()
¶
Assign a 3D texture to a volume visual.
void dvz_volume_texture(
DvzVisual* visual, // the visual
DvzId tex, // the texture ID
DvzFilter filter, // the texture filtering mode
DvzSamplerAddressMode address_mode, // the texture address mode
)
dvz_volume_transfer()
¶
Set the volume size.
void dvz_volume_transfer(
DvzVisual* visual, // the visual
vec4 transfer, // transfer function, for now `vec4(x, 0, 0, 0)` where x is a scaling factor
)
dvz_app()
¶
Create an app.
DvzApp* dvz_app( // returns: the app
int flags, // the app creation flags
)
dvz_app_batch()
¶
Return the app batch.
DvzBatch* dvz_app_batch( // returns: the batch
DvzApp* app, // the app
)
dvz_app_destroy()
¶
Destroy the app.
void dvz_app_destroy(
DvzApp* app, // the app
)
dvz_app_frame()
¶
Run one frame.
void dvz_app_frame(
DvzApp* app, // the app
)
dvz_app_gui()
¶
Register a GUI callback.
void dvz_app_gui(
DvzApp* app, // the app
DvzId canvas_id, // the canvas ID
DvzAppGuiCallback callback, // the GUI callback
void* user_data, // the user data
)
dvz_app_onframe()
¶
Register a frame callback.
void dvz_app_onframe(
DvzApp* app, // the app
DvzAppFrameCallback callback, // the callback
void* user_data, // the user data
)
dvz_app_onkeyboard()
¶
Register a keyboard callback.
void dvz_app_onkeyboard(
DvzApp* app, // the app
DvzAppKeyboardCallback callback, // the callback
void* user_data, // the user data
)
dvz_app_onmouse()
¶
Register a mouse callback.
void dvz_app_onmouse(
DvzApp* app, // the app
DvzAppMouseCallback callback, // the callback
void* user_data, // the user data
)
dvz_app_onresize()
¶
Register a resize callback.
void dvz_app_onresize(
DvzApp* app, // the app
DvzAppResizeCallback callback, // the callback
void* user_data, // the user data
)
dvz_app_ontimer()
¶
Register a timer callback.
void dvz_app_ontimer(
DvzApp* app, // the app
DvzAppTimerCallback callback, // the timer callback
void* user_data, // the user data
)
dvz_app_run()
¶
Start the application event loop.
void dvz_app_run(
DvzApp* app, // the app
uint64_t n_frames, // the maximum number of frames, 0 for infinite loop
)
dvz_app_screenshot()
¶
Make a screenshot of a canvas.
void dvz_app_screenshot(
DvzApp* app, // the app
DvzId canvas_id, // the ID of the canvas
char* filename, // the path to the PNG file with the screenshot
)
dvz_app_submit()
¶
Submit the current batch to the application.
void dvz_app_submit(
DvzApp* app, // the app
)
dvz_app_timer()
¶
Create a timer.
DvzTimerItem* dvz_app_timer( // returns: the timer
DvzApp* app, // the app
double delay, // the delay, in seconds, until the first event
double period, // the period, in seconds, between two events
uint64_t max_count, // the maximum number of events
)
dvz_free()
¶
Free a pointer.
void dvz_free(
void* pointer, // a pointer
)
dvz_earcut()
¶
Compute a polygon triangulation with only indexing on the polygon contour vertices.
DvzIndex* dvz_earcut( // returns: the computed indices (must be FREED by the caller)
uint32_t point_count, // the number of points
dvec2* polygon, // the polygon 2D positions
)
dvz_mean()
¶
Compute the mean of an array of double values.
double dvz_mean( // returns: the mean
uint32_t n, // the number of values
double* values, // an array of double numbers
)
dvz_min_max()
¶
Compute the min and max of an array of float values.
void dvz_min_max( // returns: the mean
uint32_t n, // the number of values
float* values, // an array of float numbers
vec2 out_min_max, // the min and max
)
dvz_mock_band()
¶
Generate points on a band.
vec3* dvz_mock_band( // returns: the positions
uint32_t count, // the number of positions to generate
vec2 size, // the size of the band
)
dvz_mock_circle()
¶
Generate points on a circle.
vec3* dvz_mock_circle( // returns: the positions
uint32_t count, // the number of positions to generate
float radius, // the radius of the circle
)
dvz_mock_cmap()
¶
Generate a set of HSV colors.
DvzColor* dvz_mock_cmap( // returns: colors
uint32_t count, // the number of colors to generate
DvzAlpha alpha, // the alpha value
)
dvz_mock_color()
¶
Generate a set of random colors.
DvzColor* dvz_mock_color( // returns: random colors
uint32_t count, // the number of colors to generate
DvzAlpha alpha, // the alpha value
)
dvz_mock_fixed()
¶
Generate identical 3D positions.
vec3* dvz_mock_fixed( // returns: the repeated positions
uint32_t count, // the number of positions to generate
vec3 fixed, // the position
)
dvz_mock_full()
¶
Generate an array with the same value.
float* dvz_mock_full( // returns: the values
uint32_t count, // the number of scalars to generate
float value, // the value
)
dvz_mock_line()
¶
Generate 3D positions on a line.
vec3* dvz_mock_line( // returns: the positions
uint32_t count, // the number of positions to generate
vec3 p0, // initial position
vec3 p1, // terminal position
)
dvz_mock_linspace()
¶
Generate an array ranging from an initial value to a final value.
float* dvz_mock_linspace( // returns: the values
uint32_t count, // the number of scalars to generate
float initial, // the initial value
float final, // the final value
)
dvz_mock_monochrome()
¶
Repeat a color in an array.
DvzColor* dvz_mock_monochrome( // returns: colors
uint32_t count, // the number of colors to generate
DvzColor mono, // the color to repeat
)
dvz_mock_pos2D()
¶
Generate a set of random 2D positions.
vec3* dvz_mock_pos2D( // returns: the positions
uint32_t count, // the number of positions to generate
float std, // the standard deviation
)
dvz_mock_pos3D()
¶
Generate a set of random 3D positions.
vec3* dvz_mock_pos3D( // returns: the positions
uint32_t count, // the number of positions to generate
float std, // the standard deviation
)
dvz_mock_range()
¶
Generate an array of consecutive positive numbers.
uint32_t* dvz_mock_range( // returns: the values
uint32_t count, // the number of consecutive integers to generate
uint32_t initial, // the initial value
)
dvz_mock_uniform()
¶
Generate a set of uniformly random scalar values.
float* dvz_mock_uniform( // returns: the values
uint32_t count, // the number of values to generate
float vmin, // the minimum value of the interval
float vmax, // the maximum value of the interval
)
dvz_next_pow2()
¶
Return the smallest power of 2 larger or equal than a positive integer.
uint64_t dvz_next_pow2( // returns: the power of 2
uint64_t x, // the value
)
dvz_normalize_bytes()
¶
Normalize the array.
uint8_t* dvz_normalize_bytes( // returns: the normalized array
uint32_t count, // the number of values
float* values, // an array of float numbers
)
dvz_num_procs()
¶
Return the number of processors on the current system.
int dvz_num_procs( // returns: the number of processors
)
dvz_num_threads()
¶
Set the number of threads to use in OpenMP-aware functions.
void dvz_num_threads(
int num_threads, // the requested number of threads
)
dvz_rand_byte()
¶
Return a random integer number between 0 and 255.
uint8_t dvz_rand_byte( // returns: random number
)
dvz_rand_double()
¶
Return a random floating-point number between 0 and 1.
double dvz_rand_double( // returns: random number
)
dvz_rand_float()
¶
Return a random floating-point number between 0 and 1.
float dvz_rand_float( // returns: random number
)
dvz_rand_int()
¶
Return a random integer number.
int dvz_rand_int( // returns: random number
)
dvz_rand_normal()
¶
Return a random normal floating-point number.
double dvz_rand_normal( // returns: random number
)
dvz_range()
¶
Compute the range of an array of double values.
void dvz_range(
uint32_t n, // the number of values
double* values, // an array of double numbers
)
Datoviz Rendering Protocol functions¶
dvz_batch()
¶
Create a batch holding a number of requests.
DvzBatch* dvz_batch(
)
dvz_batch_add()
¶
Add a request to a batch.
void dvz_batch_add(
DvzBatch* batch, // the batch
DvzRequest req, // the request
)
dvz_batch_clear()
¶
Remove all requests in a batch.
void dvz_batch_clear(
DvzBatch* batch, // the batch
)
dvz_batch_copy()
¶
Create a copy of a batch.
DvzBatch* dvz_batch_copy(
DvzBatch* batch, // the batch
)
dvz_batch_desc()
¶
Set the description of the last added request.
void dvz_batch_desc(
DvzBatch* batch, // the batch
char* desc, // the description
)
dvz_batch_destroy()
¶
Destroy a batch.
void dvz_batch_destroy(
DvzBatch* batch, // the batch
)
dvz_batch_dump()
¶
Dump all batch requests in raw binary file.
int dvz_batch_dump(
DvzBatch* batch, // the batch
char* filename, // the dump filename
)
dvz_batch_load()
¶
Load a dump of batch requests into an existing batch object.
void dvz_batch_load(
DvzBatch* batch, // the batch
char* filename, // the dump filename
)
dvz_batch_print()
¶
Display information about all requests in the batch.
void dvz_batch_print(
DvzBatch* batch, // the batch
int flags, // the flags
)
dvz_batch_requests()
¶
Return a pointer to the array of all requests in the batch.
DvzRequest* dvz_batch_requests(
DvzBatch* batch, // the batch
)
dvz_batch_size()
¶
Return the number of requests in the batch.
uint32_t dvz_batch_size(
DvzBatch* batch, // the batch
)
dvz_batch_yaml()
¶
Export requests in a YAML file.
void dvz_batch_yaml(
DvzBatch* batch, // the batch
char* filename, // the YAML filename
)
dvz_bind_dat()
¶
Create a request for associating a dat to a pipe's slot.
DvzRequest dvz_bind_dat( // returns: the request
DvzBatch* batch, // the batch
DvzId pipe, // the id of the pipe
uint32_t slot_idx, // the index of the descriptor slot
DvzId dat, // the id of the dat to bind to the pipe
DvzSize offset, // the offset
)
dvz_bind_index()
¶
Create a request for associating an index dat to a graphics pipe.
DvzRequest dvz_bind_index( // returns: the request
DvzBatch* batch, // the batch
graphics, // the id of the graphics pipe
DvzId dat, // the id of the dat with the index data
DvzSize offset, // the offset within the dat
)
dvz_bind_tex()
¶
Create a request for associating a tex to a pipe's slot.
DvzRequest dvz_bind_tex( // returns: the request
DvzBatch* batch, // the batch
DvzId pipe, // the id of the pipe
uint32_t slot_idx, // the index of the descriptor slot
DvzId tex, // the id of the tex to bind to the pipe
DvzId tex, // the id of the sampler
uvec3 offset, // the offset
)
dvz_bind_vertex()
¶
Create a request for associating a vertex dat to a graphics pipe.
DvzRequest dvz_bind_vertex( // returns: the request
DvzBatch* batch, // the batch
graphics, // the id of the graphics pipe
DvzId dat, // the id of the dat with the vertex data
DvzSize offset, // the offset within the dat
)
dvz_create_board()
¶
Create a request for board creation.
DvzRequest dvz_create_board( // returns: the request, containing a newly-generated id for the board to be created
DvzBatch* batch, // the batch
uint32_t width, // the board width
uint32_t height, // the board height
cvec4 background, // the background color
int flags, // the board creation flags
)
dvz_create_canvas()
¶
Create a request for canvas creation.
DvzRequest dvz_create_canvas( // returns: the request, containing a newly-generated id for the canvas to be created
DvzBatch* batch, // the batch
uint32_t width, // the canvas width (in screen pixels)
uint32_t height, // the canvas height (in screen pixels)
cvec4 background, // the background color
int flags, // the canvas creation flags
)
dvz_create_dat()
¶
Create a request for a dat creation.
DvzRequest dvz_create_dat( // returns: the request, containing a newly-generated id for the dat to be created
DvzBatch* batch, // the batch
DvzBufferType type, // the buffer type
DvzSize size, // the dat size, in bytes
int flags, // the dat creation flags
)
dvz_create_glsl()
¶
Create a request for GLSL shader creation.
DvzRequest dvz_create_glsl( // returns: the request
DvzBatch* batch, // the batch
DvzShaderType shader_type, // the shader type
char* code, // an ASCII string with the GLSL code
)
dvz_create_graphics()
¶
Create a request for a builtin graphics pipe creation.
DvzRequest dvz_create_graphics( // returns: the request, containing a newly-generated id for the graphics pipe to be created
DvzBatch* batch, // the batch
parent, // either the parent board or canvas id
DvzGraphicsType type, // the graphics type
int flags, // the graphics creation flags
)
dvz_create_sampler()
¶
Create a request for a sampler creation.
DvzRequest dvz_create_sampler( // returns: the request, containing a newly-generated id for the sampler to be created
DvzBatch* batch, // the batch
DvzFilter filter, // the sampler filter
DvzSamplerAddressMode mode, // the sampler address mode
)
dvz_create_spirv()
¶
Create a request for SPIR-V shader creation.
DvzRequest dvz_create_spirv( // returns: the request
DvzBatch* batch, // the batch
DvzShaderType shader_type, // the shader type
DvzSize size, // the size in bytes of the SPIR-V buffer
char* buffer, // pointer to a buffer with the SPIR-V bytecode
)
dvz_create_tex()
¶
Create a request for a tex creation.
DvzRequest dvz_create_tex( // returns: the request, containing a newly-generated id for the tex to be created
DvzBatch* batch, // the batch
DvzTexDims dims, // the number of dimensions, 1, 2, or 3
DvzFormat format, // the image format
uvec3 shape, // the texture shape
int flags, // the dat creation flags
)
dvz_delete_board()
¶
Create a request for a board deletion.
DvzRequest dvz_delete_board( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the board id
)
dvz_delete_canvas()
¶
Create a request for a canvas deletion.
DvzRequest dvz_delete_canvas( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the canvas id
)
dvz_delete_dat()
¶
Create a request for dat deletion.
DvzRequest dvz_delete_dat( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the dat id
)
dvz_delete_graphics()
¶
Create a request for graphics deletion.
DvzRequest dvz_delete_graphics( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the graphics id
)
dvz_delete_sampler()
¶
Create a request for sampler deletion.
DvzRequest dvz_delete_sampler( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the sampler id
)
dvz_delete_tex()
¶
Create a request for tex deletion.
DvzRequest dvz_delete_tex( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the tex id
)
dvz_record_begin()
¶
Create a request for starting recording of command buffer.
DvzRequest dvz_record_begin( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
)
dvz_record_draw()
¶
Create a request for a direct draw of a graphics during command buffer recording.
DvzRequest dvz_record_draw( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
DvzId graphics, // the id of the graphics pipe to draw
uint32_t first_vertex, // the index of the first vertex to draw
uint32_t vertex_count, // the number of vertices to draw
uint32_t first_instance, // the index of the first instance to draw
uint32_t instance_count, // the number of instances to draw
)
dvz_record_draw_indexed()
¶
Create a request for an indexed draw of a graphics during command buffer recording.
DvzRequest dvz_record_draw_indexed( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
DvzId graphics, // the id of the graphics pipe to draw
uint32_t first_index, // the index of the first index to draw
uint32_t vertex_offset, // the vertex offset within the vertices indexed by the indexes
uint32_t index_count, // the number of indexes to draw
uint32_t first_instance, // the index of the first instance to draw
uint32_t instance_count, // the number of instances to draw
)
dvz_record_draw_indexed_indirect()
¶
Create a request for an indexed indirect draw of a graphics during command buffer recording.
DvzRequest dvz_record_draw_indexed_indirect( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
DvzId graphics, // the id of the graphics pipe to draw
DvzId indirect, // the id of the dat containing the indirect draw data
uint32_t draw_count, // the number of draws to make
)
dvz_record_draw_indirect()
¶
Create a request for an indirect draw of a graphics during command buffer recording.
DvzRequest dvz_record_draw_indirect( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
DvzId graphics, // the id of the graphics pipe to draw
DvzId indirect, // the id of the dat containing the indirect draw data
uint32_t draw_count, // the number of draws to make
)
dvz_record_end()
¶
Create a request for ending recording of command buffer.
DvzRequest dvz_record_end( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
)
dvz_record_viewport()
¶
Create a request for setting the viewport during command buffer recording.
DvzRequest dvz_record_viewport( // returns: the request
DvzBatch* batch, // the batch
DvzId canvas_or_board_id, // the id of the canvas or board
vec2 offset, // the viewport offset, in framebuffer pixels
vec2 shape, // the viewport size, in framebuffer pixels
)
dvz_request_print()
¶
Display information about a request.
void dvz_request_print(
DvzRequest* req, // the request
int flags, // the flags
)
dvz_requester()
¶
Create a requester, used to create requests.
DvzRequester* dvz_requester( // returns: the requester struct
)
dvz_requester_commit()
¶
Add a batch's requests to a requester.
void dvz_requester_commit(
DvzRequester* rqr, // the requester
DvzBatch* batch, // the batch
)
dvz_requester_destroy()
¶
Destroy a requester.
void dvz_requester_destroy(
DvzRequester* rqr, // the requester
)
dvz_requester_flush()
¶
Return the requests in the requester and clear it.
DvzBatch* dvz_requester_flush( // returns: an array with all requests in the requester
DvzRequester* rqr, // the requester
)
dvz_resize_board()
¶
Create a request to resize a board.
DvzRequest dvz_resize_board( // returns: the request
DvzBatch* batch, // the batch
DvzId board, // the board id
uint32_t width, // the new board width
uint32_t height, // the new board height
)
dvz_resize_dat()
¶
Create a request to resize a dat.
DvzRequest dvz_resize_dat( // returns: the request
DvzBatch* batch, // the batch
DvzId dat, // the dat id
DvzSize size, // the new dat size, in bytes
)
dvz_resize_tex()
¶
Create a request to resize a tex.
DvzRequest dvz_resize_tex( // returns: the request
DvzBatch* batch, // the batch
DvzId tex, // the tex id
uvec3 shape, // the new tex shape
)
dvz_set_attr()
¶
Create a request for setting a vertex attribute of a graphics pipe.
DvzRequest dvz_set_attr( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
uint32_t binding_idx, // the index of the vertex binding
uint32_t location, // the GLSL attribute location
DvzFormat format, // the attribute format
DvzSize offset, // the byte offset of the attribute within the vertex binding
)
dvz_set_background()
¶
Change the background color of the board.
DvzRequest dvz_set_background( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the board id
cvec4 background, // the background color
)
dvz_set_blend()
¶
Create a request for setting the blend type of a graphics pipe.
DvzRequest dvz_set_blend( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzBlendType blend_type, // the graphics blend type
)
dvz_set_cull()
¶
Create a request for setting the cull mode of a graphics pipe.
DvzRequest dvz_set_cull( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzCullMode cull_mode, // the cull mode
)
dvz_set_depth()
¶
Create a request for setting the depth test of a graphics pipe.
DvzRequest dvz_set_depth( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzDepthTest depth_test, // the graphics depth test
)
dvz_set_front()
¶
Create a request for setting the front face of a graphics pipe.
DvzRequest dvz_set_front( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzFrontFace front_face, // the front face
)
dvz_set_polygon()
¶
Create a request for setting the polygon mode of a graphics pipe.
DvzRequest dvz_set_polygon( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzPolygonMode polygon_mode, // the polygon mode
)
dvz_set_primitive()
¶
Create a request for setting the primitive topology of a graphics pipe.
DvzRequest dvz_set_primitive( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzPrimitiveTopology primitive, // the graphics primitive topology
)
dvz_set_shader()
¶
Create a request for setting a shader a graphics pipe.
DvzRequest dvz_set_shader( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzId shader, // the id of the shader object
)
dvz_set_slot()
¶
Create a request for setting a binding slot (descriptor) of a graphics pipe.
DvzRequest dvz_set_slot( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
uint32_t slot_idx, // the index of the GLSL binding slot
DvzDescriptorType type, // the descriptor type
)
dvz_set_specialization()
¶
Create a request for setting a specialization constant of a graphics pipe.
DvzRequest dvz_set_specialization( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
DvzShaderType shader, // the shader with the specialization constant
uint32_t idx, // the specialization constant index as specified in the GLSL code
DvzSize size, // the byte size of the value
void* value, // a pointer to the specialization constant value
)
dvz_set_vertex()
¶
Create a request for setting a vertex binding of a graphics pipe.
DvzRequest dvz_set_vertex( // returns: the request
DvzBatch* batch, // the batch
DvzId graphics, // the graphics pipe id
uint32_t binding_idx, // the index of the vertex binding
DvzSize stride, // the binding stride
)
dvz_update_board()
¶
Create a request for a board redraw (command buffer submission).
DvzRequest dvz_update_board( // returns: the request
DvzBatch* batch, // the batch
DvzId id, // the board id
)
dvz_upload_dat()
¶
Create a request for dat upload.
DvzRequest dvz_upload_dat( // returns: the request
DvzBatch* batch, // the batch
DvzId dat, // the id of the dat to upload to
DvzSize offset, // the byte offset of the upload transfer
DvzSize size, // the number of bytes in data to transfer
void* data, // a pointer to the data to upload
)
dvz_upload_tex()
¶
Create a request for tex upload.
DvzRequest dvz_upload_tex( // returns: the request
DvzBatch* batch, // the batch
DvzId tex, // the id of the tex to upload to
uvec3 offset, // the offset
uvec3 shape, // the shape
DvzSize size, // the number of bytes in data to transfer
void* data, // a pointer to the data to upload
)
Enumerations¶
DvzAppFlags
¶
DVZ_APP_FLAGS_NONE
DVZ_APP_FLAGS_OFFSCREEN
DVZ_APP_FLAGS_WHITE_BACKGROUND
DvzArcballFlags
¶
DVZ_ARCBALL_FLAGS_NONE
DVZ_ARCBALL_FLAGS_CONSTRAIN
DvzBlendType
¶
DVZ_BLEND_DISABLE
DVZ_BLEND_STANDARD
DVZ_BLEND_OIT
DvzBoxExtentStrategy
¶
DVZ_BOX_EXTENT_DEFAULT
DVZ_BOX_EXTENT_FIXED_ASPECT_EXPAND
DVZ_BOX_EXTENT_FIXED_ASPECT_CONTRACT
DvzBoxMergeStrategy
¶
DVZ_BOX_MERGE_DEFAULT
DVZ_BOX_MERGE_CENTER
DVZ_BOX_MERGE_CORNER
DvzBufferType
¶
DVZ_BUFFER_TYPE_UNDEFINED
DVZ_BUFFER_TYPE_STAGING
DVZ_BUFFER_TYPE_VERTEX
DVZ_BUFFER_TYPE_INDEX
DVZ_BUFFER_TYPE_STORAGE
DVZ_BUFFER_TYPE_UNIFORM
DVZ_BUFFER_TYPE_INDIRECT
DvzCameraFlags
¶
DVZ_CAMERA_FLAGS_PERSPECTIVE
DVZ_CAMERA_FLAGS_ORTHO
DvzCanvasFlags
¶
DVZ_CANVAS_FLAGS_NONE
DVZ_CANVAS_FLAGS_IMGUI
DVZ_CANVAS_FLAGS_FPS
DVZ_CANVAS_FLAGS_MONITOR
DVZ_CANVAS_FLAGS_VSYNC
DVZ_CANVAS_FLAGS_PICK
DvzCapType
¶
DVZ_CAP_NONE
DVZ_CAP_ROUND
DVZ_CAP_TRIANGLE_IN
DVZ_CAP_TRIANGLE_OUT
DVZ_CAP_SQUARE
DVZ_CAP_BUTT
DVZ_CAP_COUNT
DvzColormap
¶
DVZ_CMAP_BINARY
DVZ_CMAP_HSV
DVZ_CMAP_CIVIDIS
DVZ_CMAP_INFERNO
DVZ_CMAP_MAGMA
DVZ_CMAP_PLASMA
DVZ_CMAP_VIRIDIS
DVZ_CMAP_BLUES
DVZ_CMAP_BUGN
DVZ_CMAP_BUPU
DVZ_CMAP_GNBU
DVZ_CMAP_GREENS
DVZ_CMAP_GREYS
DVZ_CMAP_ORANGES
DVZ_CMAP_ORRD
DVZ_CMAP_PUBU
DVZ_CMAP_PUBUGN
DVZ_CMAP_PURPLES
DVZ_CMAP_RDPU
DVZ_CMAP_REDS
DVZ_CMAP_YLGN
DVZ_CMAP_YLGNBU
DVZ_CMAP_YLORBR
DVZ_CMAP_YLORRD
DVZ_CMAP_AFMHOT
DVZ_CMAP_AUTUMN
DVZ_CMAP_BONE
DVZ_CMAP_COOL
DVZ_CMAP_COPPER
DVZ_CMAP_GIST_HEAT
DVZ_CMAP_GRAY
DVZ_CMAP_HOT
DVZ_CMAP_PINK
DVZ_CMAP_SPRING
DVZ_CMAP_SUMMER
DVZ_CMAP_WINTER
DVZ_CMAP_WISTIA
DVZ_CMAP_BRBG
DVZ_CMAP_BWR
DVZ_CMAP_COOLWARM
DVZ_CMAP_PIYG
DVZ_CMAP_PRGN
DVZ_CMAP_PUOR
DVZ_CMAP_RDBU
DVZ_CMAP_RDGY
DVZ_CMAP_RDYLBU
DVZ_CMAP_RDYLGN
DVZ_CMAP_SEISMIC
DVZ_CMAP_SPECTRAL
DVZ_CMAP_TWILIGHT_SHIFTED
DVZ_CMAP_TWILIGHT
DVZ_CMAP_BRG
DVZ_CMAP_CMRMAP
DVZ_CMAP_CUBEHELIX
DVZ_CMAP_FLAG
DVZ_CMAP_GIST_EARTH
DVZ_CMAP_GIST_NCAR
DVZ_CMAP_GIST_RAINBOW
DVZ_CMAP_GIST_STERN
DVZ_CMAP_GNUPLOT2
DVZ_CMAP_GNUPLOT
DVZ_CMAP_JET
DVZ_CMAP_NIPY_SPECTRAL
DVZ_CMAP_OCEAN
DVZ_CMAP_PRISM
DVZ_CMAP_RAINBOW
DVZ_CMAP_TERRAIN
DVZ_CMAP_BKR
DVZ_CMAP_BKY
DVZ_CMAP_CET_D10
DVZ_CMAP_CET_D11
DVZ_CMAP_CET_D8
DVZ_CMAP_CET_D13
DVZ_CMAP_CET_D3
DVZ_CMAP_CET_D1A
DVZ_CMAP_BJY
DVZ_CMAP_GWV
DVZ_CMAP_BWY
DVZ_CMAP_CET_D12
DVZ_CMAP_CET_R3
DVZ_CMAP_CET_D9
DVZ_CMAP_CWR
DVZ_CMAP_CET_CBC1
DVZ_CMAP_CET_CBC2
DVZ_CMAP_CET_CBL1
DVZ_CMAP_CET_CBL2
DVZ_CMAP_CET_CBTC1
DVZ_CMAP_CET_CBTC2
DVZ_CMAP_CET_CBTL1
DVZ_CMAP_BGY
DVZ_CMAP_BGYW
DVZ_CMAP_BMW
DVZ_CMAP_CET_C1
DVZ_CMAP_CET_C1S
DVZ_CMAP_CET_C2
DVZ_CMAP_CET_C4
DVZ_CMAP_CET_C4S
DVZ_CMAP_CET_C5
DVZ_CMAP_CET_I1
DVZ_CMAP_CET_I3
DVZ_CMAP_CET_L10
DVZ_CMAP_CET_L11
DVZ_CMAP_CET_L12
DVZ_CMAP_CET_L16
DVZ_CMAP_CET_L17
DVZ_CMAP_CET_L18
DVZ_CMAP_CET_L19
DVZ_CMAP_CET_L4
DVZ_CMAP_CET_L7
DVZ_CMAP_CET_L8
DVZ_CMAP_CET_L9
DVZ_CMAP_CET_R1
DVZ_CMAP_CET_R2
DVZ_CMAP_COLORWHEEL
DVZ_CMAP_FIRE
DVZ_CMAP_ISOLUM
DVZ_CMAP_KB
DVZ_CMAP_KBC
DVZ_CMAP_KG
DVZ_CMAP_KGY
DVZ_CMAP_KR
DVZ_CMAP_BLACK_BODY
DVZ_CMAP_KINDLMANN
DVZ_CMAP_EXTENDED_KINDLMANN
DVZ_CPAL256_GLASBEY
DVZ_CPAL256_GLASBEY_COOL
DVZ_CPAL256_GLASBEY_DARK
DVZ_CPAL256_GLASBEY_HV
DVZ_CPAL256_GLASBEY_LIGHT
DVZ_CPAL256_GLASBEY_WARM
DVZ_CPAL032_ACCENT
DVZ_CPAL032_DARK2
DVZ_CPAL032_PAIRED
DVZ_CPAL032_PASTEL1
DVZ_CPAL032_PASTEL2
DVZ_CPAL032_SET1
DVZ_CPAL032_SET2
DVZ_CPAL032_SET3
DVZ_CPAL032_TAB10
DVZ_CPAL032_TAB20
DVZ_CPAL032_TAB20B
DVZ_CPAL032_TAB20C
DVZ_CPAL032_CATEGORY10_10
DVZ_CPAL032_CATEGORY20_20
DVZ_CPAL032_CATEGORY20B_20
DVZ_CPAL032_CATEGORY20C_20
DVZ_CPAL032_COLORBLIND8
DvzContourFlags
¶
DVZ_CONTOUR_NONE
DVZ_CONTOUR_EDGES
DVZ_CONTOUR_JOINTS
DVZ_CONTOUR_FULL
DvzCorner
¶
DVZ_DIALOG_CORNER_TOP_LEFT
DVZ_DIALOG_CORNER_TOP_RIGHT
DVZ_DIALOG_CORNER_BOTTOM_LEFT
DVZ_DIALOG_CORNER_BOTTOM_RIGHT
DvzCullMode
¶
DVZ_CULL_MODE_NONE
DVZ_CULL_MODE_FRONT
DVZ_CULL_MODE_BACK
DvzDatFlags
¶
DVZ_DAT_FLAGS_NONE
DVZ_DAT_FLAGS_STANDALONE
DVZ_DAT_FLAGS_MAPPABLE
DVZ_DAT_FLAGS_DUP
DVZ_DAT_FLAGS_KEEP_ON_RESIZE
DVZ_DAT_FLAGS_PERSISTENT_STAGING
DvzDepthTest
¶
DVZ_DEPTH_TEST_DISABLE
DVZ_DEPTH_TEST_ENABLE
DvzDescriptorType
¶
DVZ_DESCRIPTOR_TYPE_SAMPLER
DVZ_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
DVZ_DESCRIPTOR_TYPE_SAMPLED_IMAGE
DVZ_DESCRIPTOR_TYPE_STORAGE_IMAGE
DVZ_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
DVZ_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
DVZ_DESCRIPTOR_TYPE_UNIFORM_BUFFER
DVZ_DESCRIPTOR_TYPE_STORAGE_BUFFER
DVZ_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
DVZ_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
DvzDialogFlags
¶
DVZ_DIALOG_FLAGS_NONE
DVZ_DIALOG_FLAGS_OVERLAY
DvzEasing
¶
DVZ_EASING_NONE
DVZ_EASING_IN_SINE
DVZ_EASING_OUT_SINE
DVZ_EASING_IN_OUT_SINE
DVZ_EASING_IN_QUAD
DVZ_EASING_OUT_QUAD
DVZ_EASING_IN_OUT_QUAD
DVZ_EASING_IN_CUBIC
DVZ_EASING_OUT_CUBIC
DVZ_EASING_IN_OUT_CUBIC
DVZ_EASING_IN_QUART
DVZ_EASING_OUT_QUART
DVZ_EASING_IN_OUT_QUART
DVZ_EASING_IN_QUINT
DVZ_EASING_OUT_QUINT
DVZ_EASING_IN_OUT_QUINT
DVZ_EASING_IN_EXPO
DVZ_EASING_OUT_EXPO
DVZ_EASING_IN_OUT_EXPO
DVZ_EASING_IN_CIRC
DVZ_EASING_OUT_CIRC
DVZ_EASING_IN_OUT_CIRC
DVZ_EASING_IN_BACK
DVZ_EASING_OUT_BACK
DVZ_EASING_IN_OUT_BACK
DVZ_EASING_IN_ELASTIC
DVZ_EASING_OUT_ELASTIC
DVZ_EASING_IN_OUT_ELASTIC
DVZ_EASING_IN_BOUNCE
DVZ_EASING_OUT_BOUNCE
DVZ_EASING_IN_OUT_BOUNCE
DVZ_EASING_COUNT
DvzFilter
¶
DVZ_FILTER_NEAREST
DVZ_FILTER_LINEAR
DVZ_FILTER_CUBIC_IMG
DvzFontFlags
¶
DVZ_FONT_FLAGS_RGB
DVZ_FONT_FLAGS_RGBA
DvzFormat
¶
DVZ_FORMAT_NONE
DVZ_FORMAT_R8_UNORM
DVZ_FORMAT_R8_SNORM
DVZ_FORMAT_R8_UINT
DVZ_FORMAT_R8_SINT
DVZ_FORMAT_R8G8_UNORM
DVZ_FORMAT_R8G8_SNORM
DVZ_FORMAT_R8G8_UINT
DVZ_FORMAT_R8G8_SINT
DVZ_FORMAT_R8G8B8_UNORM
DVZ_FORMAT_R8G8B8_SNORM
DVZ_FORMAT_R8G8B8_UINT
DVZ_FORMAT_R8G8B8_SINT
DVZ_FORMAT_R8G8B8A8_UNORM
DVZ_FORMAT_R8G8B8A8_SNORM
DVZ_FORMAT_R8G8B8A8_UINT
DVZ_FORMAT_R8G8B8A8_SINT
DVZ_FORMAT_B8G8R8A8_UNORM
DVZ_FORMAT_R16_UNORM
DVZ_FORMAT_R16_SNORM
DVZ_FORMAT_R32_UINT
DVZ_FORMAT_R32_SINT
DVZ_FORMAT_R32_SFLOAT
DVZ_FORMAT_R32G32_UINT
DVZ_FORMAT_R32G32_SINT
DVZ_FORMAT_R32G32_SFLOAT
DVZ_FORMAT_R32G32B32_UINT
DVZ_FORMAT_R32G32B32_SINT
DVZ_FORMAT_R32G32B32_SFLOAT
DVZ_FORMAT_R32G32B32A32_UINT
DVZ_FORMAT_R32G32B32A32_SINT
DVZ_FORMAT_R32G32B32A32_SFLOAT
DvzFrontFace
¶
DVZ_FRONT_FACE_COUNTER_CLOCKWISE
DVZ_FRONT_FACE_CLOCKWISE
DvzGraphicsType
¶
DVZ_GRAPHICS_NONE
DVZ_GRAPHICS_POINT
DVZ_GRAPHICS_TRIANGLE
DVZ_GRAPHICS_CUSTOM
DvzImageFlags
¶
DVZ_IMAGE_FLAGS_SIZE_PIXELS
DVZ_IMAGE_FLAGS_SIZE_NDC
DVZ_IMAGE_FLAGS_RESCALE_KEEP_RATIO
DVZ_IMAGE_FLAGS_RESCALE
DVZ_IMAGE_FLAGS_FILL
DvzJoinType
¶
DVZ_JOIN_SQUARE
DVZ_JOIN_ROUND
DvzKeyboardEventType
¶
DVZ_KEYBOARD_EVENT_NONE
DVZ_KEYBOARD_EVENT_PRESS
DVZ_KEYBOARD_EVENT_REPEAT
DVZ_KEYBOARD_EVENT_RELEASE
DvzKeyboardModifiers
¶
DVZ_KEY_MODIFIER_NONE
DVZ_KEY_MODIFIER_SHIFT
DVZ_KEY_MODIFIER_CONTROL
DVZ_KEY_MODIFIER_ALT
DVZ_KEY_MODIFIER_SUPER
DvzMarkerAspect
¶
DVZ_MARKER_ASPECT_FILLED
DVZ_MARKER_ASPECT_STROKE
DVZ_MARKER_ASPECT_OUTLINE
DvzMarkerMode
¶
DVZ_MARKER_MODE_NONE
DVZ_MARKER_MODE_CODE
DVZ_MARKER_MODE_BITMAP
DVZ_MARKER_MODE_SDF
DVZ_MARKER_MODE_MSDF
DVZ_MARKER_MODE_MTSDF
DvzMarkerShape
¶
DVZ_MARKER_SHAPE_DISC
DVZ_MARKER_SHAPE_ASTERISK
DVZ_MARKER_SHAPE_CHEVRON
DVZ_MARKER_SHAPE_CLOVER
DVZ_MARKER_SHAPE_CLUB
DVZ_MARKER_SHAPE_CROSS
DVZ_MARKER_SHAPE_DIAMOND
DVZ_MARKER_SHAPE_ARROW
DVZ_MARKER_SHAPE_ELLIPSE
DVZ_MARKER_SHAPE_HBAR
DVZ_MARKER_SHAPE_HEART
DVZ_MARKER_SHAPE_INFINITY
DVZ_MARKER_SHAPE_PIN
DVZ_MARKER_SHAPE_RING
DVZ_MARKER_SHAPE_SPADE
DVZ_MARKER_SHAPE_SQUARE
DVZ_MARKER_SHAPE_TAG
DVZ_MARKER_SHAPE_TRIANGLE
DVZ_MARKER_SHAPE_VBAR
DVZ_MARKER_SHAPE_ROUNDED_RECT
DVZ_MARKER_SHAPE_COUNT
DvzMeshFlags
¶
DVZ_MESH_FLAGS_NONE
DVZ_MESH_FLAGS_TEXTURED
DVZ_MESH_FLAGS_LIGHTING
DVZ_MESH_FLAGS_CONTOUR
DVZ_MESH_FLAGS_ISOLINE
DvzMockFlags
¶
DVZ_MOCK_FLAGS_NONE
DVZ_MOCK_FLAGS_CLOSED
DvzMouseButton
¶
DVZ_MOUSE_BUTTON_NONE
DVZ_MOUSE_BUTTON_LEFT
DVZ_MOUSE_BUTTON_MIDDLE
DVZ_MOUSE_BUTTON_RIGHT
DvzMouseEventType
¶
DVZ_MOUSE_EVENT_RELEASE
DVZ_MOUSE_EVENT_PRESS
DVZ_MOUSE_EVENT_MOVE
DVZ_MOUSE_EVENT_CLICK
DVZ_MOUSE_EVENT_DOUBLE_CLICK
DVZ_MOUSE_EVENT_DRAG_START
DVZ_MOUSE_EVENT_DRAG
DVZ_MOUSE_EVENT_DRAG_STOP
DVZ_MOUSE_EVENT_WHEEL
DVZ_MOUSE_EVENT_ALL
DvzMouseState
¶
DVZ_MOUSE_STATE_RELEASE
DVZ_MOUSE_STATE_PRESS
DVZ_MOUSE_STATE_CLICK
DVZ_MOUSE_STATE_CLICK_PRESS
DVZ_MOUSE_STATE_DOUBLE_CLICK
DVZ_MOUSE_STATE_DRAGGING
DvzPanzoomFlags
¶
DVZ_PANZOOM_FLAGS_NONE
DVZ_PANZOOM_FLAGS_KEEP_ASPECT
DVZ_PANZOOM_FLAGS_FIXED_X
DVZ_PANZOOM_FLAGS_FIXED_Y
DvzPathFlags
¶
DVZ_PATH_FLAGS_OPEN
DVZ_PATH_FLAGS_CLOSED
DvzPolygonMode
¶
DVZ_POLYGON_MODE_FILL
DVZ_POLYGON_MODE_LINE
DVZ_POLYGON_MODE_POINT
DvzPrimitiveTopology
¶
DVZ_PRIMITIVE_TOPOLOGY_POINT_LIST
DVZ_PRIMITIVE_TOPOLOGY_LINE_LIST
DVZ_PRIMITIVE_TOPOLOGY_LINE_STRIP
DVZ_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
DVZ_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
DVZ_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
DvzRecorderCommandType
¶
DVZ_RECORDER_NONE
DVZ_RECORDER_BEGIN
DVZ_RECORDER_DRAW
DVZ_RECORDER_DRAW_INDEXED
DVZ_RECORDER_DRAW_INDIRECT
DVZ_RECORDER_DRAW_INDEXED_INDIRECT
DVZ_RECORDER_VIEWPORT
DVZ_RECORDER_END
DvzRequestAction
¶
DVZ_REQUEST_ACTION_NONE
DVZ_REQUEST_ACTION_CREATE
DVZ_REQUEST_ACTION_DELETE
DVZ_REQUEST_ACTION_RESIZE
DVZ_REQUEST_ACTION_UPDATE
DVZ_REQUEST_ACTION_BIND
DVZ_REQUEST_ACTION_RECORD
DVZ_REQUEST_ACTION_UPLOAD
DVZ_REQUEST_ACTION_UPFILL
DVZ_REQUEST_ACTION_DOWNLOAD
DVZ_REQUEST_ACTION_SET
DVZ_REQUEST_ACTION_GET
DvzRequestObject
¶
DVZ_REQUEST_OBJECT_NONE
DVZ_REQUEST_OBJECT_BOARD
DVZ_REQUEST_OBJECT_CANVAS
DVZ_REQUEST_OBJECT_DAT
DVZ_REQUEST_OBJECT_TEX
DVZ_REQUEST_OBJECT_SAMPLER
DVZ_REQUEST_OBJECT_COMPUTE
DVZ_REQUEST_OBJECT_PRIMITIVE
DVZ_REQUEST_OBJECT_DEPTH
DVZ_REQUEST_OBJECT_BLEND
DVZ_REQUEST_OBJECT_POLYGON
DVZ_REQUEST_OBJECT_CULL
DVZ_REQUEST_OBJECT_FRONT
DVZ_REQUEST_OBJECT_SHADER
DVZ_REQUEST_OBJECT_VERTEX
DVZ_REQUEST_OBJECT_VERTEX_ATTR
DVZ_REQUEST_OBJECT_SLOT
DVZ_REQUEST_OBJECT_SPECIALIZATION
DVZ_REQUEST_OBJECT_GRAPHICS
DVZ_REQUEST_OBJECT_INDEX
DVZ_REQUEST_OBJECT_BACKGROUND
DVZ_REQUEST_OBJECT_RECORD
DvzSamplerAddressMode
¶
DVZ_SAMPLER_ADDRESS_MODE_REPEAT
DVZ_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT
DVZ_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
DVZ_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
DVZ_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
DvzSamplerAxis
¶
DVZ_SAMPLER_AXIS_U
DVZ_SAMPLER_AXIS_V
DVZ_SAMPLER_AXIS_W
DvzShaderFormat
¶
DVZ_SHADER_NONE
DVZ_SHADER_SPIRV
DVZ_SHADER_GLSL
DvzShaderType
¶
DVZ_SHADER_VERTEX
DVZ_SHADER_TESSELLATION_CONTROL
DVZ_SHADER_TESSELLATION_EVALUATION
DVZ_SHADER_GEOMETRY
DVZ_SHADER_FRAGMENT
DVZ_SHADER_COMPUTE
DvzShapeType
¶
DVZ_SHAPE_NONE
DVZ_SHAPE_SQUARE
DVZ_SHAPE_DISC
DVZ_SHAPE_POLYGON
DVZ_SHAPE_CUBE
DVZ_SHAPE_SPHERE
DVZ_SHAPE_CYLINDER
DVZ_SHAPE_CONE
DVZ_SHAPE_SURFACE
DVZ_SHAPE_OBJ
DVZ_SHAPE_OTHER
DvzSlotType
¶
DVZ_SLOT_DAT
DVZ_SLOT_TEX
DvzTexDims
¶
DVZ_TEX_NONE
DVZ_TEX_1D
DVZ_TEX_2D
DVZ_TEX_3D
DvzTexFlags
¶
DVZ_TEX_FLAGS_NONE
DVZ_TEX_FLAGS_PERSISTENT_STAGING
DvzUploadFlags
¶
DVZ_UPLOAD_FLAGS_NOCOPY
DvzVertexInputRate
¶
DVZ_VERTEX_INPUT_RATE_VERTEX
DVZ_VERTEX_INPUT_RATE_INSTANCE
DvzViewFlags
¶
DVZ_VIEW_FLAGS_NONE
DVZ_VIEW_FLAGS_STATIC
DvzViewportClip
¶
DVZ_VIEWPORT_CLIP_INNER
DVZ_VIEWPORT_CLIP_OUTER
DVZ_VIEWPORT_CLIP_BOTTOM
DVZ_VIEWPORT_CLIP_LEFT
DvzVisualFlags
¶
DVZ_VISUAL_FLAGS_DEFAULT
DVZ_VISUAL_FLAGS_INDEXED
DVZ_VISUAL_FLAGS_INDIRECT
DVZ_VISUAL_FLAGS_VERTEX_MAPPABLE
DVZ_VISUAL_FLAGS_INDEX_MAPPABLE
DvzVolumeFlags
¶
DVZ_VOLUME_FLAGS_NONE
DVZ_VOLUME_FLAGS_RGBA
DVZ_VOLUME_FLAGS_COLORMAP
DVZ_VOLUME_FLAGS_BACK_FRONT
DvzKeyCode
¶
DVZ_KEY_UNKNOWN
DVZ_KEY_NONE
DVZ_KEY_SPACE
DVZ_KEY_APOSTROPHE
DVZ_KEY_COMMA
DVZ_KEY_MINUS
DVZ_KEY_PERIOD
DVZ_KEY_SLASH
DVZ_KEY_0
DVZ_KEY_1
DVZ_KEY_2
DVZ_KEY_3
DVZ_KEY_4
DVZ_KEY_5
DVZ_KEY_6
DVZ_KEY_7
DVZ_KEY_8
DVZ_KEY_9
DVZ_KEY_SEMICOLON
DVZ_KEY_EQUAL
DVZ_KEY_A
DVZ_KEY_B
DVZ_KEY_C
DVZ_KEY_D
DVZ_KEY_E
DVZ_KEY_F
DVZ_KEY_G
DVZ_KEY_H
DVZ_KEY_I
DVZ_KEY_J
DVZ_KEY_K
DVZ_KEY_L
DVZ_KEY_M
DVZ_KEY_N
DVZ_KEY_O
DVZ_KEY_P
DVZ_KEY_Q
DVZ_KEY_R
DVZ_KEY_S
DVZ_KEY_T
DVZ_KEY_U
DVZ_KEY_V
DVZ_KEY_W
DVZ_KEY_X
DVZ_KEY_Y
DVZ_KEY_Z
DVZ_KEY_LEFT_BRACKET
DVZ_KEY_BACKSLASH
DVZ_KEY_RIGHT_BRACKET
DVZ_KEY_GRAVE_ACCENT
DVZ_KEY_WORLD_1
DVZ_KEY_WORLD_2
DVZ_KEY_ESCAPE
DVZ_KEY_ENTER
DVZ_KEY_TAB
DVZ_KEY_BACKSPACE
DVZ_KEY_INSERT
DVZ_KEY_DELETE
DVZ_KEY_RIGHT
DVZ_KEY_LEFT
DVZ_KEY_DOWN
DVZ_KEY_UP
DVZ_KEY_PAGE_UP
DVZ_KEY_PAGE_DOWN
DVZ_KEY_HOME
DVZ_KEY_END
DVZ_KEY_CAPS_LOCK
DVZ_KEY_SCROLL_LOCK
DVZ_KEY_NUM_LOCK
DVZ_KEY_PRINT_SCREEN
DVZ_KEY_PAUSE
DVZ_KEY_F1
DVZ_KEY_F2
DVZ_KEY_F3
DVZ_KEY_F4
DVZ_KEY_F5
DVZ_KEY_F6
DVZ_KEY_F7
DVZ_KEY_F8
DVZ_KEY_F9
DVZ_KEY_F10
DVZ_KEY_F11
DVZ_KEY_F12
DVZ_KEY_F13
DVZ_KEY_F14
DVZ_KEY_F15
DVZ_KEY_F16
DVZ_KEY_F17
DVZ_KEY_F18
DVZ_KEY_F19
DVZ_KEY_F20
DVZ_KEY_F21
DVZ_KEY_F22
DVZ_KEY_F23
DVZ_KEY_F24
DVZ_KEY_F25
DVZ_KEY_KP_0
DVZ_KEY_KP_1
DVZ_KEY_KP_2
DVZ_KEY_KP_3
DVZ_KEY_KP_4
DVZ_KEY_KP_5
DVZ_KEY_KP_6
DVZ_KEY_KP_7
DVZ_KEY_KP_8
DVZ_KEY_KP_9
DVZ_KEY_KP_DECIMAL
DVZ_KEY_KP_DIVIDE
DVZ_KEY_KP_MULTIPLY
DVZ_KEY_KP_SUBTRACT
DVZ_KEY_KP_ADD
DVZ_KEY_KP_ENTER
DVZ_KEY_KP_EQUAL
DVZ_KEY_LEFT_SHIFT
DVZ_KEY_LEFT_CONTROL
DVZ_KEY_LEFT_ALT
DVZ_KEY_LEFT_SUPER
DVZ_KEY_RIGHT_SHIFT
DVZ_KEY_RIGHT_CONTROL
DVZ_KEY_RIGHT_ALT
DVZ_KEY_RIGHT_SUPER
DVZ_KEY_MENU
DVZ_KEY_LAST
DvzGraphicsRequestFlags
¶
DVZ_GRAPHICS_REQUEST_FLAGS_NONE
DVZ_GRAPHICS_REQUEST_FLAGS_OFFSCREEN
DvzPrintFlagsFlags
¶
DVZ_PRINT_FLAGS_NONE
DVZ_PRINT_FLAGS_DATA
Structures¶
DvzAtlasFont
¶
struct DvzAtlasFont
unsigned long ttf_size
unsigned char* ttf_bytes
DvzAtlas* atlas
DvzFont* font
DvzBatch
¶
struct DvzBatch
uint32_t capacity
uint32_t count
DvzRequest* requests
DvzList* pointers_to_free
DvzId board_id
int flags
DvzFrameEvent
¶
struct DvzFrameEvent
uint64_t frame_idx
double time
double interval
void* user_data
DvzGuiEvent
¶
struct DvzGuiEvent
void* user_data
DvzKeyboardEvent
¶
struct DvzKeyboardEvent
DvzKeyboardEventType type
DvzKeyCode key
int mods
void* user_data
DvzMVP
¶
struct DvzMVP
mat4 model
mat4 view
mat4 proj
DvzMouseButtonEvent
¶
struct DvzMouseButtonEvent
DvzMouseButton button
DvzMouseClickEvent
¶
struct DvzMouseClickEvent
DvzMouseButton button
DvzMouseDragEvent
¶
struct DvzMouseDragEvent
DvzMouseButton button
vec2 press_pos
vec2 shift
DvzMouseEvent
¶
struct DvzMouseEvent
DvzMouseEventType type
DvzMouseEventUnion content
vec2 pos
int mods
float content_scale
void* user_data
DvzMouseEventUnion
¶
union DvzMouseEventUnion
DvzMouseButtonEvent b
DvzMouseWheelEvent w
DvzMouseDragEvent d
DvzMouseClickEvent c
DvzMouseWheelEvent
¶
struct DvzMouseWheelEvent
vec2 dir
DvzRecorderCommand
¶
struct DvzRecorderCommand
DvzRecorderCommandType type
DvzId canvas_or_board_id
DvzRequestObject object_type
DvzRecorderUnion contents
DvzRecorderDraw
¶
struct DvzRecorderDraw
DvzId pipe_id
uint32_t first_vertex
uint32_t vertex_count
uint32_t first_instance
uint32_t instance_count
DvzRecorderDrawIndexed
¶
struct DvzRecorderDrawIndexed
DvzId pipe_id
uint32_t first_index
uint32_t vertex_offset
uint32_t index_count
uint32_t first_instance
uint32_t instance_count
DvzRecorderDrawIndexedIndirect
¶
struct DvzRecorderDrawIndexedIndirect
DvzId pipe_id
DvzId dat_indirect_id
uint32_t draw_count
DvzRecorderDrawIndirect
¶
struct DvzRecorderDrawIndirect
DvzId pipe_id
DvzId dat_indirect_id
uint32_t draw_count
DvzRecorderUnion
¶
union DvzRecorderUnion
DvzRecorderViewport v
DvzRecorderDraw draw
DvzRecorderDrawIndexed draw_indexed
DvzRecorderDrawIndirect draw_indirect
DvzRecorderDrawIndexedIndirect draw_indexed_indirect
DvzRecorderViewport
¶
struct DvzRecorderViewport
vec2 offset
vec2 shape
DvzRequest
¶
struct DvzRequest
uint32_t version
DvzRequestAction action
DvzRequestObject type
DvzId id
DvzRequestContent content
int tag
int flags
char* desc
DvzRequestAttr
¶
struct DvzRequestAttr
uint32_t binding_idx
uint32_t location
DvzFormat format
DvzSize offset
DvzRequestBindDat
¶
struct DvzRequestBindDat
uint32_t slot_idx
DvzId dat
DvzSize offset
DvzRequestBindIndex
¶
struct DvzRequestBindIndex
DvzId dat
DvzSize offset
DvzRequestBindTex
¶
struct DvzRequestBindTex
uint32_t slot_idx
DvzId tex
DvzId sampler
uvec3 offset
DvzRequestBindVertex
¶
struct DvzRequestBindVertex
uint32_t binding_idx
DvzId dat
DvzSize offset
DvzRequestBlend
¶
struct DvzRequestBlend
DvzBlendType blend
DvzRequestBoard
¶
struct DvzRequestBoard
uint32_t width
uint32_t height
cvec4 background
DvzRequestCanvas
¶
struct DvzRequestCanvas
uint32_t framebuffer_width
uint32_t framebuffer_height
uint32_t screen_width
uint32_t screen_height
cvec4 background
DvzRequestContent
¶
union DvzRequestContent
DvzRequestBoard board
DvzRequestCanvas canvas
DvzRequestDat dat
DvzRequestTex tex
DvzRequestSampler sampler
DvzRequestShader shader
DvzRequestDatUpload dat_upload
DvzRequestTexUpload tex_upload
DvzRequestGraphics graphics
DvzRequestPrimitive set_primitive
DvzRequestBlend set_blend
DvzRequestDepth set_depth
DvzRequestPolygon set_polygon
DvzRequestCull set_cull
DvzRequestFront set_front
DvzRequestShaderSet set_shader
DvzRequestVertex set_vertex
DvzRequestAttr set_attr
DvzRequestSlot set_slot
DvzRequestSpecialization set_specialization
DvzRequestBindVertex bind_vertex
DvzRequestBindIndex bind_index
DvzRequestBindDat bind_dat
DvzRequestBindTex bind_tex
DvzRequestRecord record
DvzRequestCull
¶
struct DvzRequestCull
DvzCullMode cull
DvzRequestDat
¶
struct DvzRequestDat
DvzBufferType type
DvzSize size
DvzRequestDatUpload
¶
struct DvzRequestDatUpload
int upload_type
DvzSize offset
DvzSize size
void* data
DvzRequestDepth
¶
struct DvzRequestDepth
DvzDepthTest depth
DvzRequestFront
¶
struct DvzRequestFront
DvzFrontFace front
DvzRequestGraphics
¶
struct DvzRequestGraphics
DvzGraphicsType type
DvzRequestPolygon
¶
struct DvzRequestPolygon
DvzPolygonMode polygon
DvzRequestPrimitive
¶
struct DvzRequestPrimitive
DvzPrimitiveTopology primitive
DvzRequestRecord
¶
struct DvzRequestRecord
DvzRecorderCommand command
DvzRequestSampler
¶
struct DvzRequestSampler
DvzFilter filter
DvzSamplerAddressMode mode
DvzRequestShader
¶
struct DvzRequestShader
DvzShaderFormat format
DvzShaderType type
DvzSize size
char* code
uint32_t* buffer
DvzRequestShaderSet
¶
struct DvzRequestShaderSet
DvzId shader
DvzRequestSlot
¶
struct DvzRequestSlot
uint32_t slot_idx
DvzDescriptorType type
DvzRequestSpecialization
¶
struct DvzRequestSpecialization
DvzShaderType shader
uint32_t idx
DvzSize size
void* value
DvzRequestTex
¶
struct DvzRequestTex
DvzTexDims dims
uvec3 shape
DvzFormat format
DvzRequestTexUpload
¶
struct DvzRequestTexUpload
int upload_type
uvec3 offset
uvec3 shape
DvzSize size
void* data
DvzRequestVertex
¶
struct DvzRequestVertex
uint32_t binding_idx
DvzSize stride
DvzVertexInputRate input_rate
DvzRequester
¶
struct DvzRequester
DvzFifo* fifo
DvzRequestsEvent
¶
struct DvzRequestsEvent
DvzBatch* batch
void* user_data
DvzShape
¶
struct DvzShape
mat4 transform
uint32_t first
uint32_t count
DvzShapeType type
uint32_t vertex_count
uint32_t index_count
vec3* pos
vec3* normal
DvzColor* color
vec4* texcoords
float* isoline
vec3* d_left
vec3* d_right
cvec4* contour
DvzIndex* index
DvzTimerEvent
¶
struct DvzTimerEvent
uint32_t timer_idx
DvzTimerItem* timer_item
uint64_t step_idx
double time
void* user_data
DvzWindowEvent
¶
struct DvzWindowEvent
uint32_t framebuffer_width
uint32_t framebuffer_height
uint32_t screen_width
uint32_t screen_height
int flags
void* user_data