GL CHOCO ENGINE
Loading...
Searching...
No Matches
interface_vbo.h
Go to the documentation of this file.
1
18#ifndef GLCE_ENGINE_RENDERER_RENDERER_BACKEND_RENDERER_BACKEND_INTERFACE_INTERFACE_VBO_H
19#define GLCE_ENGINE_RENDERER_RENDERER_BACKEND_RENDERER_BACKEND_INTERFACE_INTERFACE_VBO_H
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#include <stddef.h>
26#include <stdint.h>
27
30
45
53typedef void (*pfn_vertex_buffer_destroy)(renderer_backend_vbo_t** vertex_buffer_);
54
71typedef renderer_result_t (*pfn_vertex_buffer_bind)(const renderer_backend_vbo_t* vertex_buffer_, uint32_t* out_vbo_id_);
72
85
102typedef renderer_result_t (*pfn_vertex_buffer_vertex_load)(const renderer_backend_vbo_t* vertex_buffer_, size_t load_size_, void* load_data_, buffer_usage_t usage_);
103
108typedef struct renderer_vbo_vtable {
115
116#ifdef __cplusplus
117}
118#endif
119#endif
renderer_result_t(* pfn_vertex_buffer_unbind)(const renderer_backend_vbo_t *vertex_buffer_)
VBOのunbindを行う
Definition: interface_vbo.h:84
struct renderer_vbo_vtable renderer_vbo_vtable_t
VBO機能仮想関数テーブル
renderer_result_t(* pfn_vertex_buffer_vertex_load)(const renderer_backend_vbo_t *vertex_buffer_, size_t load_size_, void *load_data_, buffer_usage_t usage_)
VBOが管理する頂点バッファに頂点情報を転送する
Definition: interface_vbo.h:102
renderer_result_t(* pfn_vertex_buffer_create)(renderer_backend_vbo_t **vertex_buffer_)
VBO構造体インスタンスのメモリを確保し、初期化(VBOの生成)する
Definition: interface_vbo.h:44
renderer_result_t(* pfn_vertex_buffer_bind)(const renderer_backend_vbo_t *vertex_buffer_, uint32_t *out_vbo_id_)
VBOのbindを行う
Definition: interface_vbo.h:71
void(* pfn_vertex_buffer_destroy)(renderer_backend_vbo_t **vertex_buffer_)
VBOを無効化し、VBO構造体インスタンスのメモリを解放する
Definition: interface_vbo.h:53
renderer_backend内で共通して使用するデータ構造を提供する
レンダラーレイヤー全体で使用されるデータ型を提供する
renderer_result_t
レンダラーレイヤー実行結果コード定義
Definition: renderer_types.h:35
buffer_usage_t
上位層で頂点情報データ種別の識別にグラフィックスAPI固有の型を使用しないで済むよう、頂点情報のデータ種別を定義
Definition: renderer_types.h:52
VBOモジュール内部状態管理構造体
Definition: concrete_vbo.c:39
VBO機能仮想関数テーブル
Definition: interface_vbo.h:108
pfn_vertex_buffer_create vertex_buffer_create
Definition: interface_vbo.h:109
pfn_vertex_buffer_vertex_load vertex_buffer_vertex_load
Definition: interface_vbo.h:113
pfn_vertex_buffer_bind vertex_buffer_bind
Definition: interface_vbo.h:111
pfn_vertex_buffer_unbind vertex_buffer_unbind
Definition: interface_vbo.h:112
pfn_vertex_buffer_destroy vertex_buffer_destroy
Definition: interface_vbo.h:110