GraphicsContext クラス (Sce.Pss.Core.Graphics)
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) | ビューポートの矩形を設定する |
フィールド[編集 | ソースを編集]
関連項目[編集 | ソースを編集]
参考文献[編集 | ソースを編集]