OROCHI
 
Loading...
Searching...
No Matches
GxUnitLightSpotBase Class Reference

スポットライト基礎クラス More...

#include <GxUnitLightBase.h>

Inheritance diagram for GxUnitLightSpotBase:
Collaboration diagram for GxUnitLightSpotBase:

Public Member Functions

操作
void updateWorldMatrix (void) override
 ワールドマトリクスの更新
 
アクセサ
GX_FORCE_INLINE void getPropertyOuterAngleDegree (void *const pValue)
 外側の角度取得
 
GX_FORCE_INLINE void setPropertyOuterAngleDegree (const void *const pValue)
 外側の角度設定
 
GX_FORCE_INLINE void getPropertyInnerAngleDegree (void *const pValue)
 内側の角度取得
 
GX_FORCE_INLINE void setPropertyInnerAngleDegree (const void *const pValue)
 内側の角度設定
 
constexpr f32 getOuterAngle (void) const
 外側の円錐の角度を取得
 
constexpr void setOuterAngle (f32 radian)
 外側の円錐の角度を設定
 
constexpr f32 getInnerAngle (void) const
 内側の円錐の角度を取得
 
constexpr void setInnerAngle (f32 radian)
 内側の円錐の角度を設定
 
GX_FORCE_INLINE const GxVector3getLightVector (void) const
 ライトベクトルを取得
 
void setLightVector (const GxVector3 &lightVector)
 ライトベクトルを設定
 
- Public Member Functions inherited from GxUnitLightBase
GX_FORCE_INLINE b32 isLightEnable (void) const
 ライト有効/無効を取得
 
GX_FORCE_INLINE void setLightEnable (b32 enable)
 ライト有効/無効を設定
 
constexpr TYPE getType (void) const
 タイプを取得
 
constexpr u32 getGroup (void) const
 グループを取得
 
constexpr void setGroup (u32 group)
 グループを設定
 
constexpr f32 getRange (void) const
 効果範囲を取得
 
virtual GX_FORCE_INLINE const GxColorHDRgetColor (void) const
 カラーを取得
 
GX_FORCE_INLINE void setColor (const GxColorHDR &color)
 カラーを設定
 
constexpr u32 getPriority (void) const
 優先度を取得
 
constexpr void setPriority (u32 priority)
 優先度を設定
 
- Public Member Functions inherited from GxUnitLocate
 GxUnitLocate (void)
 コンストラクタ
 
void cleanup (void) override
 delete直前に呼び出される関数
 
GX_FORCE_INLINE const GxMatrixAffinegetWorldMatrix (void) const
 ワールドマトリクスの取得
 
void getWorldMatrix (GxMatrixAffine &matrix) const
 ワールドマトリクスの取得(再計算を行う)
 
GX_FORCE_INLINE void setWorldMatrix (const GxMatrixAffine &matrix)
 ワールドマトリクスの設定
 
GX_FORCE_INLINE GxMatrixAffinegetWorldMatrixAddress (void)
 ワールドマトリクスアドレスの取得
 
GX_FORCE_INLINE const GxVector3getPosition (void) const
 位置の取得
 
virtual GX_FORCE_INLINE void setPosition (const GxVector3 &position)
 位置の設定
 
GX_FORCE_INLINE const GxVector3getLocalPosition (void) const
 ローカル位置の取得
 
virtual GX_FORCE_INLINE void setLocalPosition (const GxVector3 &position)
 ローカル位置の設定
 
GX_FORCE_INLINE GxQuaternion getQuaternion (void) const
 回転値の取得
 
GX_FORCE_INLINE void setQuaternion (const GxQuaternion &quaternion)
 回転値の設定
 
GX_FORCE_INLINE const GxQuaterniongetLocalQuaternion (void) const
 ローカル回転値の取得
 
GX_FORCE_INLINE void setLocalQuaternion (const GxQuaternion &quaternion)
 ローカル回転値の設定
 
GX_FORCE_INLINE GxVector3 getScale (void) const
 拡縮率の取得
 
virtual GX_FORCE_INLINE void setScale (const GxVector3 &scale)
 拡縮率の設定
 
GX_FORCE_INLINE const GxVector3getLocalScale (void) const
 ローカル拡縮率の取得
 
virtual GX_FORCE_INLINE void setLocalScale (const GxVector3 &scale)
 ローカル拡縮率の設定
 
GX_FORCE_INLINE const GxShapeSpheregetBoundingSphere (void) const
 バウンディング球を取得
 
GX_FORCE_INLINE void setBoundingSphere (const GxShapeSphere &sphere)
 バウンディング球を設定
 
void getBoundingSphereWorld (GxShapeSphere &sphere) const
 ワールド座標のバウンディング球の取得
 
GX_FORCE_INLINE b32 isCulling (RENDER_VIEW view, u32 subView) const
 カリングされているか判定
 
GX_FORCE_INLINE b32 isCullingEnable (void) const
 カリングが有効かを取得
 
GX_FORCE_INLINE void setCullingEnable (b32 flag)
 カリングの有効設定
 
GX_FORCE_INLINE b32 enabledHierarchicalCulling (void) const
 階層カリングを有効にするオブジェクトかどうか?
 
GX_FORCE_INLINE void setHierarchicalCulling (b32 flag)
 階層カリングを有効にするかどうか?を設定(規定値は無効
 
GX_FORCE_INLINE b32 isDoneHierarchicalCulling (void) const
 階層カリングが既に行われた後かどうか?を判断する
 
GX_FORCE_INLINE void doneHierarchicalCulling (b32 flag)
 階層カリングを既に行ったかどうか?を設定する
 
constexpr u32 getCullingState (void) const
 カリングの結果のフラスタムの内外ステータスを取得する。
 
constexpr void setCullingState (u32 flag)
 カリングの結果のフラスタムの内外ステータスを保持する。
 
constexpr void clearCullingState (void)
 カリングの結果のフラスタムの内外ステータスを保持する。
 
GX_FORCE_INLINE b32 isMovable (MOVABLE movable) const
 可動性を判定
 
void setMovable (MOVABLE movable)
 可動性を設定
 
GX_FORCE_INLINE b32 isDirtyMovable (void) const
 可動性の変更を判定
 
GX_FORCE_INLINE void setDirtyMovable (b32 enable)
 可動性の変更を設定
 
void kill (void) override
 消去リクエスト
 
virtual void frustumCulling (void *pFrustum)
 カリングを実行
 
virtual void forceSetCullingFlag (u32 argument)
 オブジェクトのカリングフラグを強制設定
 
virtual void buildSpaceGraph (void *pOctree)
 空間木に追加
 
virtual void eraseSpaceGraph (void *pOctree)
 空間木から削除
 
virtual GX_FORCE_INLINE void updateLocalMatrix (void)
 ローカルマトリクスの更新
 
void addX (f32 value)
 X軸方向に移動
 
void addY (f32 value)
 Y軸方向に移動
 
void addZ (f32 value)
 Z軸方向に移動
 
void addPosition (const GxVector3 &moveVector)
 指定方向に移動
 
void addQuaternion (const GxQuaternion &quaternion)
 クウォータニオン加算
 
void rotateAxisY (const GxVector3 &vector, f32 radian)
 Y軸を回転軸として、ワールドのZ軸を指定方向に回転
 
void rotateAxisZ (const GxVector3 &vector, f32 radian)
 Z軸を回転軸として、ワールドのY軸を指定方向に回転
 
b32 isAbleAddToOctree (void)
 8分木に登録可能か判定
 
b32 isAbleDeleteFromOctree (void)
 8分木から削除可能か判定
 
- Public Member Functions inherited from GxUnitBase
 GxUnitBase (void)
 コンストラクタ
 
constexpr f32 getDeltaTimeFactor (void) const
 デルタタイム係数を取得
 
constexpr void setDeltaTimeFactor (f32 deltaTimeFactor)
 デルタタイム係数を設定
 
constexpr f32 getDeltaTime (void) const
 デルタタイムを取得
 
constexpr void setDeltaTime (f32 deltaTime)
 デルタタイムを設定
 
constexpr f32 getDeltaTimeRatio (void) const
 デルタタイムレート(通常のフレームレートの何倍か)を取得
 
constexpr void setDeltaTimeRatio (f32 deltaTimeRatio)
 デルタタイムレート(通常のフレームレートの何倍か)を設定
 
constexpr STATE getState (void) const
 状態を取得
 
constexpr void setState (STATE state)
 状態を設定(ユーザーは使用してはならない内部使用)
 
GX_FORCE_INLINE b32 isEnable (void) const
 有効か判定
 
constexpr u32 getAttribute (void) const
 属性を取得
 
GX_FORCE_INLINE b32 isAttribute (ATTRIBUTE attribute) const
 属性を判定
 
GX_FORCE_INLINE void setAttribute (ATTRIBUTE attribute, b32 enable)
 属性を設定
 
GX_FORCE_INLINE b32 isRender (void) const
 描画フラグ判定
 
void setRender (b32 enable, b32 withChildren=false)
 描画フラグを設定
 
GX_FORCE_INLINE GxFlag32Index< RENDER_VIEWgetRenderViewFlag (void) const
 描画するビューフラグを取得
 
GX_FORCE_INLINE b32 isRenderView (RENDER_VIEW view) const
 描画するビューを判定
 
GX_FORCE_INLINE void setRenderView (RENDER_VIEW view, b32 enable)
 描画するビューを設定
 
GX_FORCE_INLINE b32 isRenderSubView (RENDER_SUB_VIEW subView) const
 描画するサブビューを判定
 
GX_FORCE_INLINE void setRenderSubView (RENDER_SUB_VIEW subView, b32 enable)
 描画するサブビューを設定
 
GX_FORCE_INLINE b32 isUpdateEnable (UPDATE_TYPE updateType) const
 更新を呼ぶかを判定
 
GX_FORCE_INLINE void setUpdateEnable (UPDATE_TYPE updateType, b32 enable)
 更新を呼ぶかを設定
 
GX_FORCE_INLINE void getPropertyAttributeUpdate (void *const pValue)
 プロパティ用:更新処理の属性を取得
 
GX_FORCE_INLINE void setPropertyAttributeUpdate (const void *const pValue)
 プロパティ用:更新処理の属性を設定
 
template<typename T >
T * getModule (void) const
 モジュールを取得
 
constexpr u32 getChildCount (void) const
 子ユニット数を取得
 
constexpr GxUnitBasegetChild (u32 index) const
 子ユニットを取得
 
constexpr GxUnitBasegetParent (void) const
 親ユニットを取得
 
void setParent (GxUnitBase *pParent)
 親ユニットを設定
 
constexpr GxResUnitInstancegetResUnitInstance (void) const
 ユニットインスタンスリソースを取得
 
void setResUnitInstance (GxResUnitInstance *pResUnitInstance)
 ユニットインスタンスリソースを設定
 
constexpr void getPropertyResUnitInstance (void *const pValue)
 ユニットインスタンスリソースプロパティの取得
 
void setPropertyResUnitInstance (const void *const pValue)
 ユニットインスタンスリソースプロパティの設定
 
GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void) override
 デフォルトオブジェクトを取得
 
constexpr GxUnitBasegetDefaultUnit (void) const
 デフォルトユニットを取得
 
void setDefaultUnit (GxUnitBase *pDefaultUnit)
 デフォルトユニットを設定
 
void sleep (f32 time)
 スリープ(スクリプト用)
 
template<typename T >
T * createAndAddChild (u32 listProcessNumber=U32_MAX, u32 listKindNumber=U32_MAX, b32 isSerialize=false, const GxRtti *pRtti=nullptr)
 子ユニットを追加作成
 
- Public Member Functions inherited from GxClassBaseReference
 GxClassBaseReference (void)
 コンストラクタ
 
 GxClassBaseReference (const GxClassBaseReference &base)
 コピーコンストラクタ
 
 ~GxClassBaseReference (void) override
 デストラクタ
 
constexpr GxClassBaseReferenceoperator= (const GxClassBaseReference &base)
 代入演算子
 
virtual s32 addReference (void)
 参照カウンタを加算
 
virtual s32 release (void)
 解放
 
virtual s32 getReferenceCount (void) const
 参照カウンタを取得
 
constexpr void setDelayReleaseCount (s32 count)
 遅延解放カウンタを設定
 
void setDelayReleaseCountInfinity (b32 on)
 無限解放待ちの設定
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Protected Member Functions

初期化
 GxUnitLightSpotBase (void)
 デフォルトコンストラクタ
 
- Protected Member Functions inherited from GxUnitLightBase
 GxUnitLightBase (void)
 デフォルトコンストラクタ
 
constexpr void setType (TYPE type)
 タイプを設定
 
constexpr void setRange (f32 range)
 効果範囲を設定
 
- Protected Member Functions inherited from GxUnitLocate
virtual void updateSpaceGraph (GxOtFrustumCulling *pOctree)
 
b32 setup (void) override
 初期化
 
void preAsyncUpdate (void) override
 並列更新(asyncUpdateの前に実行される)
 
void asyncUpdate (void) override
 並列更新
 
void forceAsyncUpdate (void) override
 強制並列更新(pause中も実行)
 
void render (void) override
 描画
 
- Protected Member Functions inherited from GxUnitBase
virtual void postAsyncUpdate (void)
 並列更新(asyncUpdateの後に実行される)
 
virtual void sequentialUpdate (void)
 逐次更新
 
virtual b32 setRenderMaterial (GxRenderMaterial *pMaterial, const GxResModel::GxMeshGroup *pMeshGroup)
 マテリアルの描画設定
 
template<typename T >
T * addModule (void)
 モジュールを作成
 
template<typename T >
void removeModule (void)
 モジュールを削除
 

Additional Inherited Members

- Public Types inherited from GxUnitLightBase
enum class  TYPE {
  UNKNOWN , DIRECTIONAL , POINT , SPOT ,
  MAX
}
 ライトタイプ More...
 
- Public Types inherited from GxUnitLocate
enum class  MOVABLE { NONE , STATIC , DYNAMIC , MAX }
 可動性定義 More...
 
enum class  CULLING_FRUSTUM {
  NORMAL , SHADOW_0 , SHADOW_1 , SHADOW_2 ,
  SHADOW_3 , POINT_SHADOW_0 , POINT_SHADOW_1 , REFLECTION ,
  POST , OTHER , MAX
}
 フラスタムカリング定義 More...
 
- Public Types inherited from GxUnitBase
enum class  STATE { SETUP , RUNNING , DELETE_ }
 状態 More...
 
enum  ATTRIBUTE {
  ATTRIBUTE_UPDATE = (1 << 0) , ATTRIBUTE_SELECTED = (1 << 1) , ATTRIBUTE_LOCK = (1 << 2) , ATTRIBUTE_SLOW = (1 << 3) ,
  ATTRIBUTE_NOSERIALIZE = (1 << 4)
}
 属性 More...
 
- Static Public Member Functions inherited from GxClassBaseReference
static void initializeDelayRelease (void)
 遅延解放リストの初期化
 
static void terminateDelayRelease (void)
 遅延解放リストの終了
 
static void updateDelayRelease (void)
 遅延解放リストの更新
 
static b32 isDelayReleaseEnable (void)
 遅延解放システムの有効判定
 
static u32 getDelayReleaseListCount (void)
 遅延解放待ちの数を取得
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxClassBaseReference
static constexpr s32 DELAY_RELEASE_COUNT_INFINITY = -1
 遅延解放の無限待ち定義
 
- Static Protected Member Functions inherited from GxUnitLocate
static CULLING_FRUSTUM getFrustumType (const RENDER_SUB_VIEW subview)
 サブビューモードからカリングフラスタムのタイプを取得
 
- Protected Attributes inherited from GxClassBaseReference
s32 _referenceCount
 参照カウンタ
 
s32 _delayReleaseCount
 遅延解放カウンタ
 

Detailed Description

スポットライト基礎クラス

Member Function Documentation

◆ setLightVector()

void GxUnitLightSpotBase::setLightVector ( const GxVector3 & lightVector)

ライトベクトルを設定

Parameters
lightVector[in] ライトベクトル
Here is the call graph for this function:

◆ updateWorldMatrix()

void GxUnitLightSpotBase::updateWorldMatrix ( void )
overridevirtual

ワールドマトリクスの更新

Reimplemented from GxUnitLocate.

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: