23GX_CORE_NAMESPACE_BEGIN()
44 static const u32 BLOCK_COUNT_MAX = 102400;
53#if defined(_WINDOWS) || defined(_XBOX_XS)
69 virtual b32 initialize(
void* pLocalMemory,
size_t localMemorySize,
void* pMainMemory,
size_t mainMemorySize, u32 maxBlockCount = BLOCK_COUNT_MAX);
72 virtual void terminate(
void);
82 void mapMemoryBlockInfo(
void** ppTopLocal,
void** ppTopMain,
GxBlock** ppAllocatedBlockTop,
GxBlock** ppFreeBlockTopLocal,
GxBlock** ppFreeBlockTopMain);
85 void unmapMemoryBlockInfo(
void);
88 b32 isMainMemory(
const void* pAddress);
102 void free(
void* pAddress);
110 void pushUnusedBlock(
GxBlock* pBlock);
114 void connectUsedBlock(
GxBlock* pBlock);
116 void disconnectUsedBlock(
GxBlock* pBlock);
122 void mergeNextBlock(
GxBlock* pBlock);
154 GX_FORCE_INLINE
void resetMainDevelopInfo(
void) { _pMainMemoryLast = _pMainMemoryTop; _mainMemoryAllocMaxSize = 0; }
156 GX_FORCE_INLINE
void resetLocalDevelopInfo(
void) { _pLocalMemoryLast = _pLocalMemoryTop; _localMemoryAllocMaxSize = 0; }
164 size_t getFreeLocalMemorySize(
void);
166 size_t getFreeMainMemorySize(
void);
169 size_t getTotalAllocatedHighLocalMemorySize(
void);
171 size_t getTotalAllocatedHighMainMemorySize(
void);
174 u32 getFreeMemoryBlockCount(
void);
183 void* _pLocalMemoryTop;
184 size_t _localMemorySize;
185 void* _pMainMemoryTop;
186 size_t _mainMemorySize;
188 GxBlock* _pAllocatedBlockTop;
189 GxBlock* _pFreeBlockTopLocal;
190 GxBlock* _pFreeBlockTopMain;
191 GxBlock* _pUnusedBlockTop;
193 void* _pLocalMemoryLast;
194 void* _pMainMemoryLast;
195 size_t _localMemoryAllocMaxSize;
196 size_t _mainMemoryAllocMaxSize;
242 b32 initialize(
void* pMemory,
size_t memorySize, u32 maxBlockCount,
void* pUserData =
nullptr);
255 void mapMemoryBlockInfo(
void** ppTopLocal,
GxBlock** ppAllocatedBlockTop,
GxBlock** ppFreeBlockTopLocal);
258 void unmapMemoryBlockInfo(
void);
264 void free(
void* pAddress);
272 void pushUnusedBlock(
GxBlock* pBlock);
276 void connectUsedBlock(
GxBlock* pBlock);
278 void disconnectUsedBlock(
GxBlock* pBlock);
284 void mergeNextBlock(
GxBlock* pBlock);
303 GX_FORCE_INLINE
void resetDevelopInfo(
void) { _pMemoryLast = _pMemoryTop; _memoryAllocMaxSize = 0; }
308 GX_FORCE_INLINE
void*
getUserData(
void)
const {
return _pUserData; }
327 GxBlock* _pAllocatedBlockTop;
328 GxBlock* _pFreeBlockTop;
329 GxBlock* _pUnusedBlockTop;
332 size_t _memoryAllocMaxSize;
344 if (handle == GX_INVALID_HANDLE)
352 GX_ERROR(
false,
"無効なテクスチャハンドルが指定されました");
355 return _pTextureList[handle];
365 return _maxSkinningJointCount;
375 if (_pRenderResourceRegister)
377 return _pRenderResourceRegister->registerRenderResource(pRenderResource);
389 if (_pRenderResourceRegister)
391 return _pRenderResourceRegister->unregisterRenderResource(pRenderResource);
400void* GxRenderDevice::allocatePacketBlock(
void)
409void* GxRenderDevice::allocateCommandBlock(
void)
427void GxRenderDevice::setViewportNoCache(
const GxViewportData& viewportData)
429 setViewportNoCache(viewportData._rect, viewportData._nearZ, viewportData._farZ);
437void GxRenderDevice::setRenderState(
RENDER_STATE renderState, u32 value)
439 GX_ASSERT((0 <=
static_cast<s32
>(renderState)) && (
static_cast<s32
>(renderState) <
static_cast<s32
>(
RENDER_STATE::MAX)),
"無効な描画ステートを設定しようとしました(renderState:%d value:%d)", renderState, value);
441 if( _renderStateValueNow[
static_cast<s32
>(renderState)] != value)
443 setRenderStateNoCache(renderState, value);
455 setDepthTestStateNoCache(state);
467 if (_stencilTestStateNow.
_access64 != state.
_access64 || _stencilRefNow != stencilRef || _stencilTwoSideEnableNow != stencilTwoSideEnable )
469 setStencilTestStateNoCache(state, stencilRef, stencilTwoSideEnable);
481 setAlphaTestStateNoCache(state);
493 setBlendStateNoCache(state);
501void GxRenderDevice::setViewport(
const GxViewportData& viewportData)
503 if( (_viewportDataNow.
_nearZ != viewportData._nearZ) || (_viewportDataNow.
_farZ != viewportData._farZ) || (_viewportDataNow.
_rect != viewportData._rect) )
505 setViewportNoCache(viewportData);
513void GxRenderDevice::setScissorRect(
const GxRect& rect)
515 if( _scissorRectNow != rect )
517 setScissorRectNoCache(rect);
526void GxRenderDevice::setVertexStream(u32 slot,
const GxVertexStream* pVertexStream)
534#if defined(_WINDOWS) || defined(_XBOX_XS)
535 if ((_vertexStreamNow[slot]._access64 != pVertexStream->_access64) || (_instanceCountNow[slot] != 0))
537 if ((_vertexStreamNow[slot]._access64 != pVertexStream->_access64))
540 setVertexStreamNoCache(slot, pVertexStream);
545#if defined(_WINDOWS) || defined(_XBOX_XS)
552void GxRenderDevice::setVertexStream(u32 slot,
const GxVertexStream* pVertexStream, u32 instanceCount)
558 else if( (_vertexStreamNow[slot]._access64 != pVertexStream->_access64) || (_instanceCountNow[slot] != instanceCount) )
560 setVertexStreamNoCache(slot, pVertexStream, instanceCount);
571 if( _pIndexBufferNow != pIndexBuffer )
573 setIndexBufferNoCache(pIndexBuffer);
583 if( _pVertexDeclarationNow != pVertexDeclaration )
585 setVertexDeclarationNoCache(pVertexDeclaration);
596 if( _pShaderNow[
static_cast<u32
>(renderShader)] != pShader)
598 setShaderNoCache(renderShader, pShader);
611void GxRenderDevice::setShaderConstantB(
RENDER_SHADER renderShader, u32 startRegister,
const b32* pBooleanArray, u32 count, u32 bindLocationIndex)
613void GxRenderDevice::setShaderConstantB(
RENDER_SHADER , u32 ,
const b32* pBooleanArray, u32 count)
616 if (pBooleanArray && (count != 0))
618#if defined(_WINDOWS) || defined(_PS4) || defined(_XBOX_XS)
619#if GX_USE_DX11 || GX_USE_DX12
622 _pDirect3DDevice9->SetVertexShaderConstantB(startRegister,
reinterpret_cast<const BOOL*
>(pBooleanArray), count);
625 const u32 size =
sizeof(
b32) * count;
626 GX_ASSERT(bindLocationIndex *
sizeof(
GxVector4) + size <= RENDER_UNIFORM_BLOCK_CONST_MAX,
"シェーダの定数ブロック内レジスタ領域が足りません");
627 auto* pBuffer =
static_cast<GxVector4*
>(_registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._pBuffer);
628 GX_MEMCPY(pBuffer + bindLocationIndex, pBooleanArray, size);
629 _registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._blockSize =
GxMath::getMax(_registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._blockSize, bindLocationIndex *
static_cast<u32
>(
sizeof(
GxVector4)) + size);
630 _registerBlockInformationCount[
static_cast<u32
>(renderShader)] =
GxMath::getMax(_registerBlockInformationCount[
static_cast<u32
>(renderShader)], startRegister + 1);
644void GxRenderDevice::setShaderConstantI(
RENDER_SHADER renderShader, u32 startRegister,
const s32* pIntArray, u32 count, u32 bindLocationIndex)
646void GxRenderDevice::setShaderConstantI(
RENDER_SHADER , u32 ,
const s32* pIntArray, u32 count)
649 if (pIntArray && (count != 0))
651#if defined(_WINDOWS) || defined(_PS4) || defined(_XBOX_XS)
652#if GX_USE_DX11 || GX_USE_DX12
655 _pDirect3DDevice9->SetVertexShaderConstantI(startRegister,
reinterpret_cast<const s32*
>(pIntArray), count);
658 const u32 size =
sizeof(s32) * count;
659 GX_ASSERT(bindLocationIndex *
sizeof(
GxVector4) + size <= RENDER_UNIFORM_BLOCK_CONST_MAX,
"シェーダの定数ブロック内レジスタ領域が足りません");
660 auto* pBuffer =
static_cast<GxVector4*
>(_registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._pBuffer);
661 GX_MEMCPY(pBuffer + bindLocationIndex, pIntArray, size);
662 _registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._blockSize =
GxMath::getMax(_registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._blockSize, bindLocationIndex *
static_cast<u32
>(
sizeof(
GxVector4)) + size);
663 _registerBlockInformationCount[
static_cast<u32
>(renderShader)] =
GxMath::getMax(_registerBlockInformationCount[
static_cast<u32
>(renderShader)], startRegister + 1);
677void GxRenderDevice::setShaderConstantF(
RENDER_SHADER renderShader, u32 startRegister,
const f32* pFloatArray, u32 count, u32 bindLocationIndex)
679void GxRenderDevice::setShaderConstantF(
RENDER_SHADER renderShader, u32 startRegister,
const f32* pFloatArray, u32 count)
682 if( pFloatArray && (count != 0) )
686 GX_ERROR(
false,
"サポートするシェーダレジスタ数をオーバーしています。(start:%d count:%d)", startRegister, count);
691 if (_pShaderNow[
static_cast<u32
>(renderShader)])
693 _pShaderNow[
static_cast<u32
>(renderShader)]->writeConstantBuffer(startRegister, pFloatArray, count);
695#elif defined(_PS5) || GX_USE_DX12
696 GX_MEMCPY(&_shaderConstSet[
static_cast<u32
>(renderShader)][startRegister], pFloatArray,
sizeof(
GxVector4) * count);
698 const u32 size =
sizeof(
GxVector4) * count;
699 GX_ASSERT(bindLocationIndex *
sizeof(
GxVector4) + size <= RENDER_UNIFORM_BLOCK_CONST_MAX,
"シェーダの定数ブロック内レジスタ領域が足りません");
700 auto* pBuffer =
static_cast<GxVector4*
>(_registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._pBuffer);
701 GX_MEMCPY(pBuffer + bindLocationIndex, pFloatArray, size);
702 _registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._blockSize =
GxMath::getMax(_registerBlockInformation[
static_cast<u32
>(renderShader)][startRegister]._blockSize, bindLocationIndex *
static_cast<u32
>(
sizeof(
GxVector4)) + size);
703 _registerBlockInformationCount[
static_cast<u32
>(renderShader)] =
GxMath::getMax(_registerBlockInformationCount[
static_cast<u32
>(renderShader)], startRegister + 1);
726 if (_pSamplerUavNow[
static_cast<u32
>(renderShader)][samplerIndex] != pTexture)
728 setTextureNoCache(renderShader, samplerIndex, pTexture,
true);
733 if (_pSamplerNow[
static_cast<u32
>(renderShader)][samplerIndex] != pTexture)
735 setTextureNoCache(renderShader, samplerIndex, pTexture,
false);
755 if (_samplerStateNow[
static_cast<u32
>(renderShader)][samplerIndex]._access32 != state.
_access32)
757 setSamplerStateNoCache(renderShader, samplerIndex, state);
767void GxRenderDevice::setRenderTarget(u32 index,
GxRenderTexture* pRenderTarget)
771 if( _pRenderTargetNow[index] != pRenderTarget )
773 setRenderTargetNoCache(index, pRenderTarget);
784 if( _pDepthStencilNow != pDepthStencil || _isReadOnlyDepthStencilNow != readOnly)
786 setDepthStencilNoCache(pDepthStencil,readOnly);
794void GxRenderDevice::setPredication(
const GxCommandSetPredication* pCommand)
796 if( pCommand->_pFlag ==
nullptr )
798 _isInFailedPredication =
false;
804 for(u32 i = 0; i < pCommand->_size; i++)
806 if(
static_cast<const u8*
>(pCommand->_pFlag)[i] )
813 _isInFailedPredication = (value != pCommand->_value);
823 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
833 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
843 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
853 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
863 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
873 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
877#if defined(_PS4) || defined(_PS5) || defined(_NX64)
884void* GxRenderDevice::allocateLocal(u32 size, u32 alignment)
886 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
897void* GxRenderDevice::allocateMain(u32 size, u32 alignment)
899 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
908void GxRenderDevice::free(
void* pAddress)
910 GX_ASSERT(_pVramAllocator,
"VRAMアロケータが初期化されていません");
912 _pVramAllocator->
free(pAddress);
923u32 GxRenderDevice::registerTexturePool(GxNativeTexture* pTexture, GxNativeTextureView* pView)
925 return _pTexturePoolManager->registerTexture(pTexture, pView);
932void GxRenderDevice::unregisterTexturePool(u32
id)
934 _pTexturePoolManager->unregisterTexture(
id);
942u32 GxRenderDevice::registerSamplerPool(GxNativeSampler* pSampler)
944 return _pTexturePoolManager->registerSampler(pSampler);
952u32 GxRenderDevice::registerSamplerPool(GxNativeSamplerBuilder* pBuilder)
954 return _pTexturePoolManager->registerSampler(pBuilder);
964 return _pTexturePoolManager->createSampler(sampler);
971void GxRenderDevice::unregisterSamplerPool(u32
id)
973 _pTexturePoolManager->unregisterSampler(
id);
978GX_CORE_NAMESPACE_END()
#define GX_ALLOCATE_MEMORY_TYPE(allocator, type, size)
Definition GxAllocator.h:566
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
RENDER_STATE
描画ステート
Definition GxRender.h:550
RENDER_SHADER
Definition GxRender.h:75
@ RENDER_TEXTURE_COUNT_MAX
同時読み込み可能なテクスチャ数(0は無効を表すので、実際は4095枚)
Definition GxRender.h:40
@ RENDER_TEXTURE_SAMPLER_COUNT_MAX
サポートするテクスチャサンプラ数
Definition GxRender.h:37
@ RENDER_SHADER_CONST_MAX
サポートするシェーダレジスタ数
Definition GxRender.h:29
@ RENDER_TARGET_COUNT_MAX
サポートするレンダーターゲット数
Definition GxRender.h:24
@ RENDER_VERTEX_STREAM_COUNT_MAX
サポートする頂点ストリーム数
Definition GxRender.h:26
オブジェクト基底クラス
Definition GxBase.h:88
クリティカルセクションクラス
Definition GxThread.h:20
static constexpr u32 VALUE_1M
1M
Definition GxMath.h:139
static GX_FORCE_INLINE T getMax(const T value0, const T value1)
大きいほうを取得
Definition GxMath.h:174
ALIGNMENT
メモリアライメント定義
Definition GxMemory.h:51
@ _16
16byteアライメント
Definition GxMemory.h:54
プロパティクラス
Definition GxProperty.h:48
管理ブロックを外部に置くことで特殊メモリなど無駄なく使いたい場合
Definition GxRenderDevice.inl:206
void free(void *pAddress)
メモリ解放
Definition GxRenderDevice.cpp:12602
size_t getTotalAllocatedHighMemorySize(void)
メモリ最大到達サイズ取得
Definition GxRenderDevice.cpp:12649
b32 initialize(void *pMemory, size_t memorySize, u32 maxBlockCount, void *pUserData=nullptr)
初期化関数
Definition GxRenderDevice.cpp:12507
GX_FORCE_INLINE void * getUserData(void) const
ユーザーデータを取得
Definition GxRenderDevice.inl:308
void terminate(void)
終了関数
Definition GxRenderDevice.cpp:12540
size_t getFreeMemorySize(void)
メモリ空きサイズ取得
Definition GxRenderDevice.cpp:12632
GX_FORCE_INLINE void resetDevelopInfo(void)
メモリ統計情報リセット
Definition GxRenderDevice.inl:303
u32 getFreeMemoryBlockCount(void)
管理ブロックの空き個数を取得
Definition GxRenderDevice.cpp:12659
GX_FORCE_INLINE void getPropertyUsedMemorySize(void *const pValue)
メモリ使用サイズ
Definition GxRenderDevice.inl:295
GX_FORCE_INLINE void getPropertyFreeBlockCount(void *const pValue)
空きブロック数
Definition GxRenderDevice.inl:297
GX_FORCE_INLINE void getPropertyAllocMaxMemorySize(void *const pValue)
メモリ最大確保サイズ
Definition GxRenderDevice.inl:301
GX_FORCE_INLINE size_t getMemorySize(void) const
メモリサイズ取得
Definition GxRenderDevice.inl:306
void * allocate(u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
メモリ確保
Definition GxRenderDevice.cpp:12575
GX_FORCE_INLINE void getPropertyMemorySize(void *const pValue)
メモリサイズ
Definition GxRenderDevice.inl:293
GxRawAllocator(void)
デフォルトコンストラクタ
Definition GxRenderDevice.cpp:12486
static const u32 BLOCK_COUNT_MAX
メモリブロック数
Definition GxRenderDevice.inl:220
GX_FORCE_INLINE void getPropertyHighMemorySize(void *const pValue)
メモリ最大到達サイズ
Definition GxRenderDevice.inl:299
VRAM を管理します
Definition GxRenderDevice.inl:30
size_t getFreeLocalMemorySize(void)
ローカルメモリ空きサイズ取得
Definition GxRenderDevice.cpp:12046
GX_FORCE_INLINE void getPropertyAllocMaxMainMemorySize(void *const pValue)
メインメモリ最大確保サイズ
Definition GxRenderDevice.inl:151
GX_FORCE_INLINE void getPropertyHighLocalMemorySize(void *const pValue)
ローカルメモリ最大到達サイズ
Definition GxRenderDevice.inl:144
GX_FORCE_INLINE void resetLocalDevelopInfo(void)
ローカルメモリ統計情報リセット
Definition GxRenderDevice.inl:156
void * allocateLocal(u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
ローカルメモリ(VRAM)確保
Definition GxRenderDevice.cpp:11946
GX_FORCE_INLINE void getPropertyLocalMemorySize(void *const pValue)
ローカルメモリサイズ
Definition GxRenderDevice.inl:134
GX_FORCE_INLINE size_t getMainMemorySize(void) const
メインメモリサイズ取得
Definition GxRenderDevice.inl:161
size_t getFreeMainMemorySize(void)
メインメモリ空きサイズ取得
Definition GxRenderDevice.cpp:12067
size_t getTotalAllocatedHighLocalMemorySize(void)
ローカルメモリ最大到達サイズ取得
Definition GxRenderDevice.cpp:12088
GX_FORCE_INLINE void getPropertyUsedLocalMemorySize(void *const pValue)
ローカルメモリ消費サイズ
Definition GxRenderDevice.inl:139
GX_FORCE_INLINE void getPropertyFreeBlockCount(void *const pValue)
空きブロック数
Definition GxRenderDevice.inl:131
GX_FORCE_INLINE void getPropertyAllocMaxLocalMemorySize(void *const pValue)
ローカルメモリ最大確保サイズ
Definition GxRenderDevice.inl:149
size_t getTotalAllocatedHighMainMemorySize(void)
メインメモリ最大到達サイズ取得
Definition GxRenderDevice.cpp:12098
GX_FORCE_INLINE void getPropertyUsedMainMemorySize(void *const pValue)
メインメモリ消費サイズ
Definition GxRenderDevice.inl:141
void * allocateMain(u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
メインメモリ(GPUからアクセスできるメインメモリなどドライバに近いメモリ)確保
Definition GxRenderDevice.cpp:11975
GX_FORCE_INLINE void getPropertyMainMemorySize(void *const pValue)
メインメモリサイズ
Definition GxRenderDevice.inl:136
GX_FORCE_INLINE void getPropertyHighMainMemorySize(void *const pValue)
メインメモリ最大到達サイズ
Definition GxRenderDevice.inl:146
GX_FORCE_INLINE void resetMainDevelopInfo(void)
メインメモリ統計情報リセット
Definition GxRenderDevice.inl:154
void free(void *pAddress)
メモリ解放
Definition GxRenderDevice.cpp:12002
GX_FORCE_INLINE size_t getLocalMemorySize(void) const
ローカルメモリサイズ取得
Definition GxRenderDevice.inl:159
描画関連の依存をこのクラスで吸収します
Definition GxRenderDevice.h:450
GX_FORCE_INLINE u32 getMaxSkinningJointCount(void)
1メッシュに使用する最大のジョイント数
Definition GxRenderDevice.inl:363
static constexpr u32 COMMAND_BLOCK_SIZE
コマンドブロックサイズ
Definition GxRenderDevice.h:923
GX_FORCE_INLINE size_t getLocalMemorySize(void) const
VRAMローカルメモリ(ビデオメモリ)サイズ取得
Definition GxRenderDevice.inl:841
GX_FORCE_INLINE size_t getFreeMainMemorySize(void) const
VRAMメインメモリ(GPUからアクセス可能なメインメモリやドライバ目的のメモリ)空きサイズ取得
Definition GxRenderDevice.inl:831
GX_FORCE_INLINE GxRenderTexture * getTextureByHandle(GX_HANDLE handle) const
ハンドルからテクスチャを取得
Definition GxRenderDevice.inl:342
static constexpr u32 PACKET_BLOCK_SIZE
パケットブロックサイズ
Definition GxRenderDevice.h:921
GX_FORCE_INLINE size_t getMainMemorySize(void) const
VRAMメインメモリ(GPUからアクセス可能なメインメモリやドライバ目的のメモリ)サイズ取得
Definition GxRenderDevice.inl:821
GX_FORCE_INLINE size_t getFreeLocalMemorySize(void) const
VRAMローカルメモリ(ビデオメモリ)空きサイズ取得
Definition GxRenderDevice.inl:851
GX_FORCE_INLINE void * allocateCommandBufferMemory(u32 size)
コマンドバッファメモリから確保
Definition GxRenderDevice.inl:418
GX_FORCE_INLINE size_t getTotalAllocatedHighLocalMemorySize(void) const
VRAMローカルメモリ最大到達サイズ取得
Definition GxRenderDevice.inl:861
GX_FORCE_INLINE size_t getTotalAllocatedHighMainMemorySize(void) const
VRAMメインメモリ最大到達サイズ取得
Definition GxRenderDevice.inl:871
インデックスバッファを管理する
Definition GxRenderIndexBuffer.h:20
GPUリソースを管理する
Definition GxRenderResource.h:20
シェーダ共通の処理を記述
Definition GxRenderShader.h:20
テクスチャクラス
Definition GxRenderTexture.h:19
頂点シェーダに渡す頂点の宣言を管理する
Definition GxRenderVertexDeclaration.h:22
実行時型情報クラス
Definition GxRtti.h:154
シングルトン基礎クラス
Definition GxSingleton.h:19
矩形
Definition GxStruct.h:951
アルファテストステート
Definition GxRender.h:731
u32 _access32
データ
Definition GxRender.h:808
ブレンドステート
Definition GxRender.h:847
u32 _access32
データ
Definition GxRender.h:909
深度テストステート
Definition GxRender.h:601
u32 _access32
データ
Definition GxRender.h:644
メモリ管理ブロック構造体
Definition GxRenderDevice.inl:224
GxBlock * _pPrevious
前のブロック(未使用ブロックリストの時は使わない)
Definition GxRenderDevice.inl:228
GxBlock * _pNext
次のブロック
Definition GxRenderDevice.inl:227
void * _pAddress
管理しているメモリアドレス
Definition GxRenderDevice.inl:225
size_t _size
管理しているサイズ
Definition GxRenderDevice.inl:226
GxRect _rect
矩形
Definition GxRenderDevice.h:589
f32 _farZ
farクリップ
Definition GxRenderDevice.h:591
f32 _nearZ
nearクリップ
Definition GxRenderDevice.h:590
メモリ管理ブロック構造体
Definition GxRenderDevice.inl:48
GxBlock * _pPrevious
前のブロック(未使用ブロックリストの時は使わない)
Definition GxRenderDevice.inl:52
GxBlock * _pNext
次のブロック
Definition GxRenderDevice.inl:51
void * _pAddress
管理しているメモリアドレス
Definition GxRenderDevice.inl:49
size_t _size
管理しているサイズ
Definition GxRenderDevice.inl:50
サンプラステート
Definition GxRender.h:1046
u32 _access32
データ
Definition GxRender.h:1182
ステンシルテストステート
Definition GxRender.h:654
u64 _access64
データ
Definition GxRender.h:706
4次元ベクトル
Definition GxVector.h:582
32bitブーリアン
Definition GxDefine.h:173