FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
ShaderParameter_CLI.h
[詳解]
1#pragma once
2
3#include <FK/ShaderParameter.h>
4#include "Texture_CLI.h"
5#include "Matrix_CLI.h"
6
7//using namespace FK_CLI;
8using namespace System;
9using namespace System::Collections::Generic;
10
11namespace FK_CLI
12{
14
23 public ref class fk_ShaderParameter
24 {
25
26 internal:
27 bool dFlg;
28 ::FK::fk_ShaderParameter *pParam;
29 ::FK::fk_ShaderParameter * GetP(void);
30
31 public:
32
33#if !defined(FK_DOXYGEN_USER_PROCESS)
35 fk_ShaderParameter(::FK::fk_ShaderParameter *);
36#endif
37
40
43
46
48
52 property String^ LastError { String^ get(void); };
53
55
65 void Register(String^ name, float value);
66
68
80 void Register(String^ name, cli::array<float>^ value);
81
83
93 void Register(String^ name, int value);
94
96
108 void Register(String^ name, cli::array<int>^ value);
109
111
123 void Register(String^ name, fk_Matrix^ value);
124
126
136 bool Unregister(String^ name);
137
139
145 void ReserveAttribute(String^ name);
146
148
168 bool AttachTexture(int unit, fk_Texture^ texture);
169
171
180 bool DetachTexture(int unit);
181
183
186 void ClearTexture(void);
187 };
188}
189
190/****************************************************************************
191 *
192 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
193 *
194 * Redistribution and use in source and binary forms,
195 * with or without modification, are permitted provided that the
196 * following conditions are met:
197 *
198 * - Redistributions of source code must retain the above
199 * copyright notice, this list of conditions and the
200 * following disclaimer.
201 *
202 * - Redistributions in binary form must reproduce the above
203 * copyright notice, this list of conditions and the
204 * following disclaimer in the documentation and/or
205 * other materials provided with the distribution.
206 *
207 * - Neither the name of the copyright holders nor the names
208 * of its contributors may be used to endorse or promote
209 * products derived from this software without specific
210 * prior written permission.
211 *
212 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
213 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
214 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
215 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
216 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
217 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
218 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
219 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
220 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
221 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
222 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
223 * POSSIBILITY OF SUCH DAMAGE.
224 *
225 ****************************************************************************/
226/****************************************************************************
227 *
228 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
229 *
230 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
231 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
232 *
233 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
234 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
235 *
236 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
237 * および下記免責条項を含めること。
238 *
239 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
240 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
241 * 含めること。
242 *
243 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
244 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
245 * コントリビューターの名前を使用してはならない。
246 *
247 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
248 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
249 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
250 * に限定されない、いかなる保証もないものとします。著作権者もコン
251 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
252 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
253 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
254 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
255 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
256 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
257 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
258 * ついて、一切責任を負わないものとします。
259 *
260 ****************************************************************************/
4元正方行列を管理するクラス
Definition Matrix_CLI.h:106
シェーダーパラメーター管理クラス
Definition ShaderParameter_CLI.h:24
void Register(String^ name, int value)
int 型 uniform 変数設定メソッド
fk_ShaderParameter()
コンストラクタ
void Register(String^ name, cli::array< int >^ value)
int 配列型 uniform 変数設定メソッド
void Register(String^ name, cli::array< float >^ value)
float 配列型 uniform 変数設定メソッド
String^ LastError
エラーメッセージプロパティ
Definition ShaderParameter_CLI.h:52
bool AttachTexture(int unit, fk_Texture^ texture)
参照テクスチャ設定メソッド
bool Unregister(String^ name)
uniform 変数解除メソッド
void Register(String^ name, fk_Matrix^ value)
行列型 uniform 変数設定メソッド
void Register(String^ name, float value)
float 型 uniform 変数設定メソッド
void ReserveAttribute(String^ name)
Attribute 変数予約関数
bool DetachTexture(int unit)
参照テクスチャ解除メソッド
void ClearTexture(void)
参照テクスチャ全解除関数
~fk_ShaderParameter()
デストラクタ
テクスチャ用基底クラス
Definition Texture_CLI.h:43
Definition AppWindow_CLI.h:11