13GX_CORE_NAMESPACE_BEGIN()
41 DISTANCE_MAX =
MAX - 1,
45 GX_ENUM_TABLE_COUNT(LOD,
static_cast<s32
>(LOD::MAX) + 1)
113 f32 _lodDistance[
static_cast<s32
>(LOD::DISTANCE_MAX)];
137 void cleanup(
void)
override;
153 void* mapPartsVertexBuffer(u32 index, u16 vertexStream, u32 mappingType);
155 void unmapPartsVertexBuffer(u32 index, u16 vertexStream);
157 void* mapPartsIndexBuffer(u32 index, u32 mappingType);
159 void unmapPartsIndexBuffer(u32 index);
162 void createCallback(
void* pUser);
176 b32 loadImportSetting(
void);
178 void saveImportSetting(
void);
190 void getToolRtti(
GxArray& arrayTool)
const override;
193 GxRtti* getUnitRtti(void) override;
196 constexpr const GX_CHAR* getStringTable(void) const { return _pStringTable; }
198 constexpr u32 getJointCount(
void)
const {
return _pHeader ? _pHeader->_jointCount : 0; }
200 constexpr GxJoint* getJoint(u32 index)
const { GX_ASSERT(index < getJointCount(),
"指定されたインデックスがオーバーしています");
return &_pJoint[index]; }
202 constexpr GxMatrixAffine* getOrientMatrix(u32 index)
const { GX_ASSERT(index < getJointCount(),
"指定されたインデックスがオーバーしています");
return &_pOrientMatrix[index]; }
206 constexpr u32
getPartsCount(
void)
const {
return _pHeader ? _pHeader->_partsCount : 0; }
208 s32 getPartsIndex(GX_CSTR partsName)
const;
210 constexpr u32
getMeshCount(
void)
const {
return _pHeader ? _pHeader->_meshCount : 0; }
212 constexpr const GxMesh*
getMesh(u32 index)
const { GX_ASSERT(index < getMeshCount(),
"指定されたインデックスがオーバーしています");
return &_pMesh[index]; }
214 constexpr u32
getMeshGroupCount(
void)
const {
return _pHeader ? _pHeader->_meshGroupCount : 0; }
216 constexpr GxMeshGroup*
getMeshGroup(u32 index)
const { GX_ASSERT(index < getMeshGroupCount(),
"指定されたインデックスがオーバーしています");
return &_pMeshGroup[index]; }
218 constexpr u32
getMaterialCount(
void)
const {
return _pHeader ? _pHeader->_materialCount : 0; }
225 u32 getMeshIndexFromPartsIndex(u32 partsIndex)
const;
227 u32 getMeshGroupIndexFromMeshIndex(u32 meshIndex)
const;
231 u32 getPartsVertexCount(u32 index)
const;
233 u32 getPartsVertexStride(u32 index, u16 vertexStream)
const;
237 u32 getPartsIndexOffset(u32 index)
const;
239 u32 getPartsIndexCount(u32 index)
const;
241 u32 getPartsIndexMinimum(u32 index)
const;
243 GX_FORCE_INLINE
const GxVector3& getBoundingSphereCenter(
void)
const {
return _pHeader ? _pHeader->_importSetting._boundingSphereCenter :
GxVector3::ZERO; }
245 GX_FORCE_INLINE
void setBoundingSphereCenter(
const GxVector3& center) { _pHeader->_importSetting._boundingSphereCenter = center; }
254 return _pHeader->_importSetting._lodDistance[index];
260 _pHeader->_importSetting._lodDistance[index] = distance;
267 return _pHeader->_importSetting._vertexDeclarationPrecisionType[
static_cast<s32
>(index)];
273 _pHeader->_importSetting._vertexDeclarationPrecisionType[
static_cast<s32
>(index)] = accuracyType;
278 static void getImportSettingPath(
GxString& path, GX_CSTR resourcePath);
288 void* _pFinalizedData;
308GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
@ POSITION
位置データ(VS入力,VS出力)
@ COLOR
4D パック済み 正規化される u8(GxColor形式)
RENDER_INDEX_TYPE
インデックスバッファ形式
Definition GxRender.h:147
配列クラス
Definition GxArray.h:18
クリティカルセクションクラス
Definition GxThread.h:20
頂点シェーダに渡す頂点の宣言を管理する
Definition GxRenderVertexDeclaration.h:22
リソース基底クラス
Definition GxResBase.h:23
マテリアルリソース
Definition GxResMaterial.h:18
モデルリソースクラス
Definition GxResModel.h:20
VERTEX_DECLARATION_ELEMENT_PRECISION_GROUP
頂点データの精度グループの定義
Definition GxResModel.h:50
constexpr GxCriticalSection * getMaterialCriticalSection(void)
マテリアル構築に関わる処理に対するクリティカルセクション取得
Definition GxResModel.h:220
u32 _finalizedDataSize
データサイズ
Definition GxResModel.h:287
constexpr u32 getPartsCount(void) const
パーツ数を取得
Definition GxResModel.h:206
constexpr f32 getBoundingSphereRadius(void) const
バウンディングスフィアの半径を取得
Definition GxResModel.h:247
b32 _enableRemapVertexBuffer
頂点バッファの再mapを使うかどうか
Definition GxResModel.h:300
constexpr u32 getMeshGroupCount(void) const
メッシュグループ数を取得
Definition GxResModel.h:214
u16 * _pJointIndexTable
関節インデックステーブル
Definition GxResModel.h:292
constexpr const GxMesh * getMesh(u32 index) const
メッシュデータを取得
Definition GxResModel.h:212
constexpr u32 getMeshCount(void) const
メッシュ数を取得
Definition GxResModel.h:210
GxHeader * _pHeader
ヘッダ
Definition GxResModel.h:290
u32 * _pDestructionPartsCount
破壊用パーツ数
Definition GxResModel.h:296
constexpr GxMatrixAffine * getInversMatrix(u32 index) const
逆行列を取得
Definition GxResModel.h:204
LOD
LOD定義
Definition GxResModel.h:33
constexpr u32 getMaterialCount(void) const
マテリアル数を取得
Definition GxResModel.h:218
GX_FORCE_INLINE f32 getLodDistance(u32 index) const
LOD距離を取得
Definition GxResModel.h:251
GX_FORCE_INLINE void setLodDistance(u32 index, f32 distance)
LOD距離を設定
Definition GxResModel.h:257
GX_FORCE_INLINE b32 isEnableRemapVertexBuffer(void)
頂点バッファの書き換え可否を取得
Definition GxResModel.h:222
GxCriticalSection _materialCriticalSection
マテリアル構築に関わる処理に対するクリティカルセクション
Definition GxResModel.h:299
GX_CHAR * _pStringTable
文字列テーブル
Definition GxResModel.h:291
constexpr GxMeshGroup * getMeshGroup(u32 index) const
メッシュグループデータを取得
Definition GxResModel.h:216
VERTEX_DECLARATION_ELEMENT_PRECISION_TYPE
頂点データの精度タイプの定義
Definition GxResModel.h:65
constexpr void setBoundingSphereRadius(f32 radius)
バウンディングスフィアの半径を設定
Definition GxResModel.h:249
ストリーム基礎クラス
Definition GxStream.h:20
ストリーム書き込みクラス
Definition GxStreamWriter.h:19
アフィン変換行列(行優先)
Definition GxMatrix.h:330
頂点宣言に使用する、頂点要素を定義するための構造体
Definition GxRenderVertexDeclaration.h:125
インポート設定
Definition GxResModel.h:77
GxVector3 _boundingSphereCenter
内包球の中心
Definition GxResModel.h:111
f32 _boundingSphereRadius
内包球の半径
Definition GxResModel.h:112
モデルリソース関節構造体
Definition GxResModel.h:71
モデルリソースメッシュ構造体(ファイル用)
Definition GxResModel.h:161
モデルリソースメッシュグループ構造体(ファイル用)
Definition GxResModel.h:255
モデルリソースメッシュグループ構造体
Definition GxResModel.h:211
モデルリソースメッシュ構造体
Definition GxResModel.h:122
作成時コールバック用データ
Definition GxResModel.h:123
b32 _enableRemapVertexBuffer
リマップ頂点バッファ有効フラグ
Definition GxResModel.h:124
文字列型クラス
Definition GxString.h:18
3次元ベクトル
Definition GxVector.h:245
static const GxVector3 ZERO
(0, 0, 0)
Definition GxVector.h:256
32bitブーリアン
Definition GxDefine.h:173