[column width=”65%” spacing=”4%”]ここでは GameMaker:Studio の Surface 関数にまつわる技術関連の話題を扱います。
GM:S の Surface は XNA のレンダーターゲットと呼ばれる機能と類似しています。GM:S では Draw 関数はレンダーターゲット(ピクセルの出力先)に Appliaction Surface がセットされています。
Surface 関数は GPU のメモリ領域にテクスチャデータを作り、レンダーターゲットを任意の Surface(任意のテクスチャと同意) へ切り替えることで Draw を Surface に対して機能させることなどができます。
この描画結果は 2D スプライト的に扱うことができます。[/column]
[end-columns]
Surfaces に関する説明の前に、Application Surface と Draw 機能について。
[divpage]
まずユーザ定義 surface があるか確認、無ければ作る必要がある。
[divpage]
Surfaces の存在は常に確認し「無ければ作る」的処理が必須。
[divpage]
surface_create 関数で surface を作ったら、Draw 「ターゲット」に指定します。
[divpage]
surface はゲーム実行中に GM:Studio の描画機能を使って GPU メモリ上へスプライト的なリソースとして作成する機能とも言えます。
[divpage]