FineKernelToolKit: FK/RenderState.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
RenderState.h
[詳解]
1#if !defined(__FK_RENDER_STATE_HEADER__)
2#define __FK_RENDER_STATE_HEADER__
3
4namespace FK {
6 enum class fk_BlendMode {
7 ALPHA,
8 NEGATIVE,
9 ADDITION,
10 SCREEN,
11 LIGHTEN,
12 MULTIPLY,
13 NONE,
14 CUSTOM,
15 };
16
18 enum class fk_BlendFactor {
19 ZERO,
20 ONE,
21 SRC_COLOR,
22 ONE_MINUS_SRC_COLOR,
23 DST_COLOR,
24 ONE_MINUS_DST_COLOR,
25 SRC_ALPHA,
26 ONE_MINUS_SRC_ALPHA,
27 DST_ALPHA,
28 ONE_MINUS_DST_ALPHA,
29 };
30
32 enum class fk_DepthMode : unsigned int {
33 NO_USE = 0,
34 READ = 1,
35 WRITE = 2,
36 READ_AND_WRITE = READ | WRITE,
37 };
38
40 fk_DepthMode operator | (fk_DepthMode argL, fk_DepthMode argR);
41
43 fk_DepthMode operator & (fk_DepthMode argL, fk_DepthMode argR);
44
46 fk_DepthMode operator ^ (fk_DepthMode argL, fk_DepthMode argR);
47}
48
49#endif // __FK_RENDER_STATE_HEADER__
50
51/****************************************************************************
52 *
53 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
54 *
55 * Redistribution and use in source and binary forms,
56 * with or without modification, are permitted provided that the
57 * following conditions are met:
58 *
59 * - Redistributions of source code must retain the above
60 * copyright notice, this list of conditions and the
61 * following disclaimer.
62 *
63 * - Redistributions in binary form must reproduce the above
64 * copyright notice, this list of conditions and the
65 * following disclaimer in the documentation and/or
66 * other materials provided with the distribution.
67 *
68 * - Neither the name of the copyright holders nor the names
69 * of its contributors may be used to endorse or promote
70 * products derived from this software without specific
71 * prior written permission.
72 *
73 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
74 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
75 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
76 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
77 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
78 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
79 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
80 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
81 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
82 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
83 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
84 * POSSIBILITY OF SUCH DAMAGE.
85 *
86 ****************************************************************************/
87/****************************************************************************
88 *
89 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
90 *
91 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
92 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
93 *
94 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
95 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
96 *
97 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
98 * および下記免責条項を含めること。
99 *
100 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
101 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
102 * 含めること。
103 *
104 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
105 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
106 * コントリビューターの名前を使用してはならない。
107 *
108 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
109 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
110 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
111 * に限定されない、いかなる保証もないものとします。著作権者もコン
112 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
113 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
114 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
115 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
116 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
117 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
118 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
119 * ついて、一切責任を負わないものとします。
120 *
121 ****************************************************************************/
FK
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
FK::fk_DepthMode
fk_DepthMode
デプス読み書きモード列挙型
Definition RenderState.h:32
FK::fk_DepthMode::NO_USE
@ NO_USE
デプスバッファの参照も更新せず、常に上書きします
Definition RenderState.h:33
FK::fk_DepthMode::READ
@ READ
デプスバッファを参照し、前後関係のチェックを行います
Definition RenderState.h:34
FK::fk_DepthMode::WRITE
@ WRITE
デプスバッファに書き込みを行い、更新します
Definition RenderState.h:35
FK::fk_DepthMode::READ_AND_WRITE
@ READ_AND_WRITE
デプスバッファの参照と書き込みを共に行います(初期値)
Definition RenderState.h:36
FK::operator|
fk_Draw operator|(fk_Draw, fk_Draw)
描画モード用ビット論理和演算子
FK::fk_BoundaryMode::NONE
@ NONE
未定義境界
Definition Boundary.h:19
FK::fk_BlendMode
fk_BlendMode
ブレンドモード列挙型
Definition RenderState.h:6
FK::fk_BlendMode::ALPHA
@ ALPHA
アルファブレンド(デフォルト)
Definition RenderState.h:7
FK::fk_BlendMode::MULTIPLY
@ MULTIPLY
乗算
Definition RenderState.h:12
FK::fk_BlendMode::NEGATIVE
@ NEGATIVE
反転
Definition RenderState.h:8
FK::fk_BlendMode::CUSTOM
@ CUSTOM
カスタム
Definition RenderState.h:14
FK::fk_BlendMode::LIGHTEN
@ LIGHTEN
比較(明)
Definition RenderState.h:11
FK::fk_BlendMode::ADDITION
@ ADDITION
加算
Definition RenderState.h:9
FK::fk_BlendMode::SCREEN
@ SCREEN
スクリーン
Definition RenderState.h:10
FK::fk_BlendFactor
fk_BlendFactor
ブレンド係数列挙型
Definition RenderState.h:18
FK::fk_BlendFactor::SRC_COLOR
@ SRC_COLOR
Sr,Sg,Sb
Definition RenderState.h:21
FK::fk_BlendFactor::DST_COLOR
@ DST_COLOR
Dr,Dg,Db
Definition RenderState.h:23
FK::fk_BlendFactor::ZERO
@ ZERO
0
Definition RenderState.h:19
FK::fk_BlendFactor::DST_ALPHA
@ DST_ALPHA
Da
Definition RenderState.h:27
FK::fk_BlendFactor::ONE_MINUS_SRC_ALPHA
@ ONE_MINUS_SRC_ALPHA
1-Sa
Definition RenderState.h:26
FK::fk_BlendFactor::ONE_MINUS_DST_ALPHA
@ ONE_MINUS_DST_ALPHA
1-Da
Definition RenderState.h:28
FK::fk_BlendFactor::SRC_ALPHA
@ SRC_ALPHA
Sa
Definition RenderState.h:25
FK::fk_BlendFactor::ONE
@ ONE
1
Definition RenderState.h:20
FK::fk_BlendFactor::ONE_MINUS_DST_COLOR
@ ONE_MINUS_DST_COLOR
1-Dr,Dg,Db
Definition RenderState.h:24
FK::fk_BlendFactor::ONE_MINUS_SRC_COLOR
@ ONE_MINUS_SRC_COLOR
1-Sr,Sg,Sb
Definition RenderState.h:22
FK::operator&
fk_Draw operator&(fk_Draw, fk_Draw)
描画モード用ビット論理積演算子
FK::operator^
fk_Draw operator^(fk_Draw, fk_Draw)
描画モード用ビット XOR 演算子