![]() |
GL CHOCO ENGINE
|
VBOモジュールが提供する機能をグラフィックスAPIによって差し替え可能な仮想関数テーブルを提供する More...
#include <stddef.h>#include <stdint.h>#include "engine/renderer/renderer_backend/renderer_backend_types.h"#include "engine/renderer/renderer_core/renderer_types.h"

Go to the source code of this file.
Data Structures | |
| struct | renderer_vbo_vtable |
| VBO機能仮想関数テーブル More... | |
Typedefs | |
| typedef renderer_result_t(* | pfn_vertex_buffer_create) (renderer_backend_vbo_t **vertex_buffer_) |
| VBO構造体インスタンスのメモリを確保し、初期化(VBOの生成)する | |
| typedef void(* | pfn_vertex_buffer_destroy) (renderer_backend_vbo_t **vertex_buffer_) |
| VBOを無効化し、VBO構造体インスタンスのメモリを解放する | |
| typedef renderer_result_t(* | pfn_vertex_buffer_bind) (const renderer_backend_vbo_t *vertex_buffer_, uint32_t *out_vbo_id_) |
| VBOのbindを行う | |
| typedef renderer_result_t(* | pfn_vertex_buffer_unbind) (const renderer_backend_vbo_t *vertex_buffer_) |
| VBOのunbindを行う | |
| typedef 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が管理する頂点バッファに頂点情報を転送する | |
| typedef struct renderer_vbo_vtable | renderer_vbo_vtable_t |
| VBO機能仮想関数テーブル | |
VBOモジュールが提供する機能をグラフィックスAPIによって差し替え可能な仮想関数テーブルを提供する
| typedef renderer_result_t(* pfn_vertex_buffer_bind) (const renderer_backend_vbo_t *vertex_buffer_, uint32_t *out_vbo_id_) |
VBOのbindを行う
| [in] | vertex_buffer_ | bind対象VBO構造体インスタンスへのポインタ |
| [in,out] | out_vbo_id_ | bindされたVBO ID格納先 |
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_SUCCESS | bindに成功し、正常終了 |
| 上記以外 | グラフィックスAPIごとの実装依存 |
| typedef renderer_result_t(* pfn_vertex_buffer_create) (renderer_backend_vbo_t **vertex_buffer_) |
VBO構造体インスタンスのメモリを確保し、初期化(VBOの生成)する
| [in,out] | vertex_buffer_ | VBO構造体インスタンスへのダブルポインタ |
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_NO_MEMORY | メモリ確保失敗 |
| RENDERER_LIMIT_EXCEEDED | メモリ管理システムのシステム使用可能範囲上限を超過 |
| RENDERER_SUCCESS | 処理に成功し、正常終了 |
| 上記以外 | グラフィックスAPI実装依存 |
| typedef void(* pfn_vertex_buffer_destroy) (renderer_backend_vbo_t **vertex_buffer_) |
VBOを無効化し、VBO構造体インスタンスのメモリを解放する
| [in,out] | vertex_buffer_ | 無効化、メモリ開放対象VBO構造体インスタンスへのダブルポインタ |
| typedef renderer_result_t(* pfn_vertex_buffer_unbind) (const renderer_backend_vbo_t *vertex_buffer_) |
VBOのunbindを行う
| [in] | vertex_buffer_ | unbind対象VBO構造体インスタンスへのポインタ |
| RENDERER_INVALID_ARGUMENT | vertex_buffer_ == NULL |
| RENDERER_SUCCESS | unbindに成功し、正常終了 |
| 上記以外 | グラフィックスAPIごとの実装依存 |
| typedef 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が管理する頂点バッファに頂点情報を転送する
| vertex_buffer_ | VBO構造体インスタンスへのポインタ |
| load_size_ | 転送サイズ(byte) |
| load_data_ | 転送データの先頭アドレス |
| usage_ | バッファデータの取り扱い buffer_usage_t |
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_RUNTIME_ERROR | usage_の値が規定範囲外 |
| RENDERER_SUCCESS | データの転送に成功し、正常終了 |
| 上記以外 | グラフィックスAPIごとの実装依存 |
| typedef struct renderer_vbo_vtable renderer_vbo_vtable_t |
VBO機能仮想関数テーブル