ランタイム: Mix/Scene/ISkyDome.h Source File

ランタイム

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

ISkyDome.h
Go to the documentation of this file.
1 #pragma once
2
5
6 #include "Mix/Scene/IRendererObject.h"
7
8 namespace Mix{ namespace Scene{
9
12 class ISkyDome : public Mix::Scene::IRendererObject
13 {
14 public:
17 enum QUALITY
18 {
19 QL_LOW = 0,
20 QL_MIDDLE = 1,
21 QL_HIGH = 2,
22 };
23
26 enum CONSTRAINT_TYPE
27 {
28 CR_XYZ = 0,
29 CR_XZ = 1,
30 };
31
34 struct HEMISPHERE_SETTINGS
35 {
36 Float32 radius;
37 Float32 height;
38 };
39
42 struct PLANET_INFO
43 {
44 Float32 innerRadius;
45 Float32 outerRadius;
46 Mix::Vector3 coreOffset;
47 };
48
51 struct BASE_SETTINGS
52 {
53 Mix::Vector4 color;
54
55 Float32 texScale;
56 Float32 texOpacity;
57 };
58
61 struct SUN_LIGHT
62 {
63 Mix::Vector3 pos;
64 Mix::Vector3 dir;
65 Float32 height;
66 };
67
70 struct CLOUD_LAYER_SETTINGS
71 {
74 Mix::Vector2 initialTex;
75
76 Mix::Vector2 vel;
77 Float32 scale;
78 Float32 opacity;
79 };
80
83 struct CLOUD_GLOBAL_SETTINGS
84 {
85 Mix::Vector4 color;
86
87 Float32 speed;
88
91 Boolean asEffect;
100 Boolean asSunLighting;
101
106 Float32 asNightness;
107
112 Float32 asCornerThreshold;
117 Float32 asDarknessStart;
122 Float32 asDarknessEnd;
123 };
124
127 struct PANORAMA_SETTINGS
128 {
129 Mix::Vector4 color;
130
131 Mix::Vector2 scale;
132 Float32 offsetY;
133 Float32 dist;
134
144 UInt32 texRepeatNum;
145 };
146
147 protected:
149 virtual ~ISkyDome( void ) {}
150
151 public:
154
157 virtual Boolean IsEnabled( void ) const = 0;
160 virtual void SetEnabled( Boolean state ) = 0;
161
164 virtual Mix::Scene::ISkyDome::CONSTRAINT_TYPE GetConstraintType( void ) const = 0;
167 virtual void SetConstraintType( Mix::Scene::ISkyDome::CONSTRAINT_TYPE type ) = 0;
168
171 virtual Mix::Scene::ISkyDome::QUALITY GetHemisphereQuality( void ) const = 0;
174 virtual const Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS& GetHemisphereSettings( void ) const = 0;
177 virtual void SetHemisphereSettings( const Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS& settings ) = 0;
178
182 virtual const Mix::Scene::ISkyDome::PLANET_INFO& GetPlanetInfo( void ) const = 0;
183
185
188
191 virtual const Mix::Vector3& GetSunPosition( void ) const = 0;
197 virtual void SetSunPosition( const Mix::Vector3& pos ) = 0;
198
201 virtual const Mix::Scene::ISkyDome::SUN_LIGHT& GetSunLight( void ) const = 0;
202
204
207
210 virtual const Mix::Scene::ISkyDome::BASE_SETTINGS& GetBaseSettings( void ) const = 0;
213 virtual void SetBaseSettings( const Mix::Scene::ISkyDome::BASE_SETTINGS& settings ) = 0;
218 virtual Boolean GetBaseTexture( Mix::Graphics::ITexture** ppTexture ) = 0;
222 virtual void SetBaseTexture( Mix::Graphics::ITexture* pTexture ) = 0;
223
225
228
231 virtual Boolean IsCloudEnabled( void ) const = 0;
234 virtual void SetCloudEnabled( Boolean state ) = 0;
237 virtual UInt32 GetCloudLayerNum( void ) const = 0;
242 virtual Boolean GetCloudLayerTexture( UInt32 layerIndex, Mix::Graphics::ITexture** ppTex ) = 0;
247 virtual Boolean SetCloudLayerTexture( UInt32 layerIndex, Mix::Graphics::ITexture* pTex ) = 0;
251 virtual const Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS& GetCloudLayerSettings( UInt32 layerIndex ) const = 0;
256 virtual UInt32 SetCloudLayerSettings( const Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS* settings, UInt32 num ) = 0;
262 virtual UInt32 LockCloudLayerSettings( Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS** settings, UInt32 num ) = 0;
265 virtual const Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS& GetCloudGlobalSettings( void ) const = 0;
268 virtual void SetCloudGlobalSettings( const Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS& settings ) = 0;
271 virtual void ResetCloud( void ) = 0;
272
274
277
280 virtual Boolean ExistsPanorama( void ) const = 0;
283 virtual Mix::Scene::ISkyDome::QUALITY GetPanoramaQuality( void ) const = 0;
286 virtual Boolean IsPanoramaEnabled( void ) const = 0;
289 virtual void SetPanoramaEnabled( Boolean state ) = 0;
292 virtual const Mix::Scene::ISkyDome::PANORAMA_SETTINGS& GetPanoramaSettings( void ) const = 0;
295 virtual void SetPanoramaSettings( const Mix::Scene::ISkyDome::PANORAMA_SETTINGS& settings ) = 0;
299 virtual Boolean GetPanoramaTexture( Mix::Graphics::ITexture** ppTex ) = 0;
302 virtual void SetPanoramaTexture( Mix::Graphics::ITexture* pTex ) = 0;
305 virtual Mix::Vector2 GetPanoramaTextureAspectRatio( void ) const = 0;
306
308 };
309
310 }}
Mix::Scene::ISkyDome::QL_LOW
低 : ドーム( 10分割 ) 遠景( 6分割 )
Definition: ISkyDome.h:19
Mix::Scene::ISkyDome::IsCloudEnabled
virtual Boolean IsCloudEnabled(void) const =0
雲が有効かどうかを確認します
Mix::Scene::ISkyDome::SetCloudLayerTexture
virtual Boolean SetCloudLayerTexture(UInt32 layerIndex, Mix::Graphics::ITexture *pTex)=0
雲のレイヤーテクスチャを設定します
Mix::Vector3
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
Mix::Scene::ISkyDome::SUN_LIGHT::height
Float32 height
光源の高度( COS値 )
Definition: ISkyDome.h:65
Mix::Scene::ISkyDome::PLANET_INFO::coreOffset
Mix::Vector3 coreOffset
惑星の中心座標のオフセット
Definition: ISkyDome.h:46
Mix::Scene::ISkyDome::GetCloudGlobalSettings
virtual const Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS & GetCloudGlobalSettings(void) const =0
雲のグローバル設定を取得します
Mix::Scene::ISkyDome::PANORAMA_SETTINGS::offsetY
Float32 offsetY
Y方向のオフセット
Definition: ISkyDome.h:132
Mix::Scene::ISkyDome::LockCloudLayerSettings
virtual UInt32 LockCloudLayerSettings(Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS **settings, UInt32 num)=0
雲のレイヤー設定をロックします
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::color
Mix::Vector4 color
色
Definition: ISkyDome.h:85
Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS::opacity
Float32 opacity
不透明度( 0.0f以上 )
Definition: ISkyDome.h:78
Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS::height
Float32 height
地表から空への高さ
Definition: ISkyDome.h:37
Mix::Scene::ISkyDome::ExistsPanorama
virtual Boolean ExistsPanorama(void) const =0
遠景が存在しているかどうかを確認します
Mix::Scene::ISkyDome::CR_XZ
XZ固定
Definition: ISkyDome.h:29
Mix::Scene::ISkyDome::SetPanoramaEnabled
virtual void SetPanoramaEnabled(Boolean state)=0
遠景を有効にするかどうかを設定します
Mix::Scene::ISkyDome::BASE_SETTINGS::texOpacity
Float32 texOpacity
テクスチャの不透明度( 0.0f 以上 )
Definition: ISkyDome.h:56
Mix::Scene::ISkyDome::GetCloudLayerSettings
virtual const Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS & GetCloudLayerSettings(UInt32 layerIndex) const =0
雲のレイヤーの設定を取得します
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::asSunLighting
Boolean asSunLighting
太陽によるライティングを行う場合は True
Definition: ISkyDome.h:100
Mix::Graphics::ITexture
テクスチャインターフェース
Definition: ITexture.h:12
Mix::Scene::ISkyDome::SetSunPosition
virtual void SetSunPosition(const Mix::Vector3 &pos)=0
太陽の位置を設定します
Mix::Scene::ISkyDome::QL_HIGH
高 : ドーム( 30分割 ) 遠景( 12分割 )
Definition: ISkyDome.h:21
Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS::radius
Float32 radius
水平線の半径
Definition: ISkyDome.h:36
Mix::Scene::ISkyDome::QL_MIDDLE
中 : ドーム( 20分割 ) 遠景( 8分割 )
Definition: ISkyDome.h:20
Mix::Scene::IRendererObject
レンダラーオブジェクトインターフェースインクルードファイル
Definition: IRendererObject.h:12
Mix::Scene::ISkyDome::IsEnabled
virtual Boolean IsEnabled(void) const =0
有効かどうかを取得します
Mix::Scene::ISkyDome::SUN_LIGHT::pos
Mix::Vector3 pos
光源の位置( ワールド座標 )
Definition: ISkyDome.h:63
Mix::Scene::ISkyDome::GetPanoramaSettings
virtual const Mix::Scene::ISkyDome::PANORAMA_SETTINGS & GetPanoramaSettings(void) const =0
遠景の設定を取得します
Mix::Scene::ISkyDome::IsPanoramaEnabled
virtual Boolean IsPanoramaEnabled(void) const =0
遠景が有効かどうかを取得します
Mix::Scene::ISkyDome::SetCloudLayerSettings
virtual UInt32 SetCloudLayerSettings(const Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS *settings, UInt32 num)=0
雲のレイヤーを設定します
Mix::Scene::ISkyDome::GetCloudLayerNum
virtual UInt32 GetCloudLayerNum(void) const =0
雲のレイヤー数を取得します
Mix::Scene::ISkyDome::GetHemisphereQuality
virtual Mix::Scene::ISkyDome::QUALITY GetHemisphereQuality(void) const =0
半球の品質を取得します
Mix::Scene::ISkyDome::SetEnabled
virtual void SetEnabled(Boolean state)=0
有効にするかどうかを設定します
Mix::Scene::ISkyDome::GetCloudLayerTexture
virtual Boolean GetCloudLayerTexture(UInt32 layerIndex, Mix::Graphics::ITexture **ppTex)=0
雲のレイヤーテクスチャを取得します
Mix::Scene::ISkyDome::SetConstraintType
virtual void SetConstraintType(Mix::Scene::ISkyDome::CONSTRAINT_TYPE type)=0
拘束タイプを設定します
Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS::scale
Float32 scale
スカイドームに貼り付ける際のＵＶ座標のスケール( 0.0f以上 )
Definition: ISkyDome.h:77
Mix::Scene::ISkyDome::PANORAMA_SETTINGS
遠景設定構造体
Definition: ISkyDome.h:127
UInt32
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
Mix::Scene::ISkyDome::PLANET_INFO::outerRadius
Float32 outerRadius
外側の半径( 大気を含む )
Definition: ISkyDome.h:45
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::speed
Float32 speed
スピード
Definition: ISkyDome.h:87
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::asDarknessEnd
Float32 asDarknessEnd
光が遮断されている部分の暗さの終了値( asDarknessStart〜1.0f )
Definition: ISkyDome.h:122
Mix::Scene::ISkyDome::GetBaseSettings
virtual const Mix::Scene::ISkyDome::BASE_SETTINGS & GetBaseSettings(void) const =0
ベースの設定を取得します
Mix::Scene::ISkyDome::GetPanoramaTexture
virtual Boolean GetPanoramaTexture(Mix::Graphics::ITexture **ppTex)=0
遠景のテクスチャを取得します
Mix::Scene::ISkyDome::BASE_SETTINGS::color
Mix::Vector4 color
色
Definition: ISkyDome.h:53
Mix::Scene::ISkyDome::GetPanoramaTextureAspectRatio
virtual Mix::Vector2 GetPanoramaTextureAspectRatio(void) const =0
現在設定されている遠景のパラメータに基づいて、テクスチャのアスペクト比を取得します ...
Mix::Scene::ISkyDome::CONSTRAINT_TYPE
CONSTRAINT_TYPE
コンストレイントタイプ
Definition: ISkyDome.h:26
Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS::initialTex
Mix::Vector2 initialTex
最初のテクスチャ座標
Definition: ISkyDome.h:74
Mix::Scene::ISkyDome::PANORAMA_SETTINGS::texRepeatNum
UInt32 texRepeatNum
テクスチャの横方向へのリピート数
Definition: ISkyDome.h:144
Mix::Scene::ISkyDome::~ISkyDome
virtual ~ISkyDome(void)
デストラクタ
Definition: ISkyDome.h:149
Mix::Scene::ISkyDome::SetCloudEnabled
virtual void SetCloudEnabled(Boolean state)=0
雲を有効にするかどうかを設定します
Mix::Scene::ISkyDome::BASE_SETTINGS
基本設定構造体
Definition: ISkyDome.h:51
Mix::Scene::ISkyDome
スカイドームインターフェース
Definition: ISkyDome.h:12
Mix::Scene::ISkyDome::GetSunLight
virtual const Mix::Scene::ISkyDome::SUN_LIGHT & GetSunLight(void) const =0
太陽によるライティングを取得します
Mix::Scene::ISkyDome::SUN_LIGHT::dir
Mix::Vector3 dir
照らしている方向
Definition: ISkyDome.h:64
Mix
ミックス
Definition: AtomicValue.h:6
Mix::Scene::ISkyDome::GetBaseTexture
virtual Boolean GetBaseTexture(Mix::Graphics::ITexture **ppTexture)=0
ベースのテクスチャを取得します
Mix::Scene::ISkyDome::SetBaseSettings
virtual void SetBaseSettings(const Mix::Scene::ISkyDome::BASE_SETTINGS &settings)=0
ベースを設定します
Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS
雲レイヤーパラメータ構造体
Definition: ISkyDome.h:70
Mix::Scene::ISkyDome::PLANET_INFO::innerRadius
Float32 innerRadius
内側の半径( 地表 )
Definition: ISkyDome.h:44
Mix::Vector2
2次元浮動小数点ベクトルクラス
Definition: Vector2.h:12
IRendererObject.h
レンダラーオブジェクトインターフェースインクルードファイル
Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS
半球設定構造体
Definition: ISkyDome.h:34
Mix::Scene::ISkyDome::PANORAMA_SETTINGS::color
Mix::Vector4 color
色
Definition: ISkyDome.h:129
Mix::Scene::ISkyDome::GetSunPosition
virtual const Mix::Vector3 & GetSunPosition(void) const =0
太陽の位置を取得します
Mix::Scene::ISkyDome::CLOUD_LAYER_SETTINGS::vel
Mix::Vector2 vel
毎秒の移動速度
Definition: ISkyDome.h:76
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::asCornerThreshold
Float32 asCornerThreshold
隅の閾値( 0.0f〜1.0f )
Definition: ISkyDome.h:112
Mix::Scene::ISkyDome::GetHemisphereSettings
virtual const Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS & GetHemisphereSettings(void) const =0
半球の設定を取得します
Float32
float Float32
32ビット浮動小数点
Definition: Common.h:83
Mix::Scene::ISkyDome::CR_XYZ
XYZ固定
Definition: ISkyDome.h:28
Mix::Scene::ISkyDome::SetPanoramaTexture
virtual void SetPanoramaTexture(Mix::Graphics::ITexture *pTex)=0
遠景のテクスチャを設定します
Mix::Scene::ISkyDome::SetCloudGlobalSettings
virtual void SetCloudGlobalSettings(const Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS &settings)=0
雲のグローバル設定をします
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::asEffect
Boolean asEffect
大気散乱シミュレーションの影響を受ける場合は True
Definition: ISkyDome.h:91
Mix::Scene::ISkyDome::GetPlanetInfo
virtual const Mix::Scene::ISkyDome::PLANET_INFO & GetPlanetInfo(void) const =0
惑星の情報を取得します
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::asNightness
Float32 asNightness
夜の雲の暗さ( 0.0f〜1.0f )
Definition: ISkyDome.h:106
Mix::Scene::ISkyDome::PLANET_INFO
惑星情報構造体
Definition: ISkyDome.h:42
Mix::Scene::ISkyDome::ResetCloud
virtual void ResetCloud(void)=0
雲をリセットします
Mix::Vector4
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
Mix::Scene::ISkyDome::SetBaseTexture
virtual void SetBaseTexture(Mix::Graphics::ITexture *pTexture)=0
ベースのテクスチャを設定します
Mix::Scene::ISkyDome::QUALITY
QUALITY
品質列挙定数
Definition: ISkyDome.h:17
Mix::Scene::ISkyDome::SetPanoramaSettings
virtual void SetPanoramaSettings(const Mix::Scene::ISkyDome::PANORAMA_SETTINGS &settings)=0
遠景を設定します
Mix::Scene::ISkyDome::BASE_SETTINGS::texScale
Float32 texScale
テクスチャのスケール( 0.0f 以上 )
Definition: ISkyDome.h:55
Mix::Scene::ISkyDome::GetConstraintType
virtual Mix::Scene::ISkyDome::CONSTRAINT_TYPE GetConstraintType(void) const =0
拘束タイプを取得します
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS
雲グローバル設定構造体
Definition: ISkyDome.h:83
Mix::Scene::ISkyDome::SUN_LIGHT
サンライト構造体
Definition: ISkyDome.h:61
Mix::Scene::ISkyDome::SetHemisphereSettings
virtual void SetHemisphereSettings(const Mix::Scene::ISkyDome::HEMISPHERE_SETTINGS &settings)=0
半球を設定します
Mix::Scene::ISkyDome::CLOUD_GLOBAL_SETTINGS::asDarknessStart
Float32 asDarknessStart
光が遮断されている部分の暗さの開始値( 0.0f〜1.0f )
Definition: ISkyDome.h:117
Boolean
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
Mix::Scene::ISkyDome::GetPanoramaQuality
virtual Mix::Scene::ISkyDome::QUALITY GetPanoramaQuality(void) const =0
遠景の品質を取得します
Mix::Scene::ISkyDome::PANORAMA_SETTINGS::scale
Mix::Vector2 scale
スケール
Definition: ISkyDome.h:131
Mix::Scene::ISkyDome::PANORAMA_SETTINGS::dist
Float32 dist
距離( フォグのかかり具合に影響します )
Definition: ISkyDome.h:133