FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- ファイル一覧

TextureSampler.h
[詳解]
1 #pragma once
2
3 using namespace System;
4 using namespace System::Collections::Generic;
5 using namespace FK_CLI;
6
7 namespace FK_ShaderPlugin
8 {
9 /*
10 // モデルの描画モードを表す列挙型
11 public enum class fk_TexWrapMode {
12 REPEAT, //!< 繰り返し式
13 CLAMP, //!< 縁部伸張式
14 };
15 */
16
17 // フレームバッファのサンプリングソースを表す列挙型
18 public enum class fk_SamplerSource {
19 TEXTURE_IMAGE,
20 COLOR_BUFFER,
21 DEPTH_BUFFER,
22 };
23
25
42 public ref class fk_TextureSampler : fk_MeshTexture
43 {
44 public:
45
47
51 fk_TextureSampler();
52
54
63 fk_TextureSampler(fk_Image^ image);
64
66 ~fk_TextureSampler();
67
69
83 property fk_SamplerSource SamplerSource;
84
86
89 void Init(void);
90
91 internal:
92 bool BindTexture(bool forceLoad);
93
94 private:
95 // このクラスで利用できないプロパティです。
96 property int TriNum;
97
98 // このクラスで利用できない関数です。
99 bool SetTextureCoord(int tID, int vID, double x, double y) { return false; };
100 bool SetTextureCoord(int tID, int vID, fk_TexCoord^ coord) { return false; };
101 bool SetTriTextureCoord(int tID, IEnumerable<fk_TexCoord^>^ array) { return false; };
102 fk_TexCoord^ GetTextureCoord(int tID, int vID) { return nullptr; };
103 bool SetVertexPos(int tID, int vID, double x, double y, double z) { return false; };
104 bool SetVertexPos(int tID, int vID, fk_Vector^ pos) { return false; };
105 bool SetTriPos(int tID, IEnumerable<fk_Vector^>^ array) { return false; };
106 fk_Vector^ GetVertexPos(int tID, int vID) { return nullptr; };
107 void PutIndexFaceSet(fk_IndexFaceSet^ ifs) {};
108 bool ReadMQOFile(String^ fileName, String^ objName, bool contFlg) { return false; };
109 bool ReadMQOFile(String^ fileName, String^ objName) { return false; };
110
111 // フィールド
112 UInt32 id;
113 bool loaded;
114 };
115 }
116
117 /****************************************************************************
118 *
119 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
120 *
121 * Redistribution and use in source and binary forms,
122 * with or without modification, are permitted provided that the
123 * following conditions are met:
124 *
125 * - Redistributions of source code must retain the above
126 * copyright notice, this list of conditions and the
127 * following disclaimer.
128 *
129 * - Redistributions in binary form must reproduce the above
130 * copyright notice, this list of conditions and the
131 * following disclaimer in the documentation and/or
132 * other materials provided with the distribution.
133 *
134 * - Neither the name of the copyright holders nor the names
135 * of its contributors may be used to endorse or promote
136 * products derived from this software without specific
137 * prior written permission.
138 *
139 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
140 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
141 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
142 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
143 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
144 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
145 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
146 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
147 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
148 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
149 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
150 * POSSIBILITY OF SUCH DAMAGE.
151 *
152 ****************************************************************************/
153 /****************************************************************************
154 *
155 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
156 *
157 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
158 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
159 *
160 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
161 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
162 *
163 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
164 * および下記免責条項を含めること。
165 *
166 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
167 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
168 * 含めること。
169 *
170 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
171 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
172 * コントリビューターの名前を使用してはならない。
173 *
174 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
175 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
176 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
177 * に限定されない、いかなる保証もないものとします。著作権者もコン
178 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
179 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
180 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
181 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
182 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
183 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
184 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
185 * ついて、一切責任を負わないものとします。
186 *
187 ****************************************************************************/
FK_CLI::fk_IndexFaceSet
インデックスフェースセットによる任意形状を生成、管理するクラス
Definition: IndexFace_CLI.h:75
FK_CLI::fk_MeshTexture
メッシュテクスチャを生成、管理するクラス
Definition: MeshTexture_CLI.h:43
FK_ShaderPlugin::fk_SamplerSource::DEPTH_BUFFER
画面深度情報参照
FK_ShaderPlugin
Definition: ShaderBinder.h:9
FK_ShaderPlugin::fk_SamplerSource::TEXTURE_IMAGE
テクスチャ画像情報参照
FK_ShaderPlugin::fk_TextureSampler
シェーダー入出力テクスチャークラス
Definition: TextureSampler.h:42
FK_CLI::fk_Vector
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
System
FK_ShaderPlugin::fk_SamplerSource::COLOR_BUFFER
画面色情報参照
FK_ShaderPlugin::fk_SamplerSource
fk_SamplerSource
Definition: TextureSampler.h:18
FK_CLI::fk_Image
画像を生成、管理するクラス
Definition: Image_CLI.h:210
Generic
FK_CLI::fk_TexCoord
テクスチャ座標を管理するクラス
Definition: Texture_CLI.h:42
FK_CLI
Definition: AppWindow_CLI.h:11