![]() |
GL CHOCO ENGINE
|
renderer_backendが保有するVAO機能の窓口を上位層に提供する More...
#include <stddef.h>#include <stdint.h>#include <stdbool.h>#include "engine/renderer/renderer_core/renderer_types.h"#include "engine/renderer/renderer_backend/renderer_backend_types.h"

Go to the source code of this file.
Typedefs | |
| typedef struct renderer_backend_context | renderer_backend_context_t |
Functions | |
| renderer_result_t | renderer_backend_vertex_array_create (renderer_backend_context_t *backend_context_, renderer_backend_vao_t **vertex_array_) |
| VAO内部状態管理構造体インスタンスのメモリを確保する | |
| void | renderer_backend_vertex_array_destroy (renderer_backend_context_t *backend_context_, renderer_backend_vao_t **vertex_array_) |
| VAO内部状態管理構造体インスタンスを破棄する | |
| renderer_result_t | renderer_backend_vertex_array_bind (renderer_backend_context_t *backend_context_, renderer_backend_vao_t *vertex_array_) |
| VAOをbindする | |
| renderer_result_t | renderer_backend_vertex_array_unbind (renderer_backend_context_t *backend_context_, renderer_backend_vao_t *vertex_array_) |
| VAOをunbindする | |
| renderer_result_t | renderer_backend_vertex_array_attribute_set (renderer_backend_context_t *backend_context_, renderer_backend_vao_t *vertex_array_, uint32_t layout_, int32_t size_, renderer_type_t type_, bool normalized_, size_t stride_, size_t offset_) |
| 頂点情報のレイアウトをGPUに通知する | |
renderer_backendが保有するVAO機能の窓口を上位層に提供する
| typedef struct renderer_backend_context renderer_backend_context_t |
Renderer Backend内部状態管理構造体前方宣言
| renderer_result_t renderer_backend_vertex_array_attribute_set | ( | renderer_backend_context_t * | backend_context_, |
| renderer_backend_vao_t * | vertex_array_, | ||
| uint32_t | layout_, | ||
| int32_t | size_, | ||
| renderer_type_t | type_, | ||
| bool | normalized_, | ||
| size_t | stride_, | ||
| size_t | offset_ | ||
| ) |
頂点情報のレイアウトをGPUに通知する
| backend_context_ | アトリビュート設定用vtable保有構造体インスタンスへのポインタ |
| vertex_array_ | VAOハンドル(OpenGL3.3では使用しない) |
| layout_ | シェーダープログラム内のどのバッファ変数の設定値かを指定 |
| size_ | 頂点情報に含まれるデータの数([x, y, z]の3次元座標のみであれば3) |
| type_ | バッファに格納されているデータの型 renderer_type_t |
| normalized_ | 与えられた頂点データを正規化するかどうかを指定 |
| stride_ | 頂点情報1つあたりのサイズを指定(GLfloat型の[x, y, z]であれば、sizeof(GLfloat) x 3を指定) |
| offset_ | 「この頂点属性の先頭が、現在GL_ARRAY_BUFFERにバインドされているバッファの先頭から何バイト目にあるか」を指定 |
メモ:
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_BAD_OPERATION | backend_context_が未初期化 |
| RENDERER_RUNTIME_ERROR | type_の値が既定値外 |
| RENDERER_SUCCESS | 処理に成功し、正常終了 |
| renderer_result_t renderer_backend_vertex_array_bind | ( | renderer_backend_context_t * | backend_context_, |
| renderer_backend_vao_t * | vertex_array_ | ||
| ) |
VAOをbindする
| backend_context_ | bind用vtable保有構造体インスタンスへのポインタ |
| vertex_array_ | bind対象VAOハンドル構造体インスタンスへのポインタ |
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_BAD_OPERATION | backend_context_->vao_vtable == NULL |
| RENDERER_SUCCESS | 処理に成功し、正常終了 |
| renderer_result_t renderer_backend_vertex_array_create | ( | renderer_backend_context_t * | backend_context_, |
| renderer_backend_vao_t ** | vertex_array_ | ||
| ) |
VAO内部状態管理構造体インスタンスのメモリを確保する
| [in] | backend_context_ | VAOメモリ確保関数保有構造体インスタンスへのポインタ |
| [out] | vertex_array_ | メモリ確保対象VAO構造体インスタンスへのダブルポインタ |
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_NO_MEMORY | メモリ確保失敗 |
| RENDERER_LIMIT_EXCEEDED | メモリ管理システムのシステム使用可能範囲上限を超過 |
| RENDERER_SUCCESS | 処理に成功し、正常終了 |
| void renderer_backend_vertex_array_destroy | ( | renderer_backend_context_t * | backend_context_, |
| renderer_backend_vao_t ** | vertex_array_ | ||
| ) |
VAO内部状態管理構造体インスタンスを破棄する
| backend_context_ | リソース破棄用vtable保有構造体インスタンスへのポインタ |
| vertex_array_ | 破棄対象インスタンスへのダブルポインタ |
| renderer_result_t renderer_backend_vertex_array_unbind | ( | renderer_backend_context_t * | backend_context_, |
| renderer_backend_vao_t * | vertex_array_ | ||
| ) |
VAOをunbindする
| backend_context_ | unbind用vtable保有構造体インスタンスへのポインタ |
| vertex_array_ | unbind対象VAOハンドル構造体インスタンスへのポインタ |
| RENDERER_INVALID_ARGUMENT | 以下のいずれか
|
| RENDERER_BAD_OPERATION | backend_context_が未初期化 |
| RENDERER_SUCCESS | 処理に成功し、正常終了 |