FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
ShaderProgram_CLI.h
[詳解]
1#pragma once
2
3#include <FK/ShaderProgram.h>
4
5using namespace System;
6
7namespace FK_CLI
8{
10
20 public ref class fk_ShaderProgram
21 {
22 internal:
23 bool dFlg;
24 ::FK::fk_ShaderProgram *pProg;
25 ::FK::fk_ShaderProgram * GetP(void);
26
27 public:
28
29#if !defined(FK_DOXYGEN_USER_PROCESS)
30 fk_ShaderProgram(::FK::fk_ShaderProgram *);
31 fk_ShaderProgram(bool);
32#endif
33
36
39
42
44
50 property String^ VertexShaderSource {
51 String^ get(void);
52 void set(String^);
53 }
54
56
62 property String^ FragmentShaderSource {
63 String^ get(void);
64 void set(String^);
65 }
66
68
74 property String^ GeometryShaderSource {
75 String^ get(void);
76 void set(String^);
77 }
78
80
86 property String ^TessCtrlShaderSource {
87 String ^get(void);
88 void set(String ^);
89 }
90
92
98 property String ^TessEvalShaderSource {
99 String ^get(void);
100 void set(String ^);
101 }
102
104
111 property UInt32 ProgramID { UInt32 get(void); };
112
114
118 property String^ LastError { String^ get(void); };
119
121
135 bool LoadVertexShader(String^ fileName);
136
138
152 bool LoadFragmentShader(String^ fileName);
153
155
169 bool LoadGeometryShader(String^ fileName);
170
172
186 bool LoadTessCtrlShader(String^ fileName);
187
189
203 bool LoadTessEvalShader(String^ fileName);
204
206
214 bool Validate(void);
215
217
225 bool Link(void);
226 };
227}
228
229/****************************************************************************
230 *
231 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
232 *
233 * Redistribution and use in source and binary forms,
234 * with or without modification, are permitted provided that the
235 * following conditions are met:
236 *
237 * - Redistributions of source code must retain the above
238 * copyright notice, this list of conditions and the
239 * following disclaimer.
240 *
241 * - Redistributions in binary form must reproduce the above
242 * copyright notice, this list of conditions and the
243 * following disclaimer in the documentation and/or
244 * other materials provided with the distribution.
245 *
246 * - Neither the name of the copyright holders nor the names
247 * of its contributors may be used to endorse or promote
248 * products derived from this software without specific
249 * prior written permission.
250 *
251 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
252 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
253 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
254 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
255 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
256 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
257 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
258 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
259 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
260 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
261 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
262 * POSSIBILITY OF SUCH DAMAGE.
263 *
264 ****************************************************************************/
265/****************************************************************************
266 *
267 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
268 *
269 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
270 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
271 *
272 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
273 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
274 *
275 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
276 * および下記免責条項を含めること。
277 *
278 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
279 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
280 * 含めること。
281 *
282 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
283 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
284 * コントリビューターの名前を使用してはならない。
285 *
286 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
287 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
288 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
289 * に限定されない、いかなる保証もないものとします。著作権者もコン
290 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
291 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
292 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
293 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
294 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
295 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
296 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
297 * ついて、一切責任を負わないものとします。
298 *
299 ****************************************************************************/
シェーダープログラム格納クラス
Definition ShaderProgram_CLI.h:21
bool LoadGeometryShader(String^ fileName)
ジオメトリシェーダーコード入力メソッド
UInt32 ProgramID
IDプロパティ
Definition ShaderProgram_CLI.h:111
String^ GeometryShaderSource
ジオメトリシェーダーコードプロパティ
Definition ShaderProgram_CLI.h:74
String^ TessEvalShaderSource
テッセレーション評価シェーダーコードプロパティ
Definition ShaderProgram_CLI.h:98
String^ VertexShaderSource
バーテックスシェーダーコードプロパティ
Definition ShaderProgram_CLI.h:50
~fk_ShaderProgram()
デストラクタ
fk_ShaderProgram()
コンストラクタ
bool LoadTessEvalShader(String^ fileName)
テッセレーション評価シェーダーコード入力メソッド
bool LoadFragmentShader(String^ fileName)
フラグメントシェーダーコード入力メソッド
bool Validate(void)
シェーダープログラムコンパイルメソッド
String^ FragmentShaderSource
フラグメントシェーダーコードプロパティ
Definition ShaderProgram_CLI.h:62
String^ TessCtrlShaderSource
テッセレーション制御コードプロパティ
Definition ShaderProgram_CLI.h:86
bool LoadVertexShader(String^ fileName)
バーテックスシェーダーコード入力メソッド
bool LoadTessCtrlShader(String^ fileName)
テッセレーション制御シェーダーコード入力メソッド
bool Link(void)
シェーダープログラムリンクメソッド
String^ LastError
エラーメッセージプロパティ
Definition ShaderProgram_CLI.h:118
Definition AppWindow_CLI.h:11