GraphicsContext クラス (Sce.Pss.Core.Graphics)

提供: MonoBook
ナビゲーションに移動 検索に移動

GraphicsContext クラスとは、PlayStation Suiteにおけるグラフィックコンテキストを表すクラスである。

主にGameEngine2Dを使わずに低レベルでゴリゴリやりたい場合にもちいる。 またGameEngine2Dに変わる独自フレームワークを構築するような場合には、このクラスの知識が必須となる。

なお、GraphicsContextクラスのインスタンスは1アプリ1個までであり、2個以上作るとぶっ壊れる。

構文[編集 | ソースを編集]

public class GraphicsContext : IDisposable

GraphicsContextクラスはIDisposableを継承しているので、本来であれば使い終わったらDisposeメソッドを呼ぶ必要があるが、よほど特殊なケースでもないかぎりアプリ終了時以外でGraphicsContextのインスタンスを消滅させることはない。アプリ終了時にはプロセスごと消え去るのでDisposeする必要もとくにない。

構成[編集 | ソースを編集]

コンストラクタ[編集 | ソースを編集]

アクセス キーワード コンストラクタ名 概要
public GraphicsContext () 標準的なグラフィクスコンテキストを作成する。
public GraphicsContext (int, int, PixelFormat, PixelFormat, MultiSampleMode) 解像度などを指定してグラフィクスコンテキストを作成する。PlayStation Suite Simulatorで解像度を変更したい場合は、これを使う。

プロパティ[編集 | ソースを編集]

アクセス キーワード 戻り値 プロパティ名 アクセサ 概要
public GraphicsCaps Caps get 各パラメータの許容範囲やサポートする拡張機能などを取得する
public FrameBuffer Screen get デフォルトのスクリーンを表すフレームバッファを取得する
public static ImageSize[] ScreenSizes get グラフィクスコンテキストを作成する時に指定できるスクリーンサイズの配列を取得する

メソッド[編集 | ソースを編集]

アクセス キーワード 戻り値 メソッド名 概要
public void Dispose () グラフィクスコンテキストのアンマネージドリソースガーベジコレクター対象外のリソース)を解放する。
public void Clear () すべてのフレームバッファーをクリアする。
public void Clear (ClearMask) 指定したフレームバッファーをクリアする。
public void Disable (EnableMode) 指定したグラフィクス機能を無効にする。アルファブレンドなどを切りたい場合などに使う。
public void DrawArrays (Primitive[]) プリミティブを描画する (プリミティブ配列用)
public void DrawArrays (Primitive[], int, int) プリミティブを描画する (プリミティブ配列用、範囲あり)
public void DrawArrays (DrawMode, int, int) プリミティブを描画する
public void DrawArrays (DrawMode, int, int, int) プリミティブを描画する (複数プリミティブ用)
public void Enable (EnableMode) 指定したグラフィクス機能を有効にする
public void Enable (EnableMode, bool) 指定したグラフィクス機能を有効または無効にする
public BlendFunc GetBlendFunc () アルファブレンド関数を取得する
public BlendFunc GetBlendFuncAlpha () アルファブレンド関数を取得する (アルファチャンネル用)
public BlendFunc GetBlendFuncRgb () アルファブレンド関数を取得する (RGBチャンネル用)
public Vector4 GetClearColor () フレームバッファーのクリア時に塗りつぶされる色を取得する
public float GetClearDepth () フレームバッファーのクリア時に設定されるデプス値を取得する
public int GetClearStencil () フレームバッファーのクリア時に設定されるステンシル値を取得する
public ColorMask GetColorMask () カラーの書き込みマスクを取得する
public CullFace GetCullFace () バックフェースカリングを取得する
public DepthFunc GetDepthFunc () デプステスト関数を取得する
public Vector2 GetDepthRange () デプス値の範囲を取得する
public FrameBuffer GetFrameBuffer () フレームバッファを取得する
public float GetLineWidth () ライン幅を取得する
public PolygonOffset GetPolygonOffset () ポリゴンオフセットを取得する
public ImageRect GetScissor () シザーテストの矩形を取得する
public ShaderProgram GetShaderProgram () シェーダープログラムを取得する
public StencilFunc GetStencilFunc () ステンシルテスト関数を取得する
public StencilFunc GetStencilFuncBack () ステンシルテスト関数を取得する (裏面用)
public StencilFunc GetStencilFuncFront () ステンシルテスト関数を取得する (表面用)
public StencilOp GetStencilOp () ステンシルテスト操作を取得する
public StencilOp GetStencilOpBack () ステンシルテスト操作を取得する (裏面用)
public StencilOp GetStencilOpBack () ステンシルテスト操作を取得する (表面用)
public Texture GetTexture (int) テクスチャを取得する
public VertexBuffer GetVertexBuffer (int) 頂点バッファを取得する
public ImageRect GetViewport () ビューポートの矩形を取得する
public bool IsEnabled (EnableMode) 指定されたグラフィクス機能が有効かどうかを取得する
public void ReadPixels (byte[], PixelFormat, int, int, int, int) フレームバッファのピクセルを読み出す
public void ReadPixels (Texture2D, int, int, int, int, int, int, int) フレームバッファのピクセルを読み出す (2Dテクスチャにコピー)
public void ReadPixels (TextureCube, int, TextureCubeFace, int, int, int, int, int, int) フレームバッファのピクセルを読み出す (キューブテクスチャにコピー)
public void SetBlendFunc (BlendFunc) アルファブレンド関数を設定する
public void SetBlendFunc (BlendFuncMode, BlendFuncFactor, BlendFuncFactor) アルファブレンド関数を設定する
public void SetBlendFuncAlpha (BlendFunc) アルファブレンド関数を設定する (アルファチャンネル用)
public void SetBlendFuncAlpha (BlendFuncMode, BlendFuncFactor, BlendFuncFactor) アルファブレンド関数を設定する (アルファチャンネル用)
public void SetBlendFuncRgb (BlendFunc) アルファブレンド関数を設定する (RGBチャンネル用)
public void SetBlendFuncRgb (BlendFuncMode, BlendFuncFactor, BlendFuncFactor) アルファブレンド関数を設定する (RGBチャンネル用)
public void SetClearColor (Vector4) フレームバッファのクリアで使用されるカラーを設定する
public void SetClearColor (float, float, float, float) フレームバッファのクリアで使用されるカラーを設定する
public void SetClearColor (int, int, int, int) フレームバッファのクリアで使用されるカラーを設定する
public void SetClearDepth (float) フレームバッファのクリアで使用されるデプス値を設定する
public void SetClearStencil (int) フレームバッファのクリアで使用されるステンシル値を設定する
public void SetColorMask (ColorMask) カラーの書き込みマスクを設定する
public void SetCullFace (CullFace) バックフェースカリングを設定する
public void SetCullFace (CullFaceMode, CullFaceDirection) バックフェースカリングを設定する
public void SetDepthFunc (DepthFunc) デプステスト関数を設定する
public void SetDepthFunc (DepthFuncMode, bool) デプステスト関数を設定する
public void SetDepthRange (Vector2) デプス値の範囲を設定する
public void SetDepthRange (float, float) デプス値の範囲を設定する
public void SetFrameBuffer (FrameBuffer) フレームバッファを設定する
public void SetLineWidth (float) ライン幅を設定する
public void SetPolygonOffset (float, float) ポリゴンオフセットを設定する
public void SetPolygonOffset (PolygonOffset) ポリゴンオフセットを設定する
public void SetScissor (ImageRect) シザーテストの矩形を設定する
public void SetScissor (int, int, int, int) シザーテストの矩形を設定する
public void SetShaderProgram (ShaderProgram) シェーダープログラムを設定する
public void SetStencilFunc (StencilFunc) ステンシルテスト関数を設定する
public void SetStencilFunc (StencilFuncMode, int, int, int) ステンシルテスト関数を設定する
public void SetStencilFuncBack (StencilFunc) ステンシルテスト関数を設定する (裏面用)
public void SetStencilFuncBack (StencilFuncMode, int, int, int) ステンシルテスト関数を設定する (裏面用)
public void SetStencilFuncFront (StencilFunc) ステンシルテスト関数を設定する (表面用)
public void SetStencilFuncFront (StencilFuncMode, int, int, int) ステンシルテスト関数を設定する (表面用)
public void SetStencilOp (StencilOp) ステンシルテスト操作を設定する
public void SetStencilOp (StencilOpMode, StencilOpMode, StencilOpMode) ステンシルテスト操作を設定する
public void SetStencilOpBack (StencilOp) ステンシルテスト操作を設定する (裏面用)
public void SetStencilOpBack (StencilOpMode, StencilOpMode, StencilOpMode) ステンシルテスト操作を設定する (裏面用)
public void SetStencilOpFront (StencilOp) ステンシルテスト操作を設定する (表面用)
public void SetStencilOpFront (StencilOpMode, StencilOpMode, StencilOpMode) ステンシルテスト操作を設定する (表面用)
public void SetTexture (int, Texture) テクスチャを設定する
public void SetVertexBuffer (int, VertexBuffer) 頂点バッファを設定する
public void SetViewport (int, int, int, int) ビューポートの矩形を設定する
public void SetViewport (ImageRect) ビューポートの矩形を設定する

フィールド[編集 | ソースを編集]

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]


外部リンク[編集 | ソースを編集]