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