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

モデル基礎クラス More...

#include <GxUnitModelBase.h>

Inheritance diagram for GxUnitModelBase:
Collaboration diagram for GxUnitModelBase:

Classes

struct  GxInstanceData
 インスタンス情報 More...
 
struct  GxJoint
 関節構造体 More...
 

Public Types

定義
enum class  PASSINFO {
  NORMAL = 0 , SHADOW , POINTSHADOW , PREZ ,
  MOTIONBLUR , ENV , POLYGONLINE , MAX
}
 パス情報 More...
 
enum class  MODEL_ATTRIBUTE {
  MESH_CULLING_ENABLE , MESH_SHADOW_CULLING_ENABLE , MESH_ENVIRONMENT_CULLING_ENABLE , ORTHO_RENDER ,
  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...
 

Public Member Functions

初期化
 GxUnitModelBase (void)
 デフォルトコンストラクタ
 
void cleanup (void) override
 delete直前に呼び出される関数
 
- Public Member Functions inherited from GxUnitLocate
 GxUnitLocate (void)
 コンストラクタ
 
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
 消去リクエスト
 
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)
 デフォルトオブジェクト判定
 

メンバ変数

GxJoint_pJoint
 関節
 
GxResModel_pResModel
 モデルリソース
 
GxResMaterial ** _ppResMaterial
 マテリアルリソース
 
GxRenderMaterial_pMaterial
 マテリアル
 
GxMatrixAffine _renderViewMatrix
 描画ビューマトリクス
 
GxMatrix44 _renderProjMatrix
 描画プロジェクションマトリクス
 
GxMatrixAffineGpu_pRenderMatrix
 描画マトリクス
 
GxMatrixAffineGpu _defaultRenderMatrix
 初期描画マトリクス
 
u32 * _pPartsFlag
 パーツフラグ
 
u32 _defaultPartsFlag
 初期パーツフラグ
 
b32 _usePartsMatrixFlag
 パーツマトリクスを使用するかフラグ
 
u32 _viewNum
 フラグ確保されたビューの数
 
u32 _passNum
 フラグ確保されたパスの数
 
b32 _useJointMultiplyMatrix
 ジョイントの乗算マトリクスを使用するフラグ
 
GxMatrixAffine_pJointMultiplyMatrix
 ジョイントの乗算マトリクス
 
GxMatrixAffine _defaultJointMultiplyMatrix
 初期ジョイントの乗算マトリクス
 
u8 * _pMeshCullingFlag8 [static_cast< s32 >(RENDER_VIEW::_3D_MAX)][static_cast< s32 >(CULLING_FRUSTUM::MAX)]
 メッシュカリングフラグ
 
u8 * _pMeshCullingFlag8Buffer
 メッシュカリングフラグバッファ
 
u8 *** _pppInstanceCullingFlag8
 インスタンスカリングフラグ
 
b32 _isInstanceCullingFlag
 インスタンスカリングを有効にするか?
 
u32 * _pMeshRenderFlag
 メッシュ描画フラグ
 
u32 _defaultMeshRenderFlag
 初期メッシュ描画フラグ
 
u32 * _pInstanceShowFlag
 インスタンス表示カリングフラグ
 
GxFlag32Index< MODEL_ATTRIBUTE_modelAttribute
 属性
 
GxResModel::LOD _showLod
 表示LOD
 
GxResModel::LOD _lodMode
 LODモード
 
GxInstanceData_pInstanceDataArray
 インスタンス用の保存領域
 
GxInstanceData_pSaveInstanceDataArray
 インスタンス用の保存領域
 
u32 _reservedInstanceCount
 メモリとして確保した配列数
 
GxMatrixAffine_pPartsMatrix
 パーツのマトリクス
 
GxMatrixAffine _defaultPartsMatrix
 初期パーツのマトリクス
 
GxMatrixAffineGpu_pRenderInstanceMatrix
 インスタンスの描画マトリクス
 
GxVector4_pInstanceData
 インスタンスのオプションデータ
 
GxVector4_pRenderInstanceData
 インスタンスの描画オプションデータ
 
GxVector4 _instanceData
 インスタンスのオプションデータ
 
u32 _instanceCount
 インスタンス数
 
u32 _renderInstanceCount
 描画インスタンス数
 
GxRenderVertexDeclaration ** _ppInstanceVertexDeclaration
 インスタンス用頂点宣言
 
static b32 _isUsableShaderHandleBase = false
 シェーダーハンドル使用可能フラグ
 
static GX_HANDLE _handleProjectionMatrix = GX_INVALID_HANDLE
 射影行列ハンドル
 
static GX_HANDLE _handleWorldViewMatrix = GX_INVALID_HANDLE
 ワールドビュー行列ハンドル
 
static GX_HANDLE _handleLightParameter = GX_INVALID_HANDLE
 ライトパラメータハンドル
 
static GX_HANDLE _handleInstanceData = GX_INVALID_HANDLE
 インスタンスデータハンドル
 
static GX_HANDLE _handleInverseScale = GX_INVALID_HANDLE
 逆スケールハンドル
 
static GX_HANDLE _handleEnvironmentMapSampler = GX_INVALID_HANDLE
 環境マップサンプラーハンドル
 
static GX_HANDLE _handleCubeMapSampler = GX_INVALID_HANDLE
 キューブマップサンプラーハンドル
 

操作

void updateLocalMatrix (void) override
 ローカルマトリクスの更新
 
void updateWorldMatrix (void) override
 ワールドマトリクスの更新
 
virtual b32 setModelResource (GxResModel *pResModel)
 モデルリソースを設定する
 
virtual GX_FORCE_INLINE GxResModelgetModelResource (void) const
 モデルリソースを取得する
 
constexpr GxResMaterialgetMaterialResource (u32 index=0)
 マテリアルリソースを取得
 
void setMaterialResource (u32 index, GxResMaterial *pResMaterial)
 マテリアルリソースを設定
 
void setMaterialResourceAll (void)
 マテリアルリソースを全て0番と同じにする
 
virtual b32 recoveryMaterial (void)
 マテリアルをリソースの状態に戻す
 
void writeBackMaterial (void)
 マテリアルをリソースに書き戻す
 
GX_FORCE_INLINE void * mapPartsIndexBuffer (u32 index, u32 mappingType)
 パーツのインデックスバッファのマッピング開始
 
GX_FORCE_INLINE void unmapPartsIndexBuffer (u32 index)
 パーツのインデックスバッファのマッピング終了
 
b32 copyMaterial (void)
 マテリアルを複製する
 
void buildSpaceGraph (void *pOctree) override
 シーングラフに追加
 
void eraseSpaceGraph (void *pOctree) override
 空間木から削除
 
void frustumCulling (void *pFrustum) override
 カリング実行(スレッド呼び出し
 
void forceSetCullingFlag (u32 argument) override
 オブジェクトのカリングフラグを強制設定(スレッド呼び出し
 
b32 frustumCullingMesh (GxShapeFrustum *pFrustum, RENDER_VIEW view, CULLING_FRUSTUM frustumType)
 メッシュの視錘台カリング(旧関数
 
b32 frustumCullingInstance (GxShapeFrustum *pFrustum, RENDER_VIEW view, CULLING_FRUSTUM frustumType)
 インスタンスの視錘台カリング(旧関数
 
b32 setRenderShaderWithInfo (GxShaderPackage::GxShaderCode *pShaderCode, const GxRenderMaterial *pMaterial, PASSINFO index)
 描画シェーダと必要に応じてそのシェーダの情報のセットも行う関数
 
b32 setup (void) override
 初期化
 
void preAsyncUpdate (void) override
 並列更新(asyncUpdateの前に実行される)
 
void forceAsyncUpdate (void) override
 強制並列更新(pause中も実行)
 
void render (void) override
 描画
 
void setJointCount (u32 count)
 関節数を設定
 
virtual void setRenderMatrixCount (u32 count)
 描画マトリクス
 
void setJointMultiplyMatrixCount (u32 count)
 ジョイント乗算マトリクス
 
void setPartsFlagCount (u32 count)
 パーツフラグ数を設定
 
void setPartsMatrix (u32 count)
 パーツ用マトリクスを設定
 
void setMeshCullingFlagCount (u32 count)
 メッシュカリングフラグ数を設定
 
void setMeshRenderFlagCount (u32 count)
 メッシュ描画フラグ数を設定
 
virtual b32 renderInitialize (RENDER_VIEW view, RENDER_SUB_VIEW subView)
 描画前の初期化
 
virtual void renderMeshGroupAll (void)
 全メッシュグループの描画
 
virtual void renderMeshGroup (const GxResModel::GxMeshGroup *pMeshGroup)
 メッシュグループの描画
 
virtual void renderMesh (u32 startIndex, u32 count, const GxRenderMaterial *pMaterial, u32 instanceStartIndex, u32 instanceCount)
 メッシュの描画
 
virtual void drawIndexed (u32 startIndex, u32 count, u32 instanceStartIndex, u32 instanceCount, RENDER_PRIMITIVE_TYPE primitiveType=RENDER_PRIMITIVE_TYPE::TRIANGLE_LIST, s32 *pQueryIndex=nullptr)
 描画発行
 
virtual b32 setRenderProjectionMatrix (void)
 プロジェクションマトリクスの描画設定
 
b32 setRenderMaterial (GxRenderMaterial *pMaterial, const GxResModel::GxMeshGroup *pMeshGroup) override
 マテリアルの描画設定
 
b32 setRenderGxSLMaterial (GxRenderMaterial *pMaterial)
 GxSLマテリアルの描画設定
 
virtual b32 setRenderPass (const GxRenderMaterial *pMaterial)
 描画パス設定
 
virtual b32 setRenderState (const GxRenderMaterial *pMaterial)
 描画ステート設定
 
b32 setRenderShader (GxShaderPackage::GxShaderCode *pShaderCode, u32 *pRenderVertexShaderSize=nullptr, u32 *pRenderPixelShaderSize=nullptr)
 シェーダの描画設定
 
virtual void updateRenderMatrix (void)
 描画用マトリクスの更新
 
virtual void updateInstanceRenderMatrix (RENDER_VIEW view, RENDER_SUB_VIEW subView)
 インスタンス描画用マトリクスの更新
 
virtual void updateShowLod (const GxUnitCameraBase *pCamera)
 LOD判定
 
virtual void updateMeshRenderFlag (RENDER_VIEW view, CULLING_FRUSTUM renderSubView)
 メッシュ描画フラグ更新
 
virtual void updateInstanceCullingFlag (const GxUnitCameraBase *pCamera, RENDER_VIEW view, CULLING_FRUSTUM frustumType)
 インスタンスカリング判定
 
void setCullingAllMeshs (void)
 全てのメッシュをカリングするように設定する
 
void clearMeshCullingFlag (const RENDER_VIEW &view, const CULLING_FRUSTUM &frustumType)
 メッシュカリングフラグをクリア
 
GX_FORCE_INLINE void clearMeshRenderFlag (void)
 メッシュ描画フラグをクリア
 
void setCullingAllInstances (RENDER_VIEW view, CULLING_FRUSTUM pass)
 全てのメッシュをカリングするように設定
 
void clearInstanceCullingFlag (RENDER_VIEW view, CULLING_FRUSTUM pass)
 インスタンスカリングフラグをクリア
 
void loadShaderHandlesBase (void)
 シェーダハンドルを全部読み込む(GxUnitModelBase用)
 
static s32 commitVertexBufferData (void *pSource, void *pArgument)
 頂点バッファの内容を更新
 

アクセサ

virtual GX_FORCE_INLINE u32 getJointCount (void) const
 関節数を取得
 
GxJointgetJointFromIndex (u32 index) const
 関節インデックスを取得
 
GxJointgetJointFromId (u32 id) const
 関節を取得(ID指定)
 
u32 getJointIndexFromId (u32 id) const
 関節IDからINDEXを取得
 
GX_FORCE_INLINE u32 getPartsFlagCount (void) const
 パーツフラグ数を取得
 
GX_FORCE_INLINE b32 isPartsFlag (u32 index) const
 パーツフラグを取得
 
GX_FORCE_INLINE void setPartsFlag (u32 index, b32 enable)
 パーツフラグを設定
 
GX_FORCE_INLINE s32 getPartsIndex (GX_CSTR partsName) const
 パーツインデックスを取得
 
GX_FORCE_INLINE b32 isUsePartsMatrix (void)
 パーツマトリクスを使用するか判定
 
GX_FORCE_INLINE void setUsePartsMatrix (b32 on)
 パーツマトリクスを使用するか設定
 
GxMatrixAffinegetPartsMatrix (u32 index) const
 パーツマトリクスの取得
 
void setPartsMatrix (u32 index, const GxMatrixAffine &matrix)
 パーツマトリクスの設定
 
GxRenderVertexDeclarationgetPartsVertexDeclaration (u32 index) const
 パーツの頂点宣言を取得
 
GX_FORCE_INLINE u32 getPartsVertexCount (u32 index) const
 パーツの頂点数を取得
 
GX_FORCE_INLINE u32 getPartsVertexStride (u32 index, u16 vertexStream) const
 パーツの頂点ストライドを取得
 
GX_FORCE_INLINE RENDER_INDEX_TYPE getPartsIndexType (u32 index) const
 パーツのインデックスタイプを取得
 
GX_FORCE_INLINE u32 getPartsIndexOffset (u32 index) const
 パーツのインデックスバッファオフセットを取得
 
GX_FORCE_INLINE u32 getPartsIndexCount (u32 index) const
 パーツのインデックス数を取得
 
GX_FORCE_INLINE u32 getPartsIndexMinimum (u32 index) const
 パーツの最小のインデックスを取得
 
void getMeshWorldMatrix (GxMatrixAffine &world, const u32 &meshIndex)
 メッシュのワールドマトリックスを取得
 
GX_FORCE_INLINE u32 getMeshIndexFromPartsIndex (u32 partsIndex) const
 パーツインデックスからメッシュインデックスを取得
 
GX_FORCE_INLINE u32 getMeshGroupIndexFromMeshIndex (u32 meshIndex) const
 メッシュインデックスからメッシュグループインデックスを取得
 
constexpr u32 getMeshCullingFlagCount (void) const
 メッシュカリングフラグ数を取得
 
GX_FORCE_INLINE b32 isMeshCullingFlag (u32 index, RENDER_VIEW view, CULLING_FRUSTUM pass) const
 メッシュカリングフラグを取得
 
constexpr u32 getMeshRenderFlagCount (void) const
 メッシュ描画フラグ数を取得
 
GX_FORCE_INLINE b32 isMeshRenderFlag (u32 index) const
 メッシュ描画フラグを取得
 
constexpr u32 getMaterialCount (void) const
 マテリアル数を取得
 
GxRenderMaterialgetMaterial (u32 index)
 マテリアルを取得
 
GX_FORCE_INLINE b32 isModelAttribute (MODEL_ATTRIBUTE attribute) const
 属性の取得
 
GX_FORCE_INLINE void setModelAttribute (MODEL_ATTRIBUTE attribute, b32 enable)
 属性の設定
 
constexpr GxResModel::LOD getShowLod (void) const
 表示LODの取得
 
constexpr void setShowLod (GxResModel::LOD showLod)
 表示LODの設定
 
constexpr GxResModel::LOD getLodMode (void) const
 LODモードの取得
 
constexpr void setLodMode (GxResModel::LOD lodMode)
 LODモードの設定
 
const GxMatrixAffinegetInstanceMatrix (u32 index) const
 インスタンスマトリクスの取得
 
GxMatrixAffinegetInstanceMatrix (u32 index)
 インスタンスマトリクスの取得
 
void setInstanceMatrix (u32 index, const GxMatrixAffine &matrix)
 インスタンスマトリクスの設定
 
constexpr u32 getInstanceCount (void) const
 インスタンスの個数取得
 
virtual void setInstanceCount (u32 count)
 インスタンスの個数設定
 
void reserveInstanceMemory (u32 count)
 インスタンス用のメモリエリア予約
 
void freeInstanceMemory (void)
 インスタンス用のメモリエリア解放
 
GX_FORCE_INLINE b32 isInstanced (void) const
 インスタンスされているか否かを返す
 
GX_FORCE_INLINE void setUseJointMultiplyMatrix (b32 use)
 ジョイントの乗算マトリクスを使用するフラッグの設定
 
GX_FORCE_INLINE b32 getUseJointMultiplyMatrix (void)
 ジョイントの乗算マトリクスを使用するフラッグの取得
 
void setJointMultiplyMatrix (u32 index, const GxMatrixAffine &matrix)
 ジョイントの乗算マトリクスを設定
 
void resetJointMultiplyMatrix (void)
 ジョイントの乗算マトリクスをリセット
 
void updateJointMultiplyMatrix (void)
 ジョイント乗算マトリクスの更新
 
GX_FORCE_INLINE GxCriticalSectiongetMaterialCriticalSection (void)
 マテリアル構築に関わる処理に対するクリティカルセクション取得

 
const GxMatrixAffinegetInstanceOffsetMatrix (u32 index) const
 インスタンスオフセットマトリクスの取得
 
GxMatrixAffinegetInstanceOffsetMatrix (u32 index)
 インスタンスオフセットマトリクスの取得
 
void setInstanceOffsetMatrix (u32 index, const GxMatrixAffine &matrix)
 インスタンスオフセットマトリクスの設定
 
GX_FORCE_INLINE b32 isInstanceShowFlag (u32 index) const
 インスタンス表示フラグを取得
 
GX_FORCE_INLINE void setInstanceShowFlag (u32 index, b32 enable)
 インスタンス表示フラグを設定
 
GX_FORCE_INLINE b32 isInstanceCullingFlag (u32 index, RENDER_VIEW view, u32 pass) const
 インスタンスカリングフラグを取得
 
b32 hasSkin (void) const
 スキンモデルを含んでいるか判定
 
GX_FORCE_INLINE void setPropertyModelResource (const void *const pValue)
 モデルリソースを設定
 
GX_FORCE_INLINE void getPropertyModelResource (void *const pValue)
 モデルリソースを取得
 
GX_FORCE_INLINE void getPropertyMaterialResource (void *const pValue, u32 index)
 マテリアルリソースを取得(プロパティ用)
 
GX_FORCE_INLINE void setPropertyMaterialResource (const void *const pValue, u32 index)
 マテリアルリソースを設定(プロパティ用)
 
constexpr u32 getPropertyMaterialResourceCount (void)
 マテリアルリソースを取得(プロパティ用)
 
constexpr void setPropertyMaterialResourceCount (const void *const, u32)
 マテリアルリソースを設定(プロパティ用)
 
void setPropertyLODDistance (const void *const pValue, u32 index)
 LOD距離を設定
 
GX_FORCE_INLINE void getPropertyLODDistance (void *const pValue, u32 index)
 LOD距離を取得
 
constexpr u32 getPropertyLODDistanceCount (void)
 LOD数を取得
 
constexpr void setPropertyLODDistanceCount (const void *const, u32)
 LOD数を設定
 
void setPropertyJoint (const void *const pValue, u32 index)
 関節を設定
 
GX_FORCE_INLINE void getPropertyJoint (void *const pValue, u32 index)
 関節を取得
 
constexpr void setPropertyJointCount (u32)
 関節数を設定
 
GX_FORCE_INLINE u32 getPropertyJointCount (void)
 関節数を取得
 
GX_FORCE_INLINE void setPropertyPartsFlag (const void *const pValue, u32 index)
 パーツフラグを設定
 
GX_FORCE_INLINE void getPropertyPartsFlag (void *const pValue, u32 index)
 パーツフラグを取得
 
GX_FORCE_INLINE void setPropertyPartsFlagCount (u32 count)
 パーツフラグ数を設定
 
GX_FORCE_INLINE u32 getPropertyPartsFlagCount (void)
 パーツフラグ数を取得
 
GX_FORCE_INLINE void setPropertyPartsMatrix (const void *const pValue, u32 index)
 パーツマトリクスを設定
 
GX_FORCE_INLINE void getPropertyPartsMatrix (void *const pValue, u32 index)
 パーツマトリクスを取得
 
GX_FORCE_INLINE void setPropertyMeshCullingFlag (const void *const, u32 index, u32 view, u32 pass)
 メッシュカリングフラグを設定
 
GX_FORCE_INLINE void getPropertyMeshCullingFlag (void *const pValue, u32 index, u32 view, u32 pass)
 メッシュカリングフラグを取得
 
GX_FORCE_INLINE void setPropertyMeshCullingFlagCount (u32 count)
 メッシュカリングフラグ数を設定
 
GX_FORCE_INLINE u32 getPropertyMeshCullingFlagCount (void)
 メッシュカリングフラグ数を取得
 
GX_FORCE_INLINE void setPropertyMeshRenderFlag (const void *const pValue, u32 index)
 メッシュ描画フラグを設定
 
GX_FORCE_INLINE void getPropertyMeshRenderFlag (void *const pValue, u32 index)
 メッシュ描画フラグを取得
 
GX_FORCE_INLINE void setPropertyMeshRenderFlagCount (u32 count)
 メッシュ描画フラグ数を設定
 
GX_FORCE_INLINE u32 getPropertyMeshRenderFlagCount (void)
 メッシュ描画フラグ数を取得
 
GX_FORCE_INLINE void setPropertyMaterial (const void *const, u32)
 マテリアルを設定
 
GX_FORCE_INLINE void getPropertyMaterial (void *const pValue, u32 index)
 マテリアルを取得
 
constexpr void setPropertyMaterialCount (u32)
 マテリアル数を設定
 
GX_FORCE_INLINE u32 getPropertyMaterialCount (void)
 マテリアル数を取得
 
GX_FORCE_INLINE void setPropertyInstanceCount (const void *const pValue)
 インスタンス数を設定
 
GX_FORCE_INLINE void getPropertyInstanceCount (void *const pValue)
 インスタンス数を取得
 
GX_FORCE_INLINE void setPropertyInstancePosition (const void *const pValue, u32 index)
 インスタンス座標を設定
 
GX_FORCE_INLINE void getPropertyInstancePosition (void *const pValue, u32 index)
 インスタンス座標を取得
 
GX_FORCE_INLINE void setPropertyInstancePositionCount (u32 count)
 インスタンス座標数を設定
 
GX_FORCE_INLINE u32 getPropertyInstancePositionCount (void)
 インスタンス座標数を取得
 
GX_FORCE_INLINE void setPropertyInstanceQuaternion (const void *const pValue, u32 index)
 インスタンス回転を設定
 
GX_FORCE_INLINE void getPropertyInstanceQuaternion (void *const pValue, u32 index)
 インスタンス回転を取得
 
GX_FORCE_INLINE void setPropertyInstanceQuaternionCount (u32 count)
 インスタンス回転数を設定
 
GX_FORCE_INLINE u32 getPropertyInstanceQuaternionCount (void)
 インスタンス回転数を取得
 
GX_FORCE_INLINE void setPropertyInstanceScale (const void *const pValue, u32 index)
 インスタンススケールを設定
 
GX_FORCE_INLINE void getPropertyInstanceScale (void *const pValue, u32 index)
 インスタンススケールを取得
 
GX_FORCE_INLINE void setPropertyInstanceScaleCount (u32 count)
 インスタンススケール数を設定
 
GX_FORCE_INLINE u32 getPropertyInstanceScaleCount (void)
 インスタンススケール数を取得
 
GX_FORCE_INLINE void setPropertyInstanceOffsetMatrix (const void *const pValue, u32 index)
 インスタンスオフセットマトリクスを設定
 
GX_FORCE_INLINE void getPropertyInstanceOffsetMatrix (void *const pValue, u32 index)
 インスタンスオフセットマトリクスを取得
 
constexpr void setPropertyInstanceOffsetMatrixCount (u32)
 インスタンスオフセットマトリクス数を設定
 
GX_FORCE_INLINE u32 getPropertyInstanceOffsetMatrixCount (void)
 インスタンスオフセットマトリクス数を取得
 
GX_FORCE_INLINE void setPropertyInstanceShowFlag (const void *const pValue, u32 index)
 インスタンス表示を設定
 
GX_FORCE_INLINE void getPropertyInstanceShowFlag (void *const pValue, u32 index)
 インスタンス表示を取得
 
constexpr void setPropertyInstanceShowFlagCount (u32)
 インスタンス表示数を設定
 
GX_FORCE_INLINE u32 getPropertyInstanceShowFlagCount (void)
 インスタンス表示数を取得
 

Additional Inherited Members

- 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
 遅延解放の無限待ち定義
 
- Protected Member Functions inherited from GxUnitLocate
virtual void updateSpaceGraph (GxOtFrustumCulling *pOctree)
 
void asyncUpdate (void) override
 並列更新
 
- Protected Member Functions inherited from GxUnitBase
virtual void postAsyncUpdate (void)
 並列更新(asyncUpdateの後に実行される)
 
virtual void sequentialUpdate (void)
 逐次更新
 
template<typename T >
T * addModule (void)
 モジュールを作成
 
template<typename T >
void removeModule (void)
 モジュールを削除
 
- 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 Enumeration Documentation

◆ MODEL_ATTRIBUTE

属性定義

Enumerator
MESH_CULLING_ENABLE 

メッシュ単位の描画のカリングを行う

MESH_SHADOW_CULLING_ENABLE 

メッシュ単位のシャドウのカリングを行う

MESH_ENVIRONMENT_CULLING_ENABLE 

メッシュ単位の環境パスのカリングを行う

ORTHO_RENDER 

正射影で描画する

MAX 

定義数

◆ PASSINFO

enum class GxUnitModelBase::PASSINFO
strong

パス情報

Enumerator
NORMAL 

通常

SHADOW 

シャドウ

POINTSHADOW 

ポイントシャドウ

PREZ 

Zプリ

MOTIONBLUR 

モーションブラー

ENV 

反射

POLYGONLINE 

NPR用アウトライン

MAX 

定義数

Member Function Documentation

◆ buildSpaceGraph()

void GxUnitModelBase::buildSpaceGraph ( void * pArgument)
overrideprotectedvirtual

シーングラフに追加

Parameters
pArgument[in] 空間木

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ cleanup()

void GxUnitModelBase::cleanup ( void )
overridevirtual

delete直前に呼び出される関数

Reimplemented from GxUnitLocate.

Reimplemented in GxUnitMovieCharacter, and GxUnitRTDCharacter.

Here is the call graph for this function:

◆ clearInstanceCullingFlag()

void GxUnitModelBase::clearInstanceCullingFlag ( RENDER_VIEW view,
CULLING_FRUSTUM pass )
protected

インスタンスカリングフラグをクリア

Parameters
view[in] インデックス
pass[in] フラスタムタイプ
Here is the caller graph for this function:

◆ clearMeshCullingFlag()

void GxUnitModelBase::clearMeshCullingFlag ( const RENDER_VIEW & view,
const CULLING_FRUSTUM & pass )
protected

メッシュカリングフラグをクリア

Parameters
view[in] インデックス
pass[in] フラスタムタイプ
Here is the call graph for this function:
Here is the caller graph for this function:

◆ copyMaterial()

b32 GxUnitModelBase::copyMaterial ( void )

マテリアルを複製する

Returns
成功ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ drawIndexed()

void GxUnitModelBase::drawIndexed ( u32 startIndex,
u32 count,
u32 instanceStartIndex,
u32 instanceCount,
RENDER_PRIMITIVE_TYPE primitiveType = RENDER_PRIMITIVE_TYPE::TRIANGLE_LIST,
s32 * pQueryIndex = nullptr )
protectedvirtual

描画発行

Parameters
startIndex[in] 開始メッシュインデックス
count[in] メッシュ数
instanceStartIndex[in] 開始インスタンスインデックス
instanceCount[in] インスタンス数
primitiveType[in] プリミティブタイプ
pQueryIndex[in] クエリインデックスのアドレス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ eraseSpaceGraph()

void GxUnitModelBase::eraseSpaceGraph ( void * pArgument)
overrideprotectedvirtual

空間木から削除

Parameters
pArgument[in] 空間木

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ forceAsyncUpdate()

void GxUnitModelBase::forceAsyncUpdate ( void )
overrideprotectedvirtual

強制並列更新(pause中も実行)

Reimplemented from GxUnitLocate.

Reimplemented in GxUnitRTDCharacter.

Here is the call graph for this function:

◆ forceSetCullingFlag()

void GxUnitModelBase::forceSetCullingFlag ( u32 argument)
overrideprotectedvirtual

オブジェクトのカリングフラグを強制設定(スレッド呼び出し

Parameters
argument[in] フラグ

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ frustumCulling()

void GxUnitModelBase::frustumCulling ( void * pArgument)
overrideprotectedvirtual

カリング実行(スレッド呼び出し

Parameters
pArgument[in] カメラフラスタム

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ frustumCullingInstance()

b32 GxUnitModelBase::frustumCullingInstance ( GxShapeFrustum * pFrustum,
RENDER_VIEW view,
CULLING_FRUSTUM frustumType )
protected

インスタンスの視錘台カリング(旧関数

Parameters
pFrustum[in] フラスタム
view[in] ビュー
frustumType[in] フラスタムタイプ
Returns
判定したらtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ frustumCullingMesh()

b32 GxUnitModelBase::frustumCullingMesh ( GxShapeFrustum * pFrustum,
RENDER_VIEW view,
CULLING_FRUSTUM frustumType )
protected

メッシュの視錘台カリング(旧関数

Parameters
pFrustum[in] フラスタム
view[in] ビュー
frustumType[in] フラスタムタイプ
Returns
判定をしたらtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getInstanceMatrix() [1/2]

GxMatrixAffine & GxUnitModelBase::getInstanceMatrix ( u32 index)

インスタンスマトリクスの取得

Parameters
index[in] インデックス
Returns
インスタンスマトリクス

◆ getInstanceMatrix() [2/2]

const GxMatrixAffine & GxUnitModelBase::getInstanceMatrix ( u32 index) const

インスタンスマトリクスの取得

Parameters
index[in] インデックス
Returns
インスタンスマトリクス
Here is the caller graph for this function:

◆ getInstanceOffsetMatrix() [1/2]

GxMatrixAffine & GxUnitModelBase::getInstanceOffsetMatrix ( u32 index)

インスタンスオフセットマトリクスの取得

Parameters
index[in] インデックス
Returns
インスタンスマトリクス

◆ getInstanceOffsetMatrix() [2/2]

const GxMatrixAffine & GxUnitModelBase::getInstanceOffsetMatrix ( u32 index) const

インスタンスオフセットマトリクスの取得

Parameters
index[in] インデックス
Returns
インスタンスマトリクス

◆ getJointFromId()

GxUnitModelBase::GxJoint * GxUnitModelBase::getJointFromId ( u32 id) const

関節を取得(ID指定)

Parameters
index[in] 関節ID
Returns
関節のポインタ
Here is the call graph for this function:

◆ getJointFromIndex()

GxUnitModelBase::GxJoint * GxUnitModelBase::getJointFromIndex ( u32 index) const

関節インデックスを取得

Parameters
index[in] 関節インデックス
Returns
関節のポインタ
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getJointIndexFromId()

u32 GxUnitModelBase::getJointIndexFromId ( u32 id) const

関節IDからINDEXを取得

Parameters
index[in] 関節ID
Returns
関節のINDEX
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMaterial()

GxRenderMaterial * GxUnitModelBase::getMaterial ( u32 index)

マテリアルを取得

Parameters
index[in] マテリアルインデックス
Returns
マテリアルのポインタ
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMeshWorldMatrix()

void GxUnitModelBase::getMeshWorldMatrix ( GxMatrixAffine & worldMatrix,
const u32 & meshIndex )

メッシュのワールドマトリックスを取得

Parameters
worldMatrix[in] ワールドマトリクス
meshIndex[in] メッシュインデックス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPartsMatrix()

GxMatrixAffine & GxUnitModelBase::getPartsMatrix ( u32 index) const

パーツマトリクスの取得

Parameters
index[in] 関節ID
Returns
パーツマトリクス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPartsVertexDeclaration()

GxRenderVertexDeclaration * GxUnitModelBase::getPartsVertexDeclaration ( u32 index) const

パーツの頂点宣言を取得

Parameters
index[in] マテリアルインデックス
Returns
頂点宣言
Here is the call graph for this function:

◆ hasSkin()

b32 GxUnitModelBase::hasSkin ( void ) const

スキンモデルを含んでいるか判定

Returns
含んでいたらtrue
Here is the call graph for this function:

◆ preAsyncUpdate()

void GxUnitModelBase::preAsyncUpdate ( void )
overrideprotectedvirtual

並列更新(asyncUpdateの前に実行される)

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ recoveryMaterial()

b32 GxUnitModelBase::recoveryMaterial ( void )
virtual

マテリアルをリソースの状態に戻す

Returns
成功ならtrue
Here is the call graph for this function:

◆ render()

void GxUnitModelBase::render ( void )
overrideprotectedvirtual

描画

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ renderInitialize()

b32 GxUnitModelBase::renderInitialize ( RENDER_VIEW renderView,
RENDER_SUB_VIEW renderSubView )
protectedvirtual

描画前の初期化

Parameters
renderView[in] ビュー
renderSubView[in] サブビュー
Returns
描画継続ならtrue

Reimplemented in GxUnitModel.

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

◆ renderMesh()

void GxUnitModelBase::renderMesh ( u32 startIndex,
u32 count,
const GxRenderMaterial * pMaterial,
u32 instanceStartIndex,
u32 instanceCount )
protectedvirtual

メッシュの描画

Parameters
startIndex[in] 開始メッシュインデックス
count[in] メッシュ数
pMaterial[in] マテリアル
instanceStartIndex[in] 開始インスタンスインデックス
instanceCount[in] インスタンス数

Reimplemented in GxUnitModel.

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

◆ renderMeshGroup()

void GxUnitModelBase::renderMeshGroup ( const GxResModel::GxMeshGroup * pMeshGroup)
protectedvirtual

メッシュグループの描画

Parameters
pMeshGroup[in] メッシュグループ

頂点バッファ再設定

Reimplemented in GxUnitModel.

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

◆ renderMeshGroupAll()

void GxUnitModelBase::renderMeshGroupAll ( void )
protectedvirtual

全メッシュグループの描画

Reimplemented in GxUnitModel.

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

◆ reserveInstanceMemory()

void GxUnitModelBase::reserveInstanceMemory ( u32 count)

インスタンス用のメモリエリア予約

Parameters
count[in] インスタンスの個数
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setCullingAllInstances()

void GxUnitModelBase::setCullingAllInstances ( RENDER_VIEW view,
CULLING_FRUSTUM pass )
protected

全てのメッシュをカリングするように設定

Parameters
view[in] ビュー
pass[in] パス
Here is the caller graph for this function:

◆ setInstanceCount()

void GxUnitModelBase::setInstanceCount ( u32 count)
virtual

インスタンスの個数設定

Parameters
count[in] インスタンスの個数
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInstanceMatrix()

void GxUnitModelBase::setInstanceMatrix ( u32 index,
const GxMatrixAffine & matrix )

インスタンスマトリクスの設定

Parameters
index[in] インデックス
matrix[in] マトリクス

◆ setInstanceOffsetMatrix()

void GxUnitModelBase::setInstanceOffsetMatrix ( u32 index,
const GxMatrixAffine & matrix )

インスタンスオフセットマトリクスの設定

Parameters
index[in] インデックス
matrix[in] マトリクス

◆ setJointCount()

void GxUnitModelBase::setJointCount ( u32 count)
protected

関節数を設定

Parameters
count[in] 関節数
Here is the caller graph for this function:

◆ setJointMultiplyMatrix()

void GxUnitModelBase::setJointMultiplyMatrix ( u32 index,
const GxMatrixAffine & matrix )

ジョイントの乗算マトリクスを設定

Parameters
index[in] 関節インデックス
matrix[in] マトリクス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setJointMultiplyMatrixCount()

void GxUnitModelBase::setJointMultiplyMatrixCount ( u32 count)
protected

ジョイント乗算マトリクス

Parameters
count[in] 関節乗算マトリクス数
Here is the caller graph for this function:

◆ setMaterialResource()

void GxUnitModelBase::setMaterialResource ( u32 index,
GxResMaterial * pResMaterial )

マテリアルリソースを設定

Parameters
index[in] インデックス
pResMaterial[in] マテリアルリソース
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMeshCullingFlagCount()

void GxUnitModelBase::setMeshCullingFlagCount ( u32 count)
protected

メッシュカリングフラグ数を設定

Parameters
count[in] メッシュカリングフラグ数。0を指定した時、バッファを解放するように実装
Here is the caller graph for this function:

◆ setMeshRenderFlagCount()

void GxUnitModelBase::setMeshRenderFlagCount ( u32 count)
protected

メッシュ描画フラグ数を設定

Parameters
count[in] メッシュ描画フラグ数
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setModelResource()

b32 GxUnitModelBase::setModelResource ( GxResModel * pResModel)
virtual

モデルリソースを設定する

Parameters
pResModel[in] モデルリソース
Returns
成功ならtrue

< インスタンス表示カリングフラグ(受け渡し用)

Reimplemented in GxUnitModel.

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

◆ setPartsFlagCount()

void GxUnitModelBase::setPartsFlagCount ( u32 count)
protected

パーツフラグ数を設定

Parameters
count[in] パーツフラグ数
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPartsMatrix() [1/2]

void GxUnitModelBase::setPartsMatrix ( u32 count)
protected

パーツ用マトリクスを設定

Parameters
count[in] パーツマトリクス数
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPartsMatrix() [2/2]

void GxUnitModelBase::setPartsMatrix ( u32 index,
const GxMatrixAffine & matrix )

パーツマトリクスの設定

Parameters
index[in] 関節ID
matrix[in] パーツマトリクス
Here is the call graph for this function:

◆ setPropertyJoint()

void GxUnitModelBase::setPropertyJoint ( const void *const pValue,
u32 index )
protected

関節を設定

Parameters
pValue[in] 値
index[in] インデックス

◆ setPropertyLODDistance()

void GxUnitModelBase::setPropertyLODDistance ( const void *const pValue,
u32 index )
protected

LOD距離を設定

Parameters
pValue[in] 値
index[in] インデックス
Here is the call graph for this function:

◆ setRenderGxSLMaterial()

b32 GxUnitModelBase::setRenderGxSLMaterial ( GxRenderMaterial * pMaterial)
protected

GxSLマテリアルの描画設定

Parameters
pMaterial[in] マテリアル
Returns
描画継続ならtrue
Here is the caller graph for this function:

◆ setRenderMaterial()

b32 GxUnitModelBase::setRenderMaterial ( GxRenderMaterial * pMaterial,
const GxResModel::GxMeshGroup * pMeshGroup )
overrideprotectedvirtual

マテリアルの描画設定

Parameters
pMaterial[in] マテリアル
pMeshGroup[in] メッシュグループ
Returns
描画継続ならtrue

Reimplemented from GxUnitBase.

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

◆ setRenderMatrixCount()

void GxUnitModelBase::setRenderMatrixCount ( u32 count)
protectedvirtual

描画マトリクス

Parameters
count[in] 描画マトリクス数
Here is the caller graph for this function:

◆ setRenderPass()

b32 GxUnitModelBase::setRenderPass ( const GxRenderMaterial * pMaterial)
protectedvirtual

描画パス設定

Parameters
pMaterial[in] マテリアル
Returns
描画継続ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRenderProjectionMatrix()

b32 GxUnitModelBase::setRenderProjectionMatrix ( void )
protectedvirtual

プロジェクションマトリクスの描画設定

Returns
描画継続ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRenderShader()

b32 GxUnitModelBase::setRenderShader ( GxShaderPackage::GxShaderCode * pShaderCode,
u32 * pRenderVertexShaderSize = nullptr,
u32 * pRenderPixelShaderSize = nullptr )
protected

シェーダの描画設定

Parameters
pShaderCode[in] シェーダコード
pRenderVertexShaderSize[in] 頂点シェーダサイズ
pRenderPixelShaderSize[in] ピクセルシェーダサイズ
pRenderHullShaderSize[in] ハルシェーダサイズ
pRenderDomainShaderSize[in] ドメインシェーダサイズ
Returns
描画継続ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRenderShaderWithInfo()

b32 GxUnitModelBase::setRenderShaderWithInfo ( GxShaderPackage::GxShaderCode * pShaderCode,
const GxRenderMaterial * pMaterial,
PASSINFO index )
protected

描画シェーダと必要に応じてそのシェーダの情報のセットも行う関数

Parameters
pShaderCode[in] セットするうシェーダコード
pMaterial[in] 対象のマテリアル
label[in] 情報設定用バッファのindex
Returns
setRenderShaderに成功したらtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRenderState()

b32 GxUnitModelBase::setRenderState ( const GxRenderMaterial * pMaterial)
protectedvirtual

描画ステート設定

Parameters
pMaterial[in] マテリアル
Returns
描画継続ならtrue

Reimplemented in GxUnitModel.

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

◆ setup()

b32 GxUnitModelBase::setup ( void )
overrideprotectedvirtual

初期化

Returns
完了ならtrue

Reimplemented from GxUnitLocate.

◆ updateInstanceCullingFlag()

void GxUnitModelBase::updateInstanceCullingFlag ( const GxUnitCameraBase * pCamera,
RENDER_VIEW view,
CULLING_FRUSTUM frustumType )
protectedvirtual

インスタンスカリング判定

Parameters
pCamera[in] カメラ
view[in] ビュー
frustumType[in] フラスタムタイプ
Here is the call graph for this function:

◆ updateInstanceRenderMatrix()

void GxUnitModelBase::updateInstanceRenderMatrix ( RENDER_VIEW renderView,
RENDER_SUB_VIEW renderSubView )
protectedvirtual

インスタンス描画用マトリクスの更新

Parameters
renderView[in] ビュー
renderSubView[in] サブビュー
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateLocalMatrix()

void GxUnitModelBase::updateLocalMatrix ( void )
overridevirtual

ローカルマトリクスの更新

Reimplemented from GxUnitLocate.

Here is the call graph for this function:

◆ updateMeshRenderFlag()

void GxUnitModelBase::updateMeshRenderFlag ( RENDER_VIEW view,
CULLING_FRUSTUM frustumType )
protectedvirtual

メッシュ描画フラグ更新

Parameters
view[in] ビュー
frustumType[in] フラスタムタイプ
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateShowLod()

void GxUnitModelBase::updateShowLod ( const GxUnitCameraBase * pCamera)
protectedvirtual

LOD判定

Parameters
pCamera[in] カメラ

Reimplemented in GxUnitModel.

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

◆ updateWorldMatrix()

void GxUnitModelBase::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: