OROCHI
 
Loading...
Searching...
No Matches
GxRenderMaterial Class Reference

マテリアル構造体 More...

#include <GxRenderMaterial.h>

Inheritance diagram for GxRenderMaterial:
Collaboration diagram for GxRenderMaterial:

Classes

struct  GxParameterInfo
 パラメータ情報 More...
 
class  GxShaderInfo
 シェーダ情報 More...
 

Public Member Functions

初期化
 GxRenderMaterial (void)
 コンストラクタ
 
 ~GxRenderMaterial (void) override
 デストラクタ
 
- Public Member Functions inherited from GxClassBase
constexpr GxClassBase (void)
 コンストラクタ
 
constexpr GxClassBase (const GxClassBase &base)
 コピーコンストラクタ
 
 ~GxClassBase (void) override
 デストラクタ
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Public Attributes

メンバ変数
GxResMaterial_pResMaterial
 親リソース
 
PASS _pass
 描画パス
 
TYPE _type
 タイプ
 
s32 _drawOrder
 描画順
 
GxRenderAlphaTestState _alphaTestState
 アルファテストステート
 
GxFlag32Index< ATTRIBUTE_attribute
 属性
 
GxShaderInfo _drawShaderInfo
 描画シェーダ情報
 
RENDER_FACE_CULLING_MODE _cullingMode
 カリング情報
 

定義

enum class  PASS { MODEL , HUD , POST_EFFECT , MAX }
 描画パス定義 More...
 
enum class  TYPE {
  OPACITY , ALPHA_TEST , BLEND , ADD ,
  SUB , BLEND2PASS , DITHER , ALPHA_TO_COVERAGE ,
  BLEND_ALPHA_TEST , ADD_ALPHA_TEST , SUB_ALPHA_TEST , MAX
}
 描画方法定義 More...
 
enum class  ATTRIBUTE {
  BACK_FACE_CULLING_ENABLE , RENDER_TO_VIEWPORT , RENDER_TO_SHADOW_MAP , SHADOW_RECIVE_DISABLE ,
  OVERPAINT_PRE , OVERPAINT , RENDER_TO_DEPTH_BUFFER , NPR ,
  NPR_DRAW_POLYGON_LINE , TESSELLATION , MAX
}
 属性定義 More...
 
static GX_CSTR SHADER_PACKAGE_PATH [static_cast< u32 >(PASS::MAX)]
 

操作

void terminate (void)
 終了処理
 
static void copy (GxRenderMaterial *pDst, const GxRenderMaterial *pSrc, b32 isCopyParent=true)
 コピー
 

アクセサ

const GxTypedObjectgetDefaultObject (void) override
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE void getPropertyAlphaTestFunction (void *const pValue)
 アルファテスト関数取得
 
GX_FORCE_INLINE void setPropertyAlphaTestFunction (const void *const pValue)
 アルファテスト関数設定
 
GX_FORCE_INLINE void getPropertyAlphaTestReference (void *const pValue)
 アルファテスト参照取得
 
GX_FORCE_INLINE void setPropertyAlphaTestReference (const void *const pValue)
 アルファテスト参照設定
 
constexpr TYPE getType (void) const
 タイプの取得
 
constexpr void setType (TYPE type)
 タイプの設定
 
GX_FORCE_INLINE GxRenderAlphaTestState getAlphaTestState (void) const
 アルファテストステートの取得
 
GX_FORCE_INLINE void setAlphaTestState (GxRenderAlphaTestState state)
 アルファテストステートの設定
 
GX_FORCE_INLINE b32 isAttribute (ATTRIBUTE attribute) const
 属性の取得
 
GX_FORCE_INLINE void setAttribute (ATTRIBUTE attribute, b32 enable)
 属性の設定
 
GX_FORCE_INLINE RENDER_FACE_CULLING_MODE getCullingMode (void) const
 カリングモードを取得
 
GX_FORCE_INLINE void setCullingMode (RENDER_FACE_CULLING_MODE cullingmode)
 カリングモードを設定
 
GX_FORCE_INLINE GxResShaderPackagegetShaderPackage (void) const
 シェーダパッケージの取得
 
constexpr u32 getFunctionsCount (void) const
 関数の数
 
constexpr u32 getParameterCount (void) const
 パラメータの数
 
GX_FORCE_INLINE GX_HANDLE getFunctionsHandleByName (GX_CSTR name) const
 関数のハンドルを名前から取得
 
GX_FORCE_INLINE GX_HANDLE getFunctionsHandleByVirtualName (GX_CSTR name) const
 関数のハンドルを仮想名から取得
 
GX_FORCE_INLINE GX_HANDLE getParameterHandleByName (GX_CSTR name) const
 パラメータのハンドルを名前から取得
 
GX_FORCE_INLINE GX_HANDLE getParameterHandleByVirtualName (GX_CSTR name) const
 パラメータのハンドルを仮想名から取得
 
GX_FORCE_INLINE void setFunctions (GX_HANDLE handle, u32 value)
 関数の設定
 
GX_FORCE_INLINE u32 getFunctions (GX_HANDLE handle)
 関数の取得
 
GX_FORCE_INLINE void setParameterVector (GX_HANDLE handle, const GxVector4 &vector)
 パラメータの設定(Vector)
 
GX_FORCE_INLINE const GxVector4getParameterVector (GX_HANDLE handle) const
 パラメータの取得(Vector)
 
GX_FORCE_INLINE void setParameterTexture (GX_HANDLE handle, GxResTexture *pTexture)
 パラメータの設定(Texture)
 
GX_FORCE_INLINE GxResTexturegetParameterTexture (GX_HANDLE handle)
 パラメータの取得(Texture)
 
GX_FORCE_INLINE GxShaderLanguage::PARAMETER_TYPE getParameterInfoType (GX_HANDLE handle)
 パラメータのタイプを取得
 
GX_FORCE_INLINE void setParameterSamplerState (GX_HANDLE handle, GxRenderSamplerState samplerState)
 パラメータの設定(SamplerState)
 
GX_FORCE_INLINE GxRenderSamplerState getParameterSamplerState (GX_HANDLE handle)
 パラメータの取得(SamplerState)
 
GX_FORCE_INLINE GxRenderSamplerStategetParameterSamplerStateAddress (GX_HANDLE handle)
 パラメータの取得(SamplerState)
 
GX_FORCE_INLINE void setParameterInvalid (GX_HANDLE handle)
 パラメータをINVALIDに変更
 
GX_FORCE_INLINE b32 hasAlphaTest (void)
 マテリアルがアルファテストを持っているか判定
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 

Detailed Description

マテリアル構造体

Member Enumeration Documentation

◆ ATTRIBUTE

enum class GxRenderMaterial::ATTRIBUTE
strong

属性定義

Enumerator
BACK_FACE_CULLING_ENABLE 

バックフェースカリングを行う

RENDER_TO_VIEWPORT 

画面に描画

RENDER_TO_SHADOW_MAP 

シャドウマップに描画

SHADOW_RECIVE_DISABLE 

影を受けない(半透明メッシュのみ有効)

OVERPAINT_PRE 

ポストエフェクト前に描画

OVERPAINT 

ポストエフェクト後に描画

RENDER_TO_DEPTH_BUFFER 

深度バッファに描画(半透明メッシュのみ影響)

NPR 

NPR:トゥーンシェーディング

NPR_DRAW_POLYGON_LINE 

NPR:アウトライン描画

TESSELLATION 

テッセレーション有効

MAX 

定義数

◆ PASS

enum class GxRenderMaterial::PASS
strong

描画パス定義

Enumerator
MODEL 

3Dモデル用

HUD 

HUD用

POST_EFFECT 

ポストエフェクト用

MAX 

定義数

◆ TYPE

enum class GxRenderMaterial::TYPE
strong

描画方法定義

Enumerator
OPACITY 

不透明

ALPHA_TEST 

アルファテスト

BLEND 

ブレンド

ADD 

加算

SUB 

減算

BLEND2PASS 

ブレンドパス

DITHER 

ディザー

ALPHA_TO_COVERAGE 

アルファトゥカバレッジ

BLEND_ALPHA_TEST 

アルファブレンドテスト

ADD_ALPHA_TEST 

アルファ加算テスト

SUB_ALPHA_TEST 

アルファ減算テスト

MAX 

定義数

Member Function Documentation

◆ copy()

void GxRenderMaterial::copy ( GxRenderMaterial * pDst,
const GxRenderMaterial * pSrc,
b32 isCopyParent = true )
static

コピー

Parameters
pDst[in,out] コピー先マテリアル
pSrc[out] コピー元マテリアル
isCopyParent[in] 親マテリアルもコピーするならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getDefaultObject()

const GxTypedObject * GxRenderMaterial::getDefaultObject ( void )
overridevirtual

デフォルトオブジェクトを取得

Returns
デフォルトオブジェクト

Reimplemented from GxClassBaseRoot.

Here is the call graph for this function:

Member Data Documentation

◆ SHADER_PACKAGE_PATH

GX_CSTR GxRenderMaterial::SHADER_PACKAGE_PATH
static
Initial value:
= {
"GxShader/shader_hlsl/model",
"GxShader/shader_hlsl/model",
"GxShader/shader_hlsl/model",
}

The documentation for this class was generated from the following files: