1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
3<!-- InstanceBegin template="/Templates/default_template.dwt" codeOutsideHTMLIsLocked="false" -->
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6<meta http-equiv="Content-Style-Type" content="text/css" />
7<!-- InstanceBeginEditable name="CSS の相対パス指定" -->
8<link href="../../../common/manual.css" rel="stylesheet" type="text/css" />
9<!-- InstanceEndEditable -->
10<!-- InstanceBeginEditable name="ページのタイトル" -->
11<title>テクスチャコンバイナ</title>
12<!-- InstanceEndEditable -->
13</head>
14<body>
15<div>
16  <div class="body"> <!-- InstanceBeginEditable name="本文のタイトル" -->
17    <h1>テクスチャコンバイナ</h1>
18    <!-- InstanceEndEditable --> <!-- InstanceBeginEditable name="本文" -->
19    <p>ここでは、テクスチャコンバイナについて説明します。</p>
20    <h2>テクスチャコンバイナとは</h2>
21    <p><a href="../../../glossary/index.html#texture_combiner">テクスチャコンバイナ</a>とは、ライティング、テクスチャ、定数カラー、などの混ぜ合わせを行い、最終的なカラーとアルファを決定する仕組みです。ゲームキューブやWiiのTEVでのカラー・アルファ合成処理をイメージしていただければ理解しやすいと思います。テクスチャコンバイナはカラー(RGB)用の処理とアルファ(A)用の処理がそれぞれ独立して行われます。</p>
22    <h2>テクスチャコンバイナの構造</h2>
23    <p>ここでは、テクスチャコンバイナの構造について説明します。テクスチャコンバイナは後述する計算式を最大6回繰り返し処理することができます。この計算式の一回の処理を段と呼びます。最初の段を0段目と呼び、最大で6段まで処理できます。</p>
24    <p>以下の図は、テクスチャコンバイナの構造についてイメージしたものです。</p>
25    <img class="user_guide_chart" src="assets/combiner_composition.png" alt="テクスチャコンバイナの構成"/>
26    <h2>テクスチャコンバイナの設定</h2>
27    <p>ここでは、テクスチャコンバイナの設定項目について説明します。</p>
28    <h3>入力ソース</h3>
29    <p>テクスチャコンバイナでは、混ぜ合わせの処理を行う際に 3 つの入力ソースを使用します。</p>
30    <p>以下の表は、テクスチャコンバイナで使用する 10 種類の入力ソースについてまとめたものです。</p>
31    <table>
32      <thead>
33        <tr>
34          <th>ソースの種類</th>
35          <th>説明</th>
36        </tr>
37      </thead>
38      <tbody>
39        <tr>
40          <th>テクスチャ 0</th>
41          <td>テクスチャ 0 で設定したテクスチャ画像のカラーとアルファです。</td>
42        </tr>
43        <tr>
44          <th>テクスチャ 1</th>
45          <td>テクスチャ 1 で設定したテクスチャ画像のカラーとアルファです。</td>
46        </tr>
47        <tr>
48          <th>テクスチャ 2</th>
49          <td>テクスチャ 2 で設定したテクスチャ画像のカラーとアルファです。</td>
50        </tr>
51        <tr>
52          <th>テクスチャ 3</th>
53          <td>テクスチャ 3 で設定したテクスチャ画像のカラーとアルファです。</td>
54        </tr>
55        <tr>
56          <th>コンスタントカラー</th>
57          <td>テクスチャコンバイナの各段に 1 つ選んで設定できるカラーやアルファです。</td>
58        </tr>
59        <tr>
60          <th>頂点シェーダーの出力結果</th>
61          <td>頂点シェーダーから出力されたカラーやアルファです。</td>
62        </tr>
63        <tr>
64          <th>前段の出力結果</th>
65          <td>前段から出力されたカラーやアルファです。最初の段では使用できません。</td>
66        </tr>
67        <tr>
68          <th>前段のバッファ</th>
69          <td>前段からバッファへ出力されたカラーやアルファです。最初の段では使用できません。</td>
70        </tr>
71        <tr>
72          <th>プライマリカラー</th>
73          <td>フラグメントライティングの出力結果です。</td>
74        </tr>
75        <tr>
76          <th>セカンダリカラー</th>
77          <td>フラグメントライティングの出力結果です。</td>
78        </tr>
79      </tbody>
80    </table>
81    <p class="warning">2 段目以降の入力ソースの内、少なくとも 1 つには<em>コンスタントカラー、前段の出力結果、前段のバッファ</em>のどれかを指定しなければなりません。</p>
82    <h3>オペランド</h3>
83    <!-- #BeginLibraryItem "/Library/glossary_combiner_operand.lbi" -->
84    <!-- オペランド ( combiner_operand ) -->
85    <p><em>オペランド</em>とは、入力ソースの RGBA 各チャンネルの中から混ぜ合わせの対象となる成分を指定するテクスチャコンバイナの機能です。デフォルト設定ではカラー側に RGB 、アルファ側に A が適用されます。</p>
86    <!-- #EndLibraryItem -->
87    <p>以下のテクスチャ画像をもとに、オペランドについて説明します。</p>
88    <table class="thumb">
89      <thead>
90        <tr>
91          <th>カラーチャンネル</th>
92          <th>アルファチャンネル</th>
93        </tr>
94      </thead>
95      <tbody>
96        <tr>
97          <td><img class="thumb" src="assets//combiner_a.png" alt="コンバイナA"/></td>
98          <td><img class="thumb" src="assets//combiner_operand_alpha.png" alt="アルファチャンネル"/></td>
99        </tr>
100      </tbody>
101    </table>
102    <h4>テクスチャコンバイナにおけるカラーのオペランド</h4>
103    <p>以下の表は、テクスチャコンバイナのカラー側で選択できるオペランドの種類についてまとめたものです。</p>
104    <table>
105      <thead>
106        <tr>
107          <th class="thumb">項目</th>
108          <th class="thumb">結果</th>
109          <th>説明</th>
110        </tr>
111      </thead>
112      <tbody>
113        <tr>
114          <th class="thumb">RGB</th>
115          <td class="thumb"><img class="thumb" src="assets/combiner_a.png" alt="コンバイナA"/></td>
116          <td>カラーチャンネルを R , G , B チャンネルへ適用します。</td>
117        </tr>
118        <tr>
119          <th class="thumb">1 - RGB</th>
120          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_rgb.png" alt="オペランド1-RGB"/></td>
121          <td>カラーチャンネルを反転して R , G , B チャンネルへ適用します。</td>
122        </tr>
123        <tr>
124          <th class="thumb">A</th>
125          <td class="thumb"><img class="thumb" src="assets//combiner_operand_alpha.png" alt="アルファチャンネル"/></td>
126          <td>アルファ チャンネルを R , G , B チャンネルへ適用します。</td>
127        </tr>
128        <tr>
129          <th class="thumb">1 - A</th>
130          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_alpha.png" alt="オペランド1-A"/></td>
131          <td>アルファチャンネルを反転して R , G , B チャンネルへ適用します。</td>
132        </tr>
133        <tr>
134          <th class="thumb">R</th>
135          <td class="thumb"><img class="thumb" src="assets/combiner_operand_r.png" alt="オペランド1R"/></td>
136          <td>カラーの R チャンネルを R , G , B チャンネルへ適用します。</td>
137        </tr>
138        <tr>
139          <th class="thumb">G</th>
140          <td class="thumb"><img class="thumb" src="assets/combiner_operand_g.png" alt="オペランド1G"/></td>
141          <td>カラーの G チャンネルを R , G , B チャンネルへ適用します。</td>
142        </tr>
143        <tr>
144          <th class="thumb">B</th>
145          <td class="thumb"><img class="thumb" src="assets/combiner_operand_b.png" alt="オペランドB"/></td>
146          <td>カラーの B チャンネルを R , G , B チャンネルへ適用します。</td>
147        </tr>
148        <tr>
149          <th class="thumb">1 - R</th>
150          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_r.png" alt="オペランド1-R"/></td>
151          <td>カラーの B チャンネルを反転して R , G , B チャンネルへ適用します。</td>
152        </tr>
153        <tr>
154          <th class="thumb">1 - G</th>
155          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_g.png" alt="オペランド1-G"/></td>
156          <td>カラーの G チャンネルを反転して R , G , B チャンネルへ適用します。</td>
157        </tr>
158        <tr>
159          <th class="thumb">1 - B</th>
160          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_b.png" alt="オペランド1-B"/></td>
161          <td>カラーの B チャンネルを反転して R , G , B チャンネルへ適用します。</td>
162        </tr>
163      </tbody>
164    </table>
165    <h4>テクスチャコンバイナにおけるアルファのオペランド</h4>
166    <p>以下の表は、テクスチャコンバイナのアルファ側で選択できるオペランドの種類についてまとめたものです。</p>
167    <table>
168      <thead>
169        <tr>
170          <th class="thumb">項目</th>
171          <th class="thumb">結果</th>
172          <th>説明</th>
173        </tr>
174      </thead>
175      <tbody>
176        <tr>
177          <th class="thumb">A</th>
178          <td class="thumb"><img class="thumb" src="assets//combiner_operand_alpha.png" alt="アルファチャンネル"/></td>
179          <td>アルファ チャンネルを A チャンネルへ適用します。</td>
180        </tr>
181        <tr>
182          <th class="thumb">1 - A</th>
183          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_alpha.png" alt="オペランド1-A"/></td>
184          <td>アルファチャンネルを反転して A チャンネルへ適用します。</td>
185        </tr>
186        <tr>
187          <th class="thumb">R</th>
188          <td class="thumb"><img class="thumb" src="assets/combiner_operand_r.png" alt="オペランド1R"/></td>
189          <td>カラーの R チャンネルを A チャンネルへ適用します。</td>
190        </tr>
191        <tr>
192          <th class="thumb">G</th>
193          <td class="thumb"><img class="thumb" src="assets/combiner_operand_g.png" alt="オペランド1G"/></td>
194          <td>カラーの G チャンネルを A チャンネルへ適用します。</td>
195        </tr>
196        <tr>
197          <th class="thumb">B</th>
198          <td class="thumb"><img class="thumb" src="assets/combiner_operand_b.png" alt="オペランドB"/></td>
199          <td>カラーの B チャンネルを A チャンネルへ適用します。</td>
200        </tr>
201        <tr>
202          <th class="thumb">1 - R</th>
203          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_r.png" alt="オペランド1-R"/></td>
204          <td>カラーの B チャンネルを反転して A チャンネルへ適用します。</td>
205        </tr>
206        <tr>
207          <th class="thumb">1 - G</th>
208          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_g.png" alt="オペランド1-G"/></td>
209          <td>カラーの G チャンネルを反転して A チャンネルへ適用します。</td>
210        </tr>
211        <tr>
212          <th class="thumb">1 - B</th>
213          <td class="thumb"><img class="thumb" src="assets/combiner_operand_1_sub_b.png" alt="オペランド1-B"/></td>
214          <td>カラーの B チャンネルを反転して A チャンネルへ適用します。</td>
215        </tr>
216      </tbody>
217    </table>
218    <h3>テクスチャコンバイナの計算式</h3>
219    <!-- #BeginLibraryItem "/Library/glossary_combiner_function.lbi" -->
220    <!-- テクスチャコンバイナの計算式 ( combiner_function ) -->
221    <p><em>テクスチャコンバイナの計算式</em>とは、入力ソースのオペランド設定により決まったカラーとアルファの成分を混ぜ合わせる為に使用する計算式です。カラーとアルファそれぞれに 10 種類の計算式から選択することができます。</p>
222    <!-- #EndLibraryItem -->
223    <p>以下のテクスチャ画像 A 、B 、C はそれぞれ、オペランド適用後の入力ソース 0 、1 、2 の結果です。<br />
224      この画像をもとに、テクスチャコンバイナの計算式による混ぜ合わせについて説明します。</p>
225    <table class="thumb">
226      <thead>
227        <tr>
228          <th>A</th>
229          <th>B</th>
230          <th>C</th>
231        </tr>
232      </thead>
233      <tbody>
234        <tr>
235          <td><img class="thumb" src="assets//combiner_a.png" alt="コンバイナA"/></td>
236          <td><img class="thumb" src="assets//combiner_b.png" alt="コンバイナB"/></td>
237          <td><img class="thumb" src="assets//combiner_c.png" alt="コンバイナC"/></td>
238        </tr>
239      </tbody>
240    </table>
241    <p>以下の表は、 CreativeStudio で選択できるテクスチャコンバイナの計算式についてまとめたものです。</p>
242    <table>
243      <thead>
244        <tr>
245          <th class="thumb">項目</th>
246          <th class="thumb">関数名</th>
247          <th class="thumb">結果</th>
248          <th>説明</th>
249        </tr>
250      </thead>
251      <tbody>
252        <tr>
253          <th class="thumb">A</th>
254          <th class="thumb">REPLACE</th>
255          <td class="thumb"><img class="thumb" src="assets/combiner_a.png" alt="コンバイナA"/></td>
256          <td>A をそのまま出力します。</td>
257        </tr>
258        <tr>
259          <th class="thumb">A &#215; B</th>
260          <th class="thumb">MODULATE</th>
261          <td class="thumb"><img class="thumb" src="assets/combiner_modulate.png" alt="MODULATE"/></td>
262          <td>A と B を乗算します。</td>
263        </tr>
264        <tr>
265          <th class="thumb">A + B</th>
266          <th class="thumb">ADD</th>
267          <td class="thumb"><img class="thumb" src="assets/combiner_add.png" alt="ADD"/></td>
268          <td>A と B を加算します。</td>
269        </tr>
270        <tr>
271          <th class="thumb">A + B - 0.5</th>
272          <th class="thumb">ADD_SIGNED</th>
273          <td class="thumb"><img class="thumb" src="assets/combiner_add_signed.png" alt="ADD_SIGNED"/></td>
274          <td>A と B を加算して、 0.5 を減算します。</td>
275        </tr>
276        <tr>
277          <th class="thumb">A &#215; C + B &#215; ( 1 - C )</th>
278          <th class="thumb">INTERPOLATE</th>
279          <td class="thumb"><img class="thumb" src="assets/combiner_interpolate.png" alt="INTERPOLATEA"/></td>
280          <td>A と B を C の割合でブレンドします。<br />
281            例えば C のカラーをアニメーションさせることで、A から B へとなめらかに変化させることができます。</td>
282        </tr>
283        <tr>
284          <th class="thumb">A - B</th>
285          <th class="thumb">SUBTRACT</th>
286          <td class="thumb"><img class="thumb" src="assets/combiner_subtract.png" alt="SUBTRACT"/></td>
287          <td>A から B を減算します。</td>
288        </tr>
289        <tr>
290          <th class="thumb">RGB ← Dot ( A , B )</th>
291          <th class="thumb">DOT3_RGB</th>
292          <td class="thumb"><img class="thumb" src="assets/combiner_dot3_rgb.png" alt="DOT3_RGB"/></td>
293          <td>A と B の RGB をベクトルとして扱うことから、リソースの種類に法線マップのテクスチャを指定し、カラーチャンネル単位で操作することに向きます。出力結果は各チャンネル成分に同じ値が入る為グレーとなります。</td>
294        </tr>
295        <tr>
296          <th class="thumb">RGBA ← Dot ( A , B )</th>
297          <th class="thumb">DOT3_RGBA</th>
298          <td class="thumb"><img class="thumb" src="assets/combiner_dot3_rgb.png" alt="DOT3_RGB"/></td>
299          <td>RGB ← Dot ( A , B )と同様の計算式を使用しますが、カラー成分と同じ値がアルファ成分にも入ります。<br />
300            <strong>CreativeStudio の設定において、カラーとアルファ側とも入力ソースに RGBA←Dot ( A , B ) を指定しなければなりません。</strong></td>
301        </tr>
302        <tr>
303          <th class="thumb">( A + B ) &#215 C </th>
304          <th class="thumb">ADD_MULT</th>
305          <td class="thumb"><img class="thumb" src="assets/combiner_add_mult.png" alt="ADD_MULT"/></td>
306          <td>A と B を 加算してから C を乗算します。<br />
307            <strong>計算中、A と B を加算した時点での値は 1.0 より上がりません。</strong></td>
308        </tr>
309        <tr>
310          <th class="thumb">( A &#215 B ) + C </th>
311          <th class="thumb">MULT_ADD</th>
312          <td class="thumb"><img class="thumb" src="assets/combiner_mult_add.png" alt="MULT_ADD"/></td>
313          <td>A と B を 乗算してから C を加算します。</td>
314        </tr>
315      </tbody>
316    </table>
317    <p><em>RGB ← Dot ( A , B )</em> および <em>RGBA ← Dot ( A , B )</em>の計算式は、 0 ~ 1 の範囲でテクスチャメモリに格納されるテクスチャ画像に対し、テクセル生成処理のベクトル計算のさいに -1 ~ 1 の範囲に変換されていることを考慮しています。</p>
318    <p>計算式は次のとおりです。</p>
319    <p class="system">4 × ((Ar – 0.5) × (Br – 0.5) + (Ag – 0.5) × (Bg – 0.5) + (Ab – 0.5) × (Bb – 0.5))</p>
320    <!-- #BeginLibraryItem "/Library/glossary_vector.lbi" -->
321    <!-- ベクトル ( vector ) -->
322    <p>ベクトルとは、<em>大きさ</em>と<em>方向</em>の情報を持ち、矢印の長さと向きで表されます。 CreativeStudio では、ライト計算やパーティクルの速度の制御等さまざまな場面で使用されています。テクスチャ画像の色成分をベクトル XYZ の値に変換して使うこともできます。</p>
323    <!-- #EndLibraryItem -->
324    <h4>計算結果のスケール</h4>
325    <p>スケールの設定により、テクスチャコンバイナの計算結果に対して乗算することができます。混ぜ合わされたカラーとアルファにそれぞれにスケールを設定できます。× 1、× 2、× 4 の 3 種類から選択できます。</p>
326    <!-- InstanceEndEditable --> </div>
327  <div class="footer" />
328</div>
329</body>
330<!-- InstanceEnd -->
331</html>
332