|
|
| 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) |
| モジュールを削除
|
|