27#define VGL_TERRAIN_VERTEX_SIZE 24
29#define VGL_TERRAIN_VERTEX_POSITION_OFFSET 0
31#define VGL_TERRAIN_VERTEX_HEIGHT_OFFSET 12
33#define VGL_TERRAIN_VERTEX_UV_OFFSET 16
35#define VGL_TERRAIN_VERTEX_NORMAL_OFFSET 20
42#define VGL_TERRAIN_SAMPLE_SIZE 8
44#define VGL_TERRAIN_SAMPLE_HEIGHT_OFFSET 0
46#define VGL_TERRAIN_SAMPLE_NORMAL_OFFSET 4
93 uint32_t format_count);
126#define VGL_LOGARITHMIC_DEPTH_FAR_DEFAULT 1.0e8
161 uint32_t vertex_count;
162 uint32_t vertex_size;
172 uint32_t sample_grid;
173 uint32_t sample_size;
187 const
size_t* mip_sizes;
205 float uv_scale_offset[4];
227 float model_view[16];
238 float geoid_heights[4];
306 const uint64_t** out_resources,
307 uint32_t* out_count);
325 uint32_t* out_count);
343 uint32_t* out_count);
361 uint32_t* out_count);
381 uint32_t* out_count);
400 uint32_t* out_count);
537#define VGL_UPLOAD_BUDGET_DEFAULT (16ull * 1024 * 1024)
539#define VGL_CONTOUR_INTERVAL_DEFAULT 500.0
542#define VGL_CLOUD_HEIGHT_DEFAULT 6000.0
544#define VGL_STAR_COUNT_MAX 400000u
546#define VGL_CLOUD_IMAGE_SIZE_MIN 2u
547#define VGL_CLOUD_IMAGE_WIDTH_MAX 16384u
548#define VGL_CLOUD_IMAGE_HEIGHT_MAX 8192u
vgl_result
Definition base.h:98
#define VGL_API
Definition base.h:28
uint32_t vgl_bool
Definition base.h:56
#define VGL_POINTER_PADDING(name)
Definition base.h:46
struct vgl_context vgl_context
Definition context.h:23
vgl_debug_view
Definition render.h:519
@ VGL_DEBUG_VIEW_HEIGHT_COLORS
Definition render.h:532
@ VGL_DEBUG_VIEW_IMAGERY_SOURCE
Definition render.h:529
@ VGL_DEBUG_VIEW_MAX_ENUM
Definition render.h:533
@ VGL_DEBUG_VIEW_WIREFRAME
Definition render.h:524
@ VGL_DEBUG_VIEW_LEVEL_COLORS
Definition render.h:526
vgl_result vgl_frame_destroys_get(const vgl_frame *frame, const uint64_t **out_resources, uint32_t *out_count)
vgl_result vgl_frame_draw_list_get(const vgl_frame *frame, const vgl_draw_item **out_items, uint32_t *out_count)
vgl_result vgl_frame_end(vgl_frame *frame)
uint32_t vgl_draw_features
Definition render.h:480
vgl_result vgl_frame_meshes_get(const vgl_frame *frame, const vgl_mesh_data **out_meshes, uint32_t *out_count)
vgl_result vgl_context_resources_reset(vgl_context *context)
struct vgl_frame vgl_frame
Definition render.h:195
vgl_result vgl_frame_resource_handle_set(vgl_frame *frame, uint64_t resource, uint64_t handle)
vgl_texture_format
Definition render.h:65
@ VGL_TEXTURE_FORMAT_MAX_ENUM
Definition render.h:72
@ VGL_TEXTURE_FORMAT_RGBA8_SRGB
Definition render.h:67
@ VGL_TEXTURE_FORMAT_ETC2_RGB8
Definition render.h:70
@ VGL_TEXTURE_FORMAT_BC7
Definition render.h:69
@ VGL_TEXTURE_FORMAT_RGBA8
Definition render.h:66
@ VGL_TEXTURE_FORMAT_ASTC_4X4
Definition render.h:71
@ VGL_TEXTURE_FORMAT_BC1
Definition render.h:68
vgl_result vgl_frame_index_lists_get(const vgl_frame *frame, const vgl_index_list_data **out_index_lists, uint32_t *out_count)
vgl_result vgl_frame_textures_get(const vgl_frame *frame, const vgl_texture_data **out_textures, uint32_t *out_count)
vgl_depth_convention
Definition render.h:105
@ VGL_DEPTH_CONVENTION_LOGARITHMIC
Definition render.h:112
@ VGL_DEPTH_CONVENTION_CONVENTIONAL
Definition render.h:121
@ VGL_DEPTH_CONVENTION_REVERSED_Z
Definition render.h:118
@ VGL_DEPTH_CONVENTION_MAX_ENUM
Definition render.h:122
vgl_result vgl_context_texture_formats_set(vgl_context *context, const vgl_texture_format *formats, uint32_t format_count)
uint32_t vgl_debug_views
Definition render.h:516
vgl_result vgl_frame_resource_failed(vgl_frame *frame, uint64_t resource, vgl_result reason)
vgl_result vgl_frame_draw_layers_get(const vgl_frame *frame, const vgl_draw_layer **out_layers, uint32_t *out_count)
vgl_result vgl_context_frame_begin(vgl_context *context, const vgl_frame_begin_info *info, vgl_frame **out_frame)
vgl_draw_feature
Definition render.h:483
@ VGL_DRAW_FEATURE_STARS
Definition render.h:499
@ VGL_DRAW_FEATURE_CLOUDS
Definition render.h:504
@ VGL_DRAW_FEATURE_ATMOSPHERE
Definition render.h:494
@ VGL_DRAW_FEATURE_MAX_ENUM
Definition render.h:509
@ VGL_DRAW_FEATURE_SEA_SURFACE
Definition render.h:487
@ VGL_DRAW_FEATURE_CONTOURS
Definition render.h:508
uint32_t reserved
Definition render.h:240
vgl_bool has_geoid
Definition render.h:239
uint32_t index_size
Definition render.h:221
uint32_t first_layer
Definition render.h:223
uint64_t index_list_handle
Definition render.h:218
vgl_tile_id tile
Definition render.h:213
uint64_t index_list
Definition render.h:217
double max_height
Definition render.h:231
uint32_t layer_count
Definition render.h:224
uint32_t index_count
Definition render.h:219
uint64_t mesh_handle
Definition render.h:216
vgl_dvec3 centre
Definition render.h:229
double min_height
Definition render.h:230
uint64_t mesh
Definition render.h:214
uint64_t texture_handle
Definition render.h:202
float opacity
Definition render.h:206
uint64_t texture
Definition render.h:200
uint32_t reserved
Definition render.h:207
uint32_t index_list_data_size
Definition render.h:256
uint32_t struct_size
Definition render.h:246
uint64_t upload_budget
Definition render.h:261
uint32_t draw_layer_size
Definition render.h:255
uint32_t mesh_data_size
Definition render.h:257
uint32_t draw_item_size
Definition render.h:254
uint32_t texture_data_size
Definition render.h:258
const vgl_dmat4 * view_matrix
Definition render.h:264
const void * indices
Definition render.h:145
uint32_t index_count
Definition render.h:147
uint32_t index_size
Definition render.h:149
uint64_t resource
Definition render.h:143
uint64_t index_list
Definition render.h:157
const void * vertices
Definition render.h:159
uint64_t resource
Definition render.h:155
float color[3]
Definition render.h:60
float reserved
Definition render.h:61
float magnitude
Definition render.h:58
float direction[3]
Definition render.h:56
uint64_t resource
Definition render.h:179
vgl_texture_format format
Definition render.h:180
const void *const * mip_data
Definition render.h:185
uint32_t height
Definition render.h:182
uint32_t mip_count
Definition render.h:183
uint32_t width
Definition render.h:181
uint32_t y
Definition render.h:136
uint32_t reserved
Definition render.h:137
uint32_t x
Definition render.h:135
uint32_t level
Definition render.h:134