OROCHI
 
Loading...
Searching...
No Matches
GxRenderDevice.cpp File Reference

描画デバイスクラス More...

#include "Gx.h"
Include dependency graph for GxRenderDevice.cpp:

Macros

#define RENDER_THREAD_NAME   "GxRenderThread"
 
#define TRACE_VRAM_ALLOCATOR   0
 
#define GX_RENDERDEVICE_CRITICAL_ERROR(message, retVal, errId, val)
 
#define GX_VRAMALLOCATOR_IS_MAIN_MEM(pAddress)
 
#define GX_VRAMALLOCATOR_UPDATE_WATER_MARK(pBlock)
 
#define GX_RAW_ALLOCATOR_UPDATE_WATER_MARK(block)
 

Functions

 _PARAM_NAME (_enablePreZSortByDepth, "PreZパスでの深度ソート有効フラグ")
 
 _PARAM_NAME (_disableShadowPass, "シャドウパス無効フラグ")
 
 _PARAM_NAME (_useBackBufferDepth, "深度バックバッファ使用フラグ")
 
 _PARAM_NAME (_disableOverPaintPass, "オーバーペイントパス無効フラグ")
 
 _PARAM_NAME (_disableProcedualPass, "プロシージャルパス無効フラグ")
 
 _PARAM_NAME (_useDummyShader, "ダミーシェーダ―使用フラグ")
 
 _ENUM_NAME_GUI (_frameRateTarget, "目標フレームレート", RENDER_FRAME_RATE)
 
 _PARAM_NAME (_bufferCount, "バッファ数")
 
 _PARAM_NAME (_commandBufferSize, "コマンドバッファサイズ")
 
 _PARAM_NAME (_renderThreadStackSize, "描画スレッドスタックサイズ")
 
 _PARAM_NAME (_maxSkinningJointCount, "スキニングで使用できるジョイント最大数")
 
 _PARAM_NAME (_resolutionScaleTextureSSAO, "SSAO拡縮テクスチャ解像度")
 
 _PAGE_BEGIN ("開発用")
 
 _PARAM_NAME (_enableWarningShaderCompile, "シェーダーコンパイル警告有効フラグ")
 
 _PAGE_END ()
 
 _PARAM_NAME_ATTRIBUTE (_deviceName, "デバイス名", GxProperty::ATTRIBUTE_READONLY)
 
 _CUSTOM (GxProperty::TYPE::U32, "目標フレームレート", &GxRenderDevice::getPropertyFrameRateTarget, &GxRenderDevice::setPropertyFrameRateTarget)
 
 _PARAM_NAME (_forceVBlankWait, "必ずVブランクを待つ")
 
 _PARAM_NAME_ATTRIBUTE (_frameRateAverage, "フレームレート", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_frameTimeAverage, "フレーム時間", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_gpuFrameTime, "GPUフレーム時間", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_outputResolution, "出力解像度", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_safetyArea, "セーフティエリア", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_aspectRatio, "アスペクト比", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE_MIN_MAX (_gamma, "ガンマ補正値", GxProperty::ATTRIBUTE_SLIDER, 0.5, 3)
 
 _PARAM_NAME (_useRenderThread, "描画スレッドを使う")
 
 _PARAM_NAME (_disableShadowPass, "シャドウパス無効")
 
 _PARAM_NAME (_disableOverPaintPass, "オーバーペイントパス無効")
 
 _PARAM_NAME (_disableProcedualPass, "プロシージャルパス無効")
 
 _PARAM_NAME (_enableWarningShaderCompile, "シェーダコンパイル発生時にWarningを表示")
 
 _PARAM_NAME (_drawCallCount, "描画コール数")
 
 _PARAM_NAME_ATTRIBUTE (_commandBufferSize, "コマンドバッファ割り当てサイズ", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_maxCommandBufferSize, "コマンドバッファ割り当てサイズ(1個)", GxProperty::ATTRIBUTE_READONLY|GxProperty::ATTRIBUTE_HIDE)
 
 _PARAM_NAME_ATTRIBUTE (_usedCommandBufferSize, "コマンドバッファ消費サイズ", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_pRenderResourceRegister, "描画リソース", GxProperty::ATTRIBUTE_READONLY)
 
 _PAGE_BEGIN ("VRAM消費量")
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeVertex, "頂点バッファ", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeIndex, "インデックスバッファ", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeRenderTarget, "レンダーターゲット", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeTexture, "テクスチャ", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeFilter, "フィルター", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeOther, "その他", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeVertexDevelop, "頂点バッファ(開発用)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeIndexDevelop, "インデックスバッファ(開発用)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeRenderTargetDevelop, "レンダーターゲット(開発用)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeTextureDevelop, "テクスチャ(開発用)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeFilterDevelop, "フィルター(開発用)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME_ATTRIBUTE (_vramSizeOtherDevelop, "その他(開発用)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME (_enablePreZSortByDepth, "preZパスのメッシュソートに奥行き情報を利用")
 
 _STRUCT_ARRAY_NAME_ATTRIBUTE (_performanceCounter, "描画計測情報(ビュー)", GxProperty::ATTRIBUTE_READONLY)
 
 _PARAM_NAME (_renderPoint, "描画ポイント数")
 
 _PARAM_NAME (_renderLine, "描画ライン数")
 
 _PARAM_NAME (_renderTriangle, "描画トライアングル数")
 
 _PARAM_NAME (_renderVertex, "描画頂点数")
 
 _PARAM_NAME (_renderCall, "描画コール数")
 
 _STRUCT_ARRAY_NAME (_subView, "サブビュー")
 
 _DYNAMIC_OBJECT_POINTER_ATTRIBUTE ("描画リソースリスト", &GxRenderResourceRegister::getPropertyRenderResource, nullptr, &GxRenderResourceRegister::getPropertyRenderResourceCount, nullptr, GxProperty::ATTRIBUTE_READONLY|GxProperty::ATTRIBUTE_NOSERIALIZE)
 
 _CUSTOM_ATTRIBUTE (GxProperty::TYPE::U32, "空きブロック数", &GxVramAllocator::getPropertyFreeBlockCount, nullptr, GxProperty::ATTRIBUTE_READONLY)
 
 _CUSTOM_ATTRIBUTE (GxProperty::TYPE::U32, "空きブロック数", &GxRawAllocator::getPropertyFreeBlockCount, nullptr, GxProperty::ATTRIBUTE_READONLY)
 
 _CUSTOM_ATTRIBUTE (GxProperty::TYPE::U64, "サイズ", &GxRawAllocator::getPropertyMemorySize, nullptr, GxProperty::ATTRIBUTE_READONLY)
 
 _CUSTOM_ATTRIBUTE (GxProperty::TYPE::U64, "使用サイズ", &GxRawAllocator::getPropertyUsedMemorySize, nullptr, GxProperty::ATTRIBUTE_READONLY)
 
 _CUSTOM_ATTRIBUTE (GxProperty::TYPE::U64, "最大到達サイズ", &GxRawAllocator::getPropertyHighMemorySize, nullptr, GxProperty::ATTRIBUTE_READONLY)
 
 _CUSTOM_ATTRIBUTE (GxProperty::TYPE::U64, "最大確保サイズ", &GxRawAllocator::getPropertyAllocMaxMemorySize, nullptr, GxProperty::ATTRIBUTE_READONLY)
 
 _EVENT ("統計情報リセット", &GxRawAllocator::resetDevelopInfo)
 

Detailed Description

描画デバイスクラス

Author
Copyright (C)2009 SiliconStudio Inc. All rights reserved.
Kei Honda
Kazuyuki Asano

Macro Definition Documentation

◆ GX_RAW_ALLOCATOR_UPDATE_WATER_MARK

#define GX_RAW_ALLOCATOR_UPDATE_WATER_MARK ( block)
Value:
{ \
const size_t blockSize = block->_size; \
void* pLast = GX_POINTER_ADD(block->_pAddress, blockSize); \
if( _pMemoryLast < pLast ) \
{ \
_pMemoryLast = pLast; \
} \
if( _memoryAllocMaxSize < blockSize ) \
{ \
_memoryAllocMaxSize = blockSize; \
} \
}

◆ GX_RENDERDEVICE_CRITICAL_ERROR

#define GX_RENDERDEVICE_CRITICAL_ERROR ( message,
retVal,
errId,
val )
Value:
if(_pUserErrorFunction)_pUserErrorFunction(message, retVal, errId, val)

◆ GX_VRAMALLOCATOR_IS_MAIN_MEM

#define GX_VRAMALLOCATOR_IS_MAIN_MEM ( pAddress)
Value:
(false)

◆ GX_VRAMALLOCATOR_UPDATE_WATER_MARK

#define GX_VRAMALLOCATOR_UPDATE_WATER_MARK ( pBlock)
Value:
{ \
const size_t blockSize = pBlock->_size; \
void* pLast = GX_POINTER_ADD(pBlock->_pAddress, blockSize); \
if( GX_VRAMALLOCATOR_IS_MAIN_MEM(pBlock->_pAddress) ) \
{ \
if( _pMainMemoryLast < pLast ) \
{ \
_pMainMemoryLast = pLast; \
} \
if( _mainMemoryAllocMaxSize < blockSize ) \
{ \
_mainMemoryAllocMaxSize = blockSize; \
} \
} \
else \
{ \
if( _pLocalMemoryLast < pLast ) \
{ \
_pLocalMemoryLast = pLast; \
} \
if( _localMemoryAllocMaxSize < blockSize ) \
{ \
_localMemoryAllocMaxSize = blockSize; \
} \
} \
}