|
|
|
| GxSysRender (void) |
| | デフォルトコンストラクタ
|
| |
|
| ~GxSysRender (void) override |
| | デストラクタ
|
| |
| b32 | initialize (const GxClassBase *pInitialInformation) override |
| | 初期化
|
| |
| void | terminate (void) override |
| | 終了処理
|
| |
|
virtual void | initializeShaderPackage (void) |
| | シェーダパッケージの初期化
|
| |
|
| GxSysRenderBase (void) |
| | コンストラクタ
|
| |
|
| ~GxSysRenderBase (void) override |
| | デストラクタ
|
| |
| b32 | initialize (const GxClassBase *pInitialInformation) override |
| | 初期化
|
| |
| void | terminate (void) override |
| | 終了処理
|
| |
| virtual b32 | initializeThreadLocalStorage (u32 workerThreadIndex) |
| | スレッドローカルストレージ初期化関数
|
| |
|
GX_FORCE_INLINE void | setVirtualResolution (GxSize &size) |
| | 仮想解像度の設定
|
| |
|
GX_FORCE_INLINE const GxSize & | getVirtualResolution (void) const |
| | 仮想解像度の取得
|
| |
|
GX_FORCE_INLINE const GxSize & | getOutputResolution (void) const |
| | 出力解像度の取得
|
| |
|
GX_FORCE_INLINE const GxSize & | getDefaultViewportResolution (void) const |
| | Viewportのデフォルト解像度の取得
|
| |
|
GX_FORCE_INLINE const GxRect & | getSafetyArea (void) const |
| | セーフティエリアの取得
|
| |
|
GX_FORCE_INLINE const GxRect & | getVirtualSafetyArea (void) const |
| | セーフティエリアの取得(仮想座標系)
|
| |
|
GX_FORCE_INLINE void | setClearColor (const GxColor &color) |
| | クリアカラーを設定
|
| |
|
GX_FORCE_INLINE const GxColor & | getClearColor (void) const |
| | クリアカラーを取得
|
| |
|
GxViewport * | getViewport (RENDER_VIEW index) const |
| | ビューポートの取得
|
| |
| GxViewport * | getDisableViewport (void) const |
| | 未使用のビューポートを取得
|
| |
| u32 | getViewIndex (GxViewport *pViewport) const |
| | ビューインデックスの取得
|
| |
| u32 | getEnableViewportNum (void) |
| | 有効なビューポートの数を取得
|
| |
|
constexpr GxRenderVertexBuffer * | getInstanceVertexBuffer (void) |
| | インスタンス用の頂点バッファの取得
|
| |
|
GX_FORCE_INLINE b32 | isFrustumCulling (void) const |
| | フラスタムカリング有効判定
|
| |
|
GX_FORCE_INLINE void | setFrustumCulling (b32 enable) |
| | フラスタムカリング有効設定
|
| |
|
GX_FORCE_INLINE b32 | isShadowCullingModeDefault (void) const |
| | シャドウ描画時のカリングにデフォルト設定か否か(trueの場合 デフォルト設定のカリング無効時;無効、有効時:フロントフェースカリング)
|
| |
|
GX_FORCE_INLINE void | setShadowCullingModeDefaul (b32 enable) |
| | シャドウ描画時のカリングにデフォルト設定を有効にするか否か(trueの場合 デフォルト設定のカリング無効時;無効、有効時:フロントフェースカリング)
|
| |
| RENDER_VIEW | getViewportFromScreen (const GxPoint2 &screenPosition) |
| | スクリーン座標からビューポート番号を取得
|
| |
| void | update (void) override |
| | 更新
|
| |
|
virtual void | render (void) |
| | 描画
|
| |
| const GxPoint2 | transformWorldToScreen (const GxVector3 &worldPosition, const RENDER_VIEW viewport, const GxSize *pResolution=nullptr) |
| | ワールド座標→スクリーン座標(カメラzチェックなし)
|
| |
| b32 | transformWorldToScreen (const GxVector3 &worldPosition, GxPoint2 &screenPosition, const RENDER_VIEW viewport) |
| | ワールド座標→スクリーン座標GxPoint2(カメラzチェックあり) (削除予定)
|
| |
| b32 | transformWorldToScreen (const GxVector3 &worldPosition, GxVector3 &screenPosition, const RENDER_VIEW viewport) |
| | ワールド座標→スクリーン座標GxVector3(カメラzチェックあり)
|
| |
| const GxVector2 | transformWorldToVirtual (const GxVector3 &worldPosition, const RENDER_VIEW viewport) |
| | ワールド座標→仮想座標(カメラzチェックなし)
|
| |
| b32 | transformScreenToRay (const GxPoint2 &screenPosition, GxVector3 &rayStart, GxVector3 &rayEnd, const GxSize *pResolution=nullptr) |
| | スクリーン座標→ワールド座標でのレイ
|
| |
| b32 | transformScreenToRay (const GxPoint2 &screenPosition, GxVector3 &rayStart, GxVector3 &rayEnd, const RENDER_VIEW viewport, const GxSize *pResolution=nullptr) |
| | スクリーン座標→ワールド座標でのレイ(指定ビューポート)
|
| |
| void | copyTextureToBackbuffer (GxRenderTexture *pDst, GxRenderTexture *pSrc, b32 isRight) |
| | バックバッファにテクスチャをコピー
|
| |
|
constexpr void | setClearTexture (GxRenderTexture *pClearRenderTexture) |
| | 画面クリア用テクスチャを設定
|
| |
|
constexpr GxRenderTexture * | getClearTexture (void) |
| | 画面クリア用テクスチャのポインタを取得
|
| |
|
template<typename T > |
| T * | getModule (void) const |
| | モジュールを取得
|
| |
|
| GxSysBase (void) |
| | デフォルトコンストラクタ
|
| |
|
| ~GxSysBase (void) override |
| | デストラクタ
|
| |
| b32 | isLocked (void) |
| | クリティカルセクションのロック状態を確認する
|
| |
| void | sleep (f32 time) |
| | スリープ(スクリプト用)
|
| |
|
constexpr | GxClassBase (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBase (const GxClassBase &base) |
| | コピーコンストラクタ
|
| |
|
| ~GxClassBase (void) override |
| | デストラクタ
|
| |
|
constexpr | GxClassBaseRoot (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| | コピーコンストラクタ
|
| |
|
virtual | ~GxClassBaseRoot (void) |
| | デストラクタ
|
| |
|
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| | 代入演算子
|
| |
|
virtual GxRtti & | getRtti (void) const =0 |
| | Rttiの取得
|
| |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| | デフォルトオブジェクトを取得
|
| |
|
GX_FORCE_INLINE b32 | isDefaultObject (void) |
| | デフォルトオブジェクト判定
|
| |
|
| SingletonBase (void) |
| | コンストラクタ
|
| |
|
| ~SingletonBase (void) |
| | デストラクタ
|
| |
|
| void | update (void) override |
| | 更新
|
| |
| void | renderUnit (void) override |
| | ユニットの描画
|
| |
|
virtual void | updateShadowSplit (void) |
| | シャドウカスケード分割の更新
|
| |
|
virtual void | updateShadowMatrix (void) |
| | シャドウ行列の更新
|
| |
| virtual void | updateShadowMatrixOrtho (RENDER_VIEW view, const GxVector3 &sunVector, GxShadowDataView *pShadowDataView, f32 yMax, f32 yMin) |
| | シャドウ行列の更新
|
| |
| virtual void | updateShadowMatrixStable (RENDER_VIEW view, const GxVector3 &sunVector, GxShadowDataView *pShadowDataView, f32 yMax, f32 yMin) |
| | シャドウ行列の更新
|
| |
| virtual void | updateShadowMatrixLisPSM (RENDER_VIEW view, const GxVector3 &sunVector, GxShadowDataView *pShadowDataView, f32 yMax, f32 yMin) |
| | シャドウ行列の更新
|
| |
|
virtual void | pickupLight (void) |
| | ライトのピックアップ
|
| |
| GxMatrixAffine | getPointShadowMatrix (const GxUnitLightBase *pPointShadowLight, b32 lookBehind) |
| | ポイントシャドウ行列を取得
|
| |
| GxVector4 | getPointShadowFishEyeParameter (const GxUnitLightBase *pPointShadowLight, b32 useOffset) |
| | ポイントシャドウ用魚眼パラメータを取得
|
| |
| void | createCameraFrustumCorner (const GxMatrixAffine &inverseViewMatrix, f32 nearZ, f32 farZ, f32 fov, f32 aspect, GxVector3 *pDst, u32 dstCount) |
| | カメラの視推台の八隅を求める
|
| |
| u32 | scissoringFrustum (const GxVector3 *pSrc, GxVector3 *pDst, u32 dstCount, f32 yMax, f32 yMin) |
| | 視推台をYmax/minで切る
|
| |
| void | createMatirxToFit (GxMatrixAffine &outMatrix, const GxAABB &aabb) |
| | フラスタムのフィットする変換行列を作成
|
| |
| void | extendToWorldMaxMin (GxAABB &aabb, const GxMatrixAffine &lightViewMatrix, f32 yMax, f32 yMin) |
| | AABBをYmax/minに収めるまで延ばす
|
| |
| void | extendToWorldMaxMin (GxAABB &aabb, const GxMatrix44 &lightViewProjectionMatrix, f32 yMax, f32 yMin) |
| | AABBをYmax/minに収めるまで延ばす
|
| |
| b32 | createRealTimeEnvironmentMap (void) |
| | 動的環境マップ作成
|
| |
| b32 | environmentMapDrawCountDown (void) |
| | 環境マップウェイトカウント
|
| |
| b32 | createOpacityMap (void) |
| | 不透明マップ作成
|
| |
| void | updateOpacityMap (GxViewport *pViewport) |
| | 不透明マップ更新
|
| |
| s32 | primitiveCustomShaderCallback (void *pSource, void *pArgument) |
| | プリミティブ用カスタムシェーダコールバック
|
| |
| void | updateShadowLight (RENDER_VIEW view) |
| | シャドウライトを更新
|
| |
|
GX_FORCE_INLINE b32 | isShaderPackageReady (void) const |
| | シェーダパッケージの準備がOKかを取得
|
| |
|
GX_FORCE_INLINE void | setShaderPackageReady (b32 isReady) |
| | シェーダパッケージの準備がOKかを設定
|
| |
| b32 | renderInitialize (void) |
| | 描画初期化
|
| |
| void | setRenderMaterial (GxRenderMaterial *pMaterial) |
| | マテリアル設定
|
| |
|
|
constexpr GxUnitLightShadow * | getShadowLight (void) const |
| | シャドウライトを取得
|
| |
|
constexpr GxUnitLightShadow * | getRegistedShadowLightAtView (RENDER_VIEW view) const |
| | 指定したビューに登録されているシャドウライトを取得
|
| |
|
constexpr GxUnitLightBase * | getPointShadowLight (RENDER_VIEW view, u32 index=0) const |
| | ポイントシャドウライトを取得
|
| |
|
constexpr u32 | getPointShadowLightCount (RENDER_VIEW view) const |
| | ポイントシャドウライトの個数を取得
|
| |
|
GX_FORCE_INLINE void | setShadowMapResolution (const GxSize &resolution) |
| | シャドウマップの解像度を設定
|
| |
|
GX_FORCE_INLINE GxSize | getShadowMapResolution (void) const |
| | シャドウマップの解像度を取得
|
| |
|
constexpr void | setCascadeShadowSplitCount (RENDER_VIEW view, u32 count) |
| | カスケードシャドウの分割数を設定(最大数)
|
| |
|
constexpr u32 | getCascadeShadowSplitCount (RENDER_VIEW view) const |
| | カスケードシャドウの分割数を取得(最大数)
|
| |
|
constexpr u32 | getRendrCascadeShadowSplitCount (RENDER_VIEW view) const |
| | カスケードシャドウの分割数を取得(描画に使われている数)
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getShadowRenderLightDirection (RENDER_VIEW view) const |
| | 描画用のシャドウライトの方向を取得
|
| |
|
GX_FORCE_INLINE const GxMatrix44 & | getShadowRenderMatrix (RENDER_VIEW view, u32 cascadeLevel) const |
| | シャドウ行列を取得
|
| |
|
constexpr f32 | getShadowNearZ (RENDER_VIEW view, u32 cascadeLevel) const |
| | シャドウNearを取得
|
| |
|
constexpr f32 | getShadowFarZ (RENDER_VIEW view, u32 cascadeLevel) const |
| | シャドウFarを取得
|
| |
|
GX_FORCE_INLINE const GxShapeBox & | getShadowCullingBox (RENDER_VIEW view, u32 cascadeLevel) const |
| | シャドウパスのカリングボックスを取得
|
| |
|
GX_FORCE_INLINE const GxMatrix44 & | getShadowSampleMatrix (RENDER_VIEW view, u32 cascadeLevel) const |
| | シャドウサンプリング行列を取得
|
| |
|
constexpr f32 | getShadowFarDepth (RENDER_VIEW view, u32 cascadeLevel) const |
| | シャドウFar深度を取得
|
| |
|
GX_FORCE_INLINE const GxVector4 & | getShadowSampleLerpParameter (RENDER_VIEW view) const |
| | シャドウサンプリングの線形補間用パラメータを取得
|
| |
| GxRect | getShadowBufferViewportRect (u32 index, RENDER_VIEW view) const |
| | カスケードシャドウマップのビューポート矩形を取得
|
| |
| GxRenderTexture * | getShadowBuffer (RENDER_VIEW view=RENDER_VIEW::_0) const |
| | カスケードシャドウマップを取得
|
| |
|
constexpr GxRenderTexture * | getEnvironmentMap (void) const |
| | 動的環境マップを取得
|
| |
|
constexpr GxRenderTexture * | getOpacityMap (void) const |
| | 不透明マップを取得
|
| |
| SHADOW_MATRIX_TYPE | getShadowMatrixType (void) |
| | シャドウマトリクスの生成方式を取得
|
| |
| void | setShadowMatrixType (SHADOW_MATRIX_TYPE type) |
| | シャドウマトリクスの生成方式を設定
|
| |
|
constexpr BRDF_TYPE | getBrdfType (void) const |
| | BRDFタイプを取得
|
| |
|
constexpr void | setBrdfType (BRDF_TYPE type) |
| | BRDFタイプを設定
|
| |
|
GX_FORCE_INLINE const GxUnitFog::GxParameter & | getFogParameter (void) const |
| | フォグのパラメータを取得
|
| |
|
GX_FORCE_INLINE void | setFogParameter (const GxUnitFog::GxParameter ¶meter) |
| | フォグのパラメータを設定
|
| |
|
GX_FORCE_INLINE const GxUnitSsao::GxParameter & | getSsaoParameter (void) const |
| | SSAOのパラメータを取得
|
| |
|
GX_FORCE_INLINE void | setSsaoParameter (const GxUnitSsao::GxParameter ¶meter) |
| | SSAOパラメータを設定
|
| |
|
GX_FORCE_INLINE const GxUnitSsr::GxParameter & | getSsrParameter (void) const |
| | SSRのパラメータを取得
|
| |
|
GX_FORCE_INLINE void | setSsrParameter (const GxUnitSsr::GxParameter ¶meter) |
| | SSRパラメータを設定
|
| |
|
GX_FORCE_INLINE b32 | isDummyLightEnable (void) const |
| | ダミーライト有効/無効を判定
|
| |
|
GX_FORCE_INLINE void | setDummyLightEnable (b32 enable) |
| | ダミーライト有効/無効を設定
|
| |
|
GX_FORCE_INLINE b32 | isUseLiSPSM (void) const |
| | LiSPSM使用/不使用を判定
|
| |
|
GX_FORCE_INLINE void | setUseLiSPSM (b32 use) |
| | LiSPSM使用/不使用を設定
|
| |
|
GX_FORCE_INLINE b32 | isUseHardwarePcf (void) const |
| | ハードウェアPCF使用/不使用を判定
|
| |
|
GX_FORCE_INLINE void | setUseHardwarePcf (b32 use) |
| | ハードウェアPCF使用/不使用を設定
|
| |
|
GX_FORCE_INLINE b32 | isVelocityMapEnable (void) const |
| | 速度マップ有効/無効を判定
|
| |
|
GX_FORCE_INLINE void | setVelocityMapEnable (b32 enable) |
| | 速度マップ有効/無効を設定
|
| |
|
GX_FORCE_INLINE b32 | isOpacityMapEnable (void) const |
| | 不透明マップ有効/無効を判定
|
| |
|
GX_FORCE_INLINE void | setOpacityMapEnable (b32 enable) |
| | 不透明マップ有効/無効を設定
|
| |
|
GX_FORCE_INLINE b32 | isEnvironmentMapEnable (void) const |
| | 動的環境マップ有効/無効を判定
|
| |
|
GX_FORCE_INLINE void | setEnvironmentMapEnable (b32 enable) |
| | 動的環境マップ有効/無効を設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getEnvironmentMapPosition (void) const |
| | 環境マップの取得ポジションを取得
|
| |
|
GX_FORCE_INLINE void | setEnvironmentMapPosition (const GxVector3 &position) |
| | 環境マップの取得ポジションを設定
|
| |
|
constexpr f32 | getEnvironmentMapNear (void) const |
| | 環境マップの取得ポジションを取得
|
| |
|
constexpr void | setEnvironmentMapNear (f32 nearZ) |
| | 環境マップの取得ポジションを設定
|
| |
|
constexpr f32 | getEnvironmentMapFar (void) const |
| | 環境マップの取得ポジションを取得
|
| |
|
constexpr void | setEnvironmentMapFar (f32 farZ) |
| | 環境マップの取得ポジションを設定
|
| |
|
constexpr void | setStaticEnvironmentMapBrightness (f32 brightness, RENDER_VIEW view=RENDER_VIEW::_0) |
| | 静的環境マップの明るさを設定
|
| |
|
constexpr f32 | getStaticEnvironmentMapBrightness (RENDER_VIEW view=RENDER_VIEW::_0) const |
| | 静的環境マップの明るさを取得
|
| |
|
GX_FORCE_INLINE b32 | isMaskEnable (void) const |
| | マスク有効判定
|
| |
|
GX_FORCE_INLINE void | setMaskEnable (b32 enable) |
| | マスク有効設定
|
| |
|
constexpr GxResModel::LOD | getWholeLodMode (void) const |
| | 全体LODモードを取得
|
| |
|
GX_FORCE_INLINE b32 | isLodEnable (void) const |
| | LOD有効判定
|
| |
|
constexpr s32 | getPointShadowSamplingType (void) const |
| | ポイントシャドウのサンプリングタイプを取得
|
| |
|
constexpr void | setPointShadowSamplingType (s32 type) |
| | ポイントシャドウのサンプリングタイプを設定
|
| |
| GX_FORCE_INLINE GxResShaderPackage * | getModelShaderPackage (void) override |
| | モデル用シェーダパッケージを取得
|
| |
|
GX_FORCE_INLINE GX_HANDLE | getModelMaterialFunctionsHandleByName (GX_CSTR name) const |
| | モデルマテリアルの関数ハンドルを名前から取得
|
| |
|
GX_FORCE_INLINE GX_HANDLE | getModelMaterialFunctionsHandleByVirtualName (GX_CSTR name) const |
| | モデルマテリアルの関数ハンドルを仮想名から取得
|
| |
|
GX_FORCE_INLINE GX_HANDLE | getModelMaterialParameterHandleByName (GX_CSTR name) const |
| | モデルマテリアルのパラメータハンドルを名前から取得
|
| |
|
GX_FORCE_INLINE GX_HANDLE | getModelMaterialParameterHandleByVirtualName (GX_CSTR name) const |
| | モデルマテリアルのパラメータハンドルを仮想名から取得
|
| |
|
GX_FORCE_INLINE GxFillRectangle * | getFillRectangle (void) |
| | 塗りつぶし矩形を取得
|
| |
|
constexpr GxRenderTexture * | getWhiteTexture (void) const |
| | Get white filled 1x1px texture.
|
| |
| GxUnitLightShadow * | setShadowLight (GxUnitLightShadow *pLight) |
| | シャドウライトを設定
|
| |
| void | registShadowLight (GxUnitLightShadow *pLight) |
| | シャドウライトの登録
|
| |
| void | unregistShadowLight (GxUnitLightShadow *pLight) |
| | シャドウライトの登録解除
|
| |
|
| static void | getPositionFromVirtual (const GxVector2 &virtualPosition, GxPoint2 &outputPosition, const GxSize *pOutputResolution) |
| | virtualResolution→指定Resolutionに座標変換
|
| |
| static void | getPositionToVirtual (const GxPoint2 &inputPosition, GxVector2 &virtualPosition, const GxSize *pInputResolution) |
| | 指定Resolution→virtualResolutionに座標変換
|
| |
| static void | getPositionVirtualToOutput (const GxVector2 &virtualPosition, GxPoint2 &outputPosition) |
| | virtualResolution→OutputResolutionに座標変換
|
| |
| static void | getPositionOutputToVirtual (const GxPoint2 &outputPosition, GxVector2 &virtualPosition) |
| | OutputResolution→virtualResolutionに座標変換
|
| |
| static void | getRectFromVirtual (const GxRectF &baseRect, GxRect &dstRect, const GxSize *pOutputResolution) |
| | virtualResolution→指定Resolutionに矩形変換
|
| |
| static void | getRectToVirtual (const GxRect &baseRect, GxRectF &dstRect, const GxSize *pInputResolution) |
| | 指定Resolution→virtualResolutionに矩形変換
|
| |
| static void | getRectVirtualToOutput (const GxRectF &baseRect, GxRect &dstRect) |
| | virtualResolution→OutputResolutionに矩形変換
|
| |
| static void | getRectOutputToVirtual (const GxRect &baseRect, GxRectF &dstRect) |
| | OutputResolution→virtualResolutionに矩形変換
|
| |
| static GxPoint2 | getPositionViewPortToOutput (const GxPoint2 &viewportPosition, const RENDER_VIEW viewportNo) |
| | 各ビューポートでの2D座標系→OutputResolutionに変換
|
| |
| static GxPoint2 | getPositionOutputToViewPort (const GxPoint2 &outputResolution, const RENDER_VIEW viewportNo) |
| | OutputResolution→各ビューポートでの2D座標系に変換
|
| |
|
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| | Rttiの取得
|
| |
|
static GX_FORCE_INLINE GxSysRenderBase & | getSingleton (void) |
| | 参照を取得
|
| |
|
static constexpr GxSysRenderBase * | getSingletonPointer (void) |
| | ポインタを取得
|
| |
|
static constexpr u32 | LIGHTING_TILE_WIDTH = GxMath::VALUE_128 |
| | ライティングのタイル幅
|
| |
|
static constexpr u32 | LIGHTING_TILE_HEIGHT = GxMath::VALUE_64 |
| | ライティングのタイル高さ
|
| |
| enum class | LOCK_TYPE { SEQUENTIAL_THREAD_SAFE
, THREAD_SAFE
} |
| | ロックタイプ More...
|
| |
| void | drawClearTexture (GxViewport *pViewport) |
| | 画面クリア用テクスチャを描画
|
| |
|
void | copyViewport (void) |
| | ビューポートをコピー
|
| |
| virtual GxRenderTexture * | getViewportRenderTarget (RENDER_VIEW viewport) |
| | 指定ビューポートのレンダーターゲットを取得
|
| |
|
GX_FORCE_INLINE GxRenderContext * | getRenderContext (u32 workerThreadIndex) |
| | 指定スレッドのコンテキストを取得
|
| |
|
void | terminateGxModules (void) |
| | GXモジュールの終了処理
|
| |
| void | lock (LOCK_TYPE type=LOCK_TYPE::THREAD_SAFE) |
| | クリティカルセクションに入る
|
| |
| void | unlock (LOCK_TYPE type=LOCK_TYPE::THREAD_SAFE) |
| | クリティカルセクションを出る
|
| |
|
template<typename T > |
| T * | addModule (void) |
| | モジュールを作成
|
| |
|
template<typename T > |
| void | removeModule (void) |
| | モジュールを削除
|
| |