VRAMイメージ転送
es_buffer p1,p2
p1 : オフスクリーンバッファID (0~63) p2 : 属性スイッチ (0~2) p3 : 透明色 (パレットモード時:-1~255、ハイカラー以上:0~$ffffff)
(プラグイン / モジュール : hspdx)
属性スイッチ=0 : オフスクリーンバッファをVRAMに取る、
失敗した場合は、メインメモリに取る
属性スイッチ=1 : オフスクリーンバッファをメインメモリに取る
属性スイッチ=2 : オフスクリーンバッファをVRAMに取る
現在gsel命令で選択されているHSPのバッファ内容を、DirectXのオフスクリー
ンバッファにすべて転送します。
この時、パレットも読み出されDirectX側のパレットに転送されます。
オフスクリーンバッファに転送できる最大画像サイズは、ビデオカードによっ
て異なり、主に
1. 縦横ともに画面解像度以上のサイズで作成できる
2 .横は画面解像度と同サイズまで、縦はそれ以上のサイズで作成できる
3. 縦横ともに画面解像度と同サイズまで
の3通りとなっています。現存するビデオカードは 2.に該当するものが多く、
3.に該当するものはほとんどないと思われます。よって、あらゆる環境で確実
に動くことを期待するなら画面解像度まで、大きなバッファを扱いたいなら縦
に長くバッファを確保することをおすすめします。
p3にはes_copy命令などで透明色として使う色を指定します。
パレットモードでは0~255までのパレット番号を直接指定するか、-1を指定す
ることで完全な黒 (RGB=0)でパレット番号が一番若いパレットを自動的に透明
色に設定します。
ハイカラー以上では透明色に指定する RGB値を $rrggbb の16進数6桁で設定し
ます。
たとえば、$00ff00と指定することでRGB=(0,255,0)の色が透明色になります。
HSP側のバッファは、DirectXがパレットモードの時は同じくパレットモードで
初期化されていないと正常に転送されませんが、ハイカラー以上の場合はパレ
ット・フルカラーモードどちらでも転送されます。
オフスクリーンバッファへの転送が成功した場合には、システム変数statの値
は0になります。転送に失敗すると、statの値は1になります。
転送に失敗する可能性は、転送する画像が大きすぎるか、VRAMの容量が足りな
いことなどが考えられます。自分の環境では動作していても、別のマシンでは
エラーになる可能性がありますので、スクリプト側でチェックをするように心
がけてください。
すでに転送済みのオフスクリーンバッファIDを指定した場合には、一度その内
容が削除され、新しいものに上書きされます。
buffer 3,640,480,1 picload "test.bmp" es_buffer 0
| プラグイン / モジュール | hspdx |
| バージョン | 0.12 |
| 作成日 | 2002/12/01 |
| 著作者 | Sinagawa(original by onitama) |
| URL | http://www.onionsoft.net/ |
| 備考 | 当プラグインに関する質問、要望などはSinagawaへお願いします。
URL->http://www.diveto.net/zero/ Mail->zero@diveto.net |
| タイプ | 拡張命令 |
| グループ | 拡張画面制御命令 |
| hs ファイル | hsphelp\hspdx.hs |