ランタイム
IDevice.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Reference.h"
7 
8 namespace Mix{ namespace Graphics{
9 
12  class IDevice : public Mix::Reference
13  {
14  public:
18  {
19  WINDOW = 0,
20  FULLSCREEN = 1,
21  };
22 
23  protected:
25  virtual ~IDevice( void ){}
26 
27  public:
30  virtual Mix::Graphics::SHADER_MODEL GetShaderModel( void ) const = 0;
31 
34  virtual Mix::Graphics::IDevice::DISPLAY_MODE GetDisplayMode( void ) const = 0;
37  virtual void SetDisplayMode( Mix::Graphics::IDevice::DISPLAY_MODE dispMode ) = 0;
39  virtual void ToggleDisplayMode( void ) = 0;
40 
43  virtual const Mix::Point& GetScreenSize( void ) const = 0;
46  virtual const Mix::Rectangle& GetScreenValidBounds( void ) const = 0;
47 
50  virtual Boolean IsHullShaderSupported( void ) const = 0;
53  virtual Boolean IsDomainShaderSupported( void ) const = 0;
56  virtual Boolean IsGeometryShaderSupported( void ) const = 0;
59  virtual Boolean IsShaderConstantSupported( void ) const = 0;
60 
64  virtual Boolean IsIndexSupported( Mix::Graphics::INDEX_FORMAT format ) const = 0;
65 
69  virtual Boolean IsPlaneTextureSupported( Mix::Graphics::FORMAT format ) const = 0;
73  virtual Boolean IsVolumeTextureSupported( Mix::Graphics::FORMAT format ) const = 0;
77  virtual Boolean IsCubeTextureSupported( Mix::Graphics::FORMAT format ) const = 0;
97  virtual Boolean IsDepthTextureSupported( Mix::Graphics::FORMAT format ) const = 0;
98 
104  virtual Boolean CreateHullShaderFromFile( const wchar_t* pFilePath, Mix::Graphics::IHullShader** ppHullShader ) = 0;
112  virtual Boolean CreateHullShaderFromMemory( const void* pSrc, UInt32 srcSize, Mix::Graphics::IHullShader** ppHullShader, const wchar_t* pDebugName = NULL ) = 0;
118  virtual Boolean CreateDomainShaderFromFile( const wchar_t* pFilePath, Mix::Graphics::IDomainShader** ppDomainShader ) = 0;
126  virtual Boolean CreateDomainShaderFromMemory( const void* pSrc, UInt32 srcSize, Mix::Graphics::IDomainShader** ppDomainShader, const wchar_t* pDebugName = NULL ) = 0;
132  virtual Boolean CreateGeometryShaderFromFile( const wchar_t* pFilePath, Mix::Graphics::IGeometryShader** ppGeometryShader ) = 0;
140  virtual Boolean CreateGeometryShaderFromMemory( const void* pSrc, UInt32 srcSize, Mix::Graphics::IGeometryShader** ppGeometryShader, const wchar_t* pDebugName = NULL ) = 0;
145  virtual Boolean CreateVertexShaderFromFile( const wchar_t* pFilePath, Mix::Graphics::IVertexShader** ppVertexShader ) = 0;
152  virtual Boolean CreateVertexShaderFromMemory( const void* pSrc, UInt32 srcSize, Mix::Graphics::IVertexShader** ppVertexShader, const wchar_t* pDebugName = NULL ) = 0;
157  virtual Boolean CreatePixelShaderFromFile( const wchar_t* pFilePath, Mix::Graphics::IPixelShader** ppPixelShader ) = 0;
164  virtual Boolean CreatePixelShaderFromMemory( const void* pSrcData, UInt32 srcDataSize, Mix::Graphics::IPixelShader** ppPixelShader, const wchar_t* pDebugName = NULL ) = 0;
165 
173  virtual Boolean CreateShaderConstant( UInt32 size, Boolean bDynamic, const void* pInitialData, Mix::Graphics::IShaderConstant** ppShaderConstant, const wchar_t* pDebugName = NULL ) = 0;
174 
182  virtual Boolean CreateVertexLayout( const Mix::Graphics::VERTEX_ELEMENT* pElements, UInt32 numElement, const Mix::Graphics::IVertexShader* pVertexShader, Mix::Graphics::IVertexLayout** ppVertexLayout, const wchar_t* pDebugName = NULL ) = 0;
192  virtual Boolean CreateVertexBuffer( UInt32 count, UInt32 stride, Boolean bDynamic, UInt32 resizeStep, const void* pInitialData, Mix::Graphics::IVertexBuffer** ppVertexBuffer, const wchar_t* pDebugName = NULL ) = 0;
202  virtual Boolean CreateIndexBuffer( Mix::Graphics::INDEX_FORMAT format, UInt32 count, Boolean bDynamic, UInt32 resizeStep, const void* pInitialData, Mix::Graphics::IIndexBuffer** ppIndexBuffer, const wchar_t* pDebugName = NULL ) = 0;
203 
208  virtual Boolean CreateTextureFromFile( const wchar_t* pFilePath, Mix::Graphics::ITexture** ppTexture ) = 0;
215  virtual Boolean CreateTextureFromMemory( const wchar_t* pFilePath, const void* pSrc, UInt32 srcSize, Mix::Graphics::ITexture** ppTexture ) = 0;
224  virtual Boolean CreateDynamicPlaneTexture( UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture** ppTexture, const wchar_t* pDebugName = NULL ) = 0;
232  virtual Boolean CreateTargetPlaneTexture( UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture** ppTexture, const wchar_t* pDebugName = NULL ) = 0;
241  virtual Boolean CreateLockableTargetPlaneTexture( UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture** ppTexture, const wchar_t* pDebugName = NULL ) = 0;
248  virtual Boolean CreateTargetCubeTexture( UInt32 edgeLength, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture** ppTexture, const wchar_t* pDebugName = NULL ) = 0;
257  virtual Boolean CreateDepthTexture( UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture** ppTexture, const wchar_t* pDebugName = NULL ) = 0;
258 
264  virtual Boolean CreateQuery( Mix::Graphics::QUERY_FORMAT format, Mix::Graphics::IQuery** ppQuery, const wchar_t* pDebugName = NULL ) = 0;
265 
268  virtual Boolean Begin( void ) = 0;
270  virtual void End( void ) = 0;
272  virtual void Present( void ) = 0;
273 
288 
294  virtual void Clear( Boolean clearTarget, Boolean clearDepth, const Mix::Vector4& color = Mix::Vector4(), Float32 z = 1.0f ) = 0;
295 
298  virtual const Mix::Rectangle& GetViewBounds( void ) const = 0;
304  virtual void SetViewBounds( Int32 x, Int32 y, Int32 width, Int32 height ) = 0;
307  virtual void SetViewBounds( const Mix::Rectangle& rect ) = 0;
308 
311  virtual const Mix::Rectangle& GetScissorBounds( void ) const = 0;
314  virtual void SetScissorBounds( const Mix::Rectangle& rect ) = 0;
320  virtual void SetScissorBounds( Int32 x, Int32 y, Int32 width, Int32 height ) = 0;
321 
324  virtual const Mix::Graphics::RASTERIZER_DESC& GetRasterizerState( void ) const = 0;
329  virtual void SetRasterizerState( Mix::Graphics::FILL_TYPE fillMode, Mix::Graphics::CULL_TYPE cullMode, Boolean bScissoring ) = 0;
332  virtual void SetRasterizerState( const Mix::Graphics::RASTERIZER_DESC& desc ) = 0;
333 
336  virtual const Mix::Graphics::DEPTH_DESC& GetDepthState( void ) const = 0;
344  virtual void SetDepthState( const Mix::Graphics::DEPTH_DESC& desc ) = 0;
345 
348  virtual const Mix::Graphics::BLEND_DESC& GetBlendState( void ) const = 0;
355  virtual void SetBlendState( const Mix::Graphics::BLEND_DESC& desc ) = 0;
356 
359  virtual void SetVertexLayout( Mix::Graphics::IVertexLayout* pVertexLayout ) = 0;
360 
364  virtual void SetHullShader( Mix::Graphics::IHullShader* pHullShader ) = 0;
368  virtual void SetDomainShader( Mix::Graphics::IDomainShader* pDomainShader ) = 0;
372  virtual void SetGeometryShader( Mix::Graphics::IGeometryShader* pGeometryShader ) = 0;
375  virtual void SetVertexShader( Mix::Graphics::IVertexShader* pVertexShader ) = 0;
378  virtual void SetPixelShader( Mix::Graphics::IPixelShader* pPixelShader ) = 0;
379 
385  virtual void SetVertexShaderConstantB( UInt32 startRegister, const Boolean* data, UInt32 count ) = 0;
391  virtual void SetVertexShaderConstantI( UInt32 startRegister, const Int32* data, UInt32 count ) = 0;
397  virtual void SetVertexShaderConstantF( UInt32 startRegister, const Float32* data, UInt32 count ) = 0;
403  virtual void SetVertexShaderConstantF( UInt32 startRegister, const Mix::Vector4* data, UInt32 count ) = 0;
409  virtual void SetVertexShaderConstantF( UInt32 startRegister, const Mix::Matrix4x4* data, UInt32 count ) = 0;
415  virtual void SetPixelShaderConstantB( UInt32 startRegister, const Boolean* data, UInt32 count ) = 0;
421  virtual void SetPixelShaderConstantI( UInt32 startRegister, const Int32* data, UInt32 count ) = 0;
427  virtual void SetPixelShaderConstantF( UInt32 startRegister, const Float32* data, UInt32 count ) = 0;
433  virtual void SetPixelShaderConstantF( UInt32 startRegister, const Mix::Vector4* data, UInt32 count ) = 0;
439  virtual void SetPixelShaderConstantF( UInt32 startRegister, const Mix::Matrix4x4* data, UInt32 count ) = 0;
440 
445  virtual void SetHullShaderConstant( UInt32 slot, Mix::Graphics::IShaderConstant* pShaderConstant ) = 0;
450  virtual void SetDomainShaderConstant( UInt32 slot, Mix::Graphics::IShaderConstant* pShaderConstant ) = 0;
455  virtual void SetGeometryShaderConstant( UInt32 slot, Mix::Graphics::IShaderConstant* pShaderConstant ) = 0;
459  virtual void SetVertexShaderConstant( UInt32 slot, Mix::Graphics::IShaderConstant* pShaderConstant ) = 0;
463  virtual void SetPixelShaderConstant( UInt32 slot, Mix::Graphics::IShaderConstant* pShaderConstant ) = 0;
464 
467  virtual void SetVertexBuffer( Mix::Graphics::IVertexBuffer* pVertexBuffer ) = 0;
470  virtual void SetIndexBuffer( Mix::Graphics::IIndexBuffer* pIndexBuffer ) = 0;
471 
474  virtual UInt32 GetTextureStageMax( void ) const = 0;
483  virtual void ResetTexture( UInt32 stage ) = 0;
484 
489  virtual void Draw( Mix::Graphics::PRIMITIVE_TYPE primitiveType, UInt32 startVertex, UInt32 numVertex ) = 0;
496  virtual void DrawIndexed( Mix::Graphics::PRIMITIVE_TYPE primitiveType, UInt32 startVertex, UInt32 numVertex, UInt32 startIndex, UInt32 numIndex ) = 0;
497 
500  virtual UInt32 GetDrawPrimitiveCount( void ) const = 0;
501 
506  virtual Boolean SaveScreenshot( const wchar_t* pFileName ) = 0;
507  };
508 
509 }}
virtual Boolean SaveScreenshot(const wchar_t *pFileName)=0
スクリーンショットを保存します
virtual Boolean IsTargetPlaneTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでターゲットプレーンテクスチャが作成できるかどうかを確認します ...
virtual void End(void)=0
描画を終了します
全て書き込む
Definition: Common.h:1627
ジオメトリシェーダーインターフェース
Definition: IGeometryShader.h:12
クエリインターフェース
Definition: IQuery.h:12
ポイントクラス
Definition: Point.h:12
virtual Boolean IsShaderConstantSupported(void) const =0
シェーダー定数が使用できるかどうかを確認します
virtual void Draw(Mix::Graphics::PRIMITIVE_TYPE primitiveType, UInt32 startVertex, UInt32 numVertex)=0
プリミティブを描画します
virtual Boolean CreatePixelShaderFromMemory(const void *pSrcData, UInt32 srcDataSize, Mix::Graphics::IPixelShader **ppPixelShader, const wchar_t *pDebugName=NULL)=0
ピクセルシェーダーをメモリ内のファイルから作成します
virtual void SetPixelShaderConstantI(UInt32 startRegister, const Int32 *data, UInt32 count)=0
ピクセルシェーダーに整数型定数を設定します
virtual const Mix::Point & GetScreenSize(void) const =0
スクリーンのサイズを取得します
デプスステート構造体
Definition: Common.h:1653
virtual Boolean IsDepthTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでデプステクスチャが作成できるかどうかを確認します
virtual UInt32 GetDrawPrimitiveCount(void) const =0
描画したプリミティブの数を取得します
virtual void DrawIndexed(Mix::Graphics::PRIMITIVE_TYPE primitiveType, UInt32 startVertex, UInt32 numVertex, UInt32 startIndex, UInt32 numIndex)=0
インデックスに基づいてプリミティブを描画します
virtual Boolean CreateGeometryShaderFromMemory(const void *pSrc, UInt32 srcSize, Mix::Graphics::IGeometryShader **ppGeometryShader, const wchar_t *pDebugName=NULL)=0
ジオメトリシェーダーをメモリ内のファイルから作成します
virtual void SetGeometryShaderConstant(UInt32 slot, Mix::Graphics::IShaderConstant *pShaderConstant)=0
ジオメトリシェーダーに定数を設定します
virtual Boolean CreateTargetCubeTexture(UInt32 edgeLength, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture **ppTexture, const wchar_t *pDebugName=NULL)=0
ターゲットテクスチャを作成します
virtual const Mix::Graphics::DEPTH_DESC & GetDepthState(void) const =0
デプスステートを取得します
virtual Boolean IsLockableTargetPlaneTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでターゲットプレーンテクスチャ ( Lockable ) が作成できるかどうかを確認します ...
テクスチャインターフェース
Definition: ITexture.h:12
virtual void ResetTexture(UInt32 stage)=0
テクスチャを NULL に設定します
バーテックスバッファインターフェース
Definition: IVertexBuffer.h:12
virtual void SetRasterizerState(Mix::Graphics::FILL_TYPE fillMode, Mix::Graphics::CULL_TYPE cullMode, Boolean bScissoring)=0
ラスタライザステートを設定します
virtual void SetDomainShaderConstant(UInt32 slot, Mix::Graphics::IShaderConstant *pShaderConstant)=0
ドメインシェーダーに定数を設定します
ラスタライザステート構造体
Definition: Common.h:1644
FILL_TYPE
描画タイプ列挙定数
Definition: Common.h:1502
TEXTURE_FILTER_TYPE
テクスチャフィルタタイプ列挙定数
Definition: Common.h:1545
virtual void SetViewBounds(Int32 x, Int32 y, Int32 width, Int32 height)=0
ビューの範囲を設定します
virtual Boolean IsHullShaderSupported(void) const =0
ハルシェーダーが使用できるかどうかを確認します
virtual Boolean CreateDynamicPlaneTexture(UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture **ppTexture, const wchar_t *pDebugName=NULL)=0
ダイナミックテクスチャを作成します
virtual void SetHullShader(Mix::Graphics::IHullShader *pHullShader)=0
ハルシェーダーを設定します
virtual Boolean CreateGeometryShaderFromFile(const wchar_t *pFilePath, Mix::Graphics::IGeometryShader **ppGeometryShader)=0
ジオメトリシェーダーをファイルから作成します
virtual Boolean CreateVertexLayout(const Mix::Graphics::VERTEX_ELEMENT *pElements, UInt32 numElement, const Mix::Graphics::IVertexShader *pVertexShader, Mix::Graphics::IVertexLayout **ppVertexLayout, const wchar_t *pDebugName=NULL)=0
バーテックスレイアウトを作成します
バーテックスエレメント構造体
Definition: Common.h:1634
virtual Boolean IsGeometryShaderSupported(void) const =0
ジオメトリシェーダーが使用できるかどうかを確認します
virtual Boolean CreateTargetPlaneTexture(UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture **ppTexture, const wchar_t *pDebugName=NULL)=0
ターゲットテクスチャを作成します
virtual Boolean CreateVertexShaderFromMemory(const void *pSrc, UInt32 srcSize, Mix::Graphics::IVertexShader **ppVertexShader, const wchar_t *pDebugName=NULL)=0
バーテックスシェーダーをメモリ内のファイルから作成します
int Int32
符号有り32ビット整数
Definition: Common.h:65
virtual Boolean CreateShaderConstant(UInt32 size, Boolean bDynamic, const void *pInitialData, Mix::Graphics::IShaderConstant **ppShaderConstant, const wchar_t *pDebugName=NULL)=0
シェーダー定数を作成します
フルスクリーンモード
Definition: IDevice.h:20
virtual Mix::Graphics::SHADER_MODEL GetShaderModel(void) const =0
シェーダーモデルを取得します
virtual Boolean CreateQuery(Mix::Graphics::QUERY_FORMAT format, Mix::Graphics::IQuery **ppQuery, const wchar_t *pDebugName=NULL)=0
クエリを作成します
バーテックスレイアウトインターフェース
Definition: IVertexLayout.h:12
COLOR_WRITE_MASK
カラー書き込みマスク列挙定数
Definition: Common.h:1625
virtual void ToggleDisplayMode(void)=0
ディスプレイモードを交互に切り替えます
DISPLAY_MODE
ディスプレイモード列挙定数
Definition: IDevice.h:17
virtual void SetVertexBuffer(Mix::Graphics::IVertexBuffer *pVertexBuffer)=0
バーテックスバッファを設定します
新しいピクセル値が、現在のピクセル値以下のときに応じる
Definition: Common.h:1537
ウィンドウモード
Definition: IDevice.h:19
virtual const Mix::Rectangle & GetScissorBounds(void) const =0
シザリングの範囲を取得します
4x4行列クラス
Definition: Matrix4x4.h:12
virtual Boolean CreateIndexBuffer(Mix::Graphics::INDEX_FORMAT format, UInt32 count, Boolean bDynamic, UInt32 resizeStep, const void *pInitialData, Mix::Graphics::IIndexBuffer **ppIndexBuffer, const wchar_t *pDebugName=NULL)=0
インデックスバッファを作成します
virtual Boolean IsIndexSupported(Mix::Graphics::INDEX_FORMAT format) const =0
指定されたインデックスフォーマットが使用できるかどうかを確認します
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
virtual void SetVertexLayout(Mix::Graphics::IVertexLayout *pVertexLayout)=0
バーテックスレイアウトを設定します
SHADER_MODEL
シェーダーモデル列挙定数
Definition: Common.h:1425
virtual Boolean CreateVertexShaderFromFile(const wchar_t *pFilePath, Mix::Graphics::IVertexShader **ppVertexShader)=0
バーテックスシェーダーをファイルから作成します
ハルシェーダーインターフェース
Definition: IHullShader.h:12
virtual Boolean CreateTextureFromMemory(const wchar_t *pFilePath, const void *pSrc, UInt32 srcSize, Mix::Graphics::ITexture **ppTexture)=0
テクスチャをメモリ内のファイルから作成します
virtual void SetPixelShaderConstantB(UInt32 startRegister, const Boolean *data, UInt32 count)=0
ピクセルシェーダーにブール型定数を設定します
virtual Boolean IsVolumeTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでボリュームテクスチャが作成できるかどうかを確認します
virtual void SetIndexBuffer(Mix::Graphics::IIndexBuffer *pIndexBuffer)=0
インデックスバッファを設定します
ミックス
Definition: AtomicValue.h:6
virtual void SetPixelShaderConstant(UInt32 slot, Mix::Graphics::IShaderConstant *pShaderConstant)=0
ピクセルシェーダーに定数を設定します
virtual ~IDevice(void)
デストラクタ
Definition: IDevice.h:25
QUERY_FORMAT
クエリフォーマット列挙定数
Definition: Common.h:1606
virtual void SetVertexShaderConstantF(UInt32 startRegister, const Float32 *data, UInt32 count)=0
バーテックスシェーダーに浮動小数点型定数を設定します
矩形クラス
Definition: Rectangle.h:12
virtual const Mix::Graphics::BLEND_DESC & GetBlendState(void) const =0
ブレンドステートを取得します
virtual void SetDisplayMode(Mix::Graphics::IDevice::DISPLAY_MODE dispMode)=0
ディスプレイモードを設定します
virtual Boolean Begin(void)=0
描画を開始します
virtual void SetVertexShader(Mix::Graphics::IVertexShader *pVertexShader)=0
バーテックスシェーダーを設定します
virtual const Mix::Rectangle & GetViewBounds(void) const =0
ビューの範囲を取得します
virtual Boolean CreateHullShaderFromFile(const wchar_t *pFilePath, Mix::Graphics::IHullShader **ppHullShader)=0
ハルシェーダーをファイルから作成します
virtual void SetTexture(UInt32 stage, Mix::Graphics::TEXTURE_FILTER_TYPE filter, Mix::Graphics::TEXTURE_ADDRESS_TYPE address, Mix::Graphics::ITexture *pTexture)=0
テクスチャを設定します
ドメインシェーダーインターフェース
Definition: IDomainShader.h:12
virtual Boolean CreateVertexBuffer(UInt32 count, UInt32 stride, Boolean bDynamic, UInt32 resizeStep, const void *pInitialData, Mix::Graphics::IVertexBuffer **ppVertexBuffer, const wchar_t *pDebugName=NULL)=0
バーテックスバッファを作成します
virtual Boolean IsPlaneTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでプレーンテクスチャが作成できるかどうかを確認します
float Float32
32ビット浮動小数点
Definition: Common.h:83
virtual const Mix::Graphics::RASTERIZER_DESC & GetRasterizerState(void) const =0
ラスタライザステートを取得します
リファレンスクラス
Definition: Reference.h:12
virtual void SetDomainShader(Mix::Graphics::IDomainShader *pDomainShader)=0
ドメインシェーダーを設定します
バーテックスシェーダーインターフェース
Definition: IVertexShader.h:12
virtual void GetTarget(Mix::Graphics::ITexture **ppT0, Mix::Graphics::ITexture **ppT1, Mix::Graphics::ITexture **ppT2, Mix::Graphics::ITexture **ppT3, Mix::Graphics::ITexture **ppDS)=0
描画ターゲットを取得します
グラフィックスデバイスインターフェース
Definition: IDevice.h:12
virtual void SetDepthState(Boolean bTest, Boolean bWrite, Mix::Graphics::ZFUNC_TYPE func=Mix::Graphics::ZFUNC_LESSEQUAL)=0
デプスステートを設定します
virtual void Clear(Boolean clearTarget, Boolean clearDepth, const Mix::Vector4 &color=Mix::Vector4(), Float32 z=1.0f)=0
現在の描画先ターゲットをクリアします
シェーダーコンスタントインターフェース
Definition: IShaderConstant.h:12
リファレンスクラスインクルードファイル
virtual const Mix::Rectangle & GetScreenValidBounds(void) const =0
スクリーンの有効な範囲を取得します
virtual Boolean IsDynamicPlaneTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでダイナミックプレーンテクスチャが作成できるかどうかを確認します ...
virtual void SetPixelShader(Mix::Graphics::IPixelShader *pPixelShader)=0
ピクセルシェーダーを設定します
virtual void SetVertexShaderConstantI(UInt32 startRegister, const Int32 *data, UInt32 count)=0
バーテックスシェーダーに整数型定数を設定します
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
virtual Boolean IsDomainShaderSupported(void) const =0
ドメインシェーダーが使用できるかどうかを確認します
virtual void SetTarget(Mix::Graphics::ITexture *pT0, Mix::Graphics::ITexture *pT1, Mix::Graphics::ITexture *pT2, Mix::Graphics::ITexture *pT3, Mix::Graphics::ITexture *pDS)=0
描画ターゲットを設定します
virtual void SetVertexShaderConstant(UInt32 slot, Mix::Graphics::IShaderConstant *pShaderConstant)=0
バーテックスシェーダーに定数を設定します
virtual void Present(void)=0
バックバッファの内容を転送します
ブレンドステート構造体
Definition: Common.h:1662
virtual void SetHullShaderConstant(UInt32 slot, Mix::Graphics::IShaderConstant *pShaderConstant)=0
ハルシェーダーに定数を設定します
virtual UInt32 GetTextureStageMax(void) const =0
テクスチャステージの最大数を取得します
virtual Boolean IsCubeTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでキューブテクスチャが作成できるかどうかを確認します
virtual void SetVertexShaderConstantB(UInt32 startRegister, const Boolean *data, UInt32 count)=0
バーテックスシェーダーにブール型定数を設定します
virtual Boolean CreateHullShaderFromMemory(const void *pSrc, UInt32 srcSize, Mix::Graphics::IHullShader **ppHullShader, const wchar_t *pDebugName=NULL)=0
ハルシェーダーをメモリ内のファイルから作成します
CULL_TYPE
カリングタイプ列挙定数
Definition: Common.h:1510
virtual Boolean CreateDomainShaderFromFile(const wchar_t *pFilePath, Mix::Graphics::IDomainShader **ppDomainShader)=0
ドメインシェーダーをファイルから作成します
virtual Boolean CreateDepthTexture(UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture **ppTexture, const wchar_t *pDebugName=NULL)=0
デプステクスチャを作成します
TEXTURE_ADDRESS_TYPE
テクスチャー座標の解決手法列挙定数
Definition: Common.h:1554
BLEND_TYPE
ブレンドタイプ列挙定数
Definition: Common.h:1519
virtual void SetGeometryShader(Mix::Graphics::IGeometryShader *pGeometryShader)=0
ジオメトリシェーダーを設定します
INDEX_FORMAT
インデックスフォーマット列挙定数
Definition: Common.h:1598
virtual Boolean CreateLockableTargetPlaneTexture(UInt32 width, UInt32 height, Mix::Graphics::FORMAT format, Mix::Graphics::ITexture **ppTexture, const wchar_t *pDebugName=NULL)=0
ターゲットテクスチャを作成します
virtual void SetBlendState(Mix::Graphics::BLEND_TYPE type, Mix::Graphics::COLOR_WRITE_MASK colorWriteMask=Mix::Graphics::COLOR_WRITE_RGBA)=0
ブレンドステートを設定します
virtual void SetScissorBounds(const Mix::Rectangle &rect)=0
シザリングの範囲を設定します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual Mix::Graphics::IDevice::DISPLAY_MODE GetDisplayMode(void) const =0
ディスプレイモードを取得します
FORMAT
フォーマット列挙定数
Definition: Common.h:1574
virtual void SetPixelShaderConstantF(UInt32 startRegister, const Float32 *data, UInt32 count)=0
ピクセルシェーダーに浮動小数点型定数を設定します
ZFUNC_TYPE
Zファンクション列挙定数
Definition: Common.h:1531
ピクセルシェーダーインターフェース
Definition: IPixelShader.h:12
virtual Boolean CreateDomainShaderFromMemory(const void *pSrc, UInt32 srcSize, Mix::Graphics::IDomainShader **ppDomainShader, const wchar_t *pDebugName=NULL)=0
ドメインシェーダーをメモリ内のファイルから作成します
virtual Boolean CreatePixelShaderFromFile(const wchar_t *pFilePath, Mix::Graphics::IPixelShader **ppPixelShader)=0
ピクセルシェーダーをファイルから作成します
virtual Boolean IsTargetCubeTextureSupported(Mix::Graphics::FORMAT format) const =0
指定されたフォーマットでターゲットキューブテクスチャが作成できるかどうかを確認します ...
virtual Boolean CreateTextureFromFile(const wchar_t *pFilePath, Mix::Graphics::ITexture **ppTexture)=0
テクスチャをファイルから作成します
インデックスバッファインターフェース
Definition: IIndexBuffer.h:12
PRIMITIVE_TYPE
プリミティブタイプ列挙定数
Definition: Common.h:1614