GL CHOCO ENGINE
Loading...
Searching...
No Matches
interface_shader.h
Go to the documentation of this file.
1
21#ifndef GLCE_ENGINE_RENDERER_RENDERER_BACKEND_RENDERER_BACKEND_INTERFACE_INTERFACE_SHADER_H
22#define GLCE_ENGINE_RENDERER_RENDERER_BACKEND_RENDERER_BACKEND_INTERFACE_INTERFACE_SHADER_H
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#include <stddef.h>
29#include <stdint.h>
30
33
52
68
96typedef renderer_result_t (*pfn_renderer_shader_compile)(shader_type_t shader_type_, const char* shader_source_, renderer_backend_shader_t* shader_handle_);
97
120
137typedef renderer_result_t (*pfn_renderer_shader_use)(renderer_backend_shader_t* shader_handle_, uint32_t* out_program_id_);
138
150
151#ifdef __cplusplus
152}
153#endif
154#endif
void(* pfn_renderer_shader_destroy)(renderer_backend_shader_t **shader_handle_)
シェーダーハンドル構造体インスタンスを破棄する
Definition: interface_shader.h:67
renderer_result_t(* pfn_renderer_shader_compile)(shader_type_t shader_type_, const char *shader_source_, renderer_backend_shader_t *shader_handle_)
シェーダーソースをコンパイルし、シェーダーオブジェクトハンドルを初期化する
Definition: interface_shader.h:96
renderer_result_t(* pfn_renderer_shader_create)(renderer_backend_shader_t **shader_handle_)
シェーダーハンドル構造体インスタンスのメモリを確保し、renderer_backend_shader_tインスタンスのフィールドを全て0で初期化する
Definition: interface_shader.h:51
renderer_result_t(* pfn_renderer_shader_link)(renderer_backend_shader_t *shader_handle_)
コンパイル済みのシェーダーオブジェクトをリンクし、シェーダープログラムハンドルを初期化する
Definition: interface_shader.h:119
renderer_result_t(* pfn_renderer_shader_use)(renderer_backend_shader_t *shader_handle_, uint32_t *out_program_id_)
シェーダープログラムの使用開始をグラフィックスAPIに伝える
Definition: interface_shader.h:137
struct renderer_shader_vtable renderer_shader_vtable_t
シェーダー機能仮想関数テーブル
renderer_backend内で共通して使用するデータ構造を提供する
レンダラーレイヤー全体で使用されるデータ型を提供する
shader_type_t
上位層でシェーダー種別の識別にグラフィックスAPI固有の型を使用しないで済むよう、シェーダー種別リストを定義
Definition: renderer_types.h:69
renderer_result_t
レンダラーレイヤー実行結果コード定義
Definition: renderer_types.h:35
シェーダープログラム/シェーダーオブジェクトのハンドルを保持する構造体
Definition: concrete_shader.c:108
シェーダー機能仮想関数テーブル
Definition: interface_shader.h:143
pfn_renderer_shader_link renderer_shader_link
Definition: interface_shader.h:147
pfn_renderer_shader_create renderer_shader_create
Definition: interface_shader.h:144
pfn_renderer_shader_compile renderer_shader_compile
Definition: interface_shader.h:146
pfn_renderer_shader_use renderer_shader_use
Definition: interface_shader.h:148
pfn_renderer_shader_destroy renderer_shader_destroy
Definition: interface_shader.h:145