GX_SetCapture

構文

#include <iris/gx/gx.h>

void GX_SetCapture(
    GXCaptureSize sz,
    GXCaptureMode mode,
    GXCaptureSrcA a,
    GXCaptureSrcB b,
    GXCaptureDest dest,
    int eva,
    int evb
);

引数

sz キャプチャサイズ
mode キャプチャモード(A単独/B単独/ABをブレンドしたものをキャプチャするか選択)
a キャプチャデータ元A(3D/2Dブレンディング後の画面か3D面のみかを選択)
b キャプチャデータ元B(VRAM/メインRAMを選択)
dest キャプチャデータ書き込み先(VRAM-A,B,C,Dとオフセットの組み合わせを選択)
eva キャプチャデータ元Aに対するブレンディング係数(0から16)
evb キャプチャデータ元Bに対するブレンディング係数(0から16)

返り値

なし

説明

次フレームの0ライン目から1画面分のデータをキャプチャするよう設定します。毎フレームキャプチャする場合には、フレーム毎にこの関数を呼び出さなくてはいけません。

(注1) bにVRAMを設定した場合、対象VRAMはdestで指定されるVRAMと同じになります。
(注2) bにVRAMを設定した場合でも、はVRAM表示モード時には無効になります。又、読み込み中にオフセットが0x20000を超えた場合は、0x00000に回り込んで読み込まれます。
(注3) destへの書き込み中にオフセットが0x20000を超えた場合には、0x00000に回り込んで書き込まれます。

GX_CAPTURE_SIZE_128x128 128x128ドット(0x08000バイト)
GX_CAPTURE_SIZE_256x64 256x64ドット(0x08000バイト)
GX_CAPTURE_SIZE_256x128 256x128ドット(0x10000バイト)
GX_CAPTURE_SIZE_256x192 256x192ドット(0x18000バイト)

GX_CAPTURE_MODE_A キャプチャ元Aのデータをキャプチャします。
GX_CAPTURE_MODE_B キャプチャ元Bのデータをキャプチャします。
GX_CAPTURE_MODE_AB キャプチャ元AとBのデータをブレンディングしてキャプチャします。

GX_CAPTURE_SRCA_2D3D グラフィックス表示画面(3D/2Dブレンディング後)を取り込みます。
GX_CAPTURE_SRCA_3D 3D面を取り込みます。

GX_CAPTURE_SRCB_VRAM_0x00000 VRAMのオフセット0x00000から読み込みます。
GX_CAPTURE_SRCB_MRAM メインメモリ表示モードでの表示結果をキャプチャします。
GX_CAPTURE_SRCB_VRAM_0x08000 VRAMのオフセット0x08000から読み込みます。
GX_CAPTURE_SRCB_VRAM_0x10000 VRAMのオフセット0x10000から読み込みます。
GX_CAPTURE_SRCB_VRAM_0x18000 VRAMのオフセット0x18000から読み込みます。

GX_CAPTURE_DEST_VRAM_A_0x00000 VRAM-Aのオフセット0x00000から書き込みます。
GX_CAPTURE_DEST_VRAM_B_0x00000 VRAM-Bのオフセット0x00000から書き込みます。
GX_CAPTURE_DEST_VRAM_C_0x00000 VRAM-Cのオフセット0x00000から書き込みます。
GX_CAPTURE_DEST_VRAM_D_0x00000 VRAM-Dのオフセット0x00000から書き込みます。
GX_CAPTURE_DEST_VRAM_A_0x08000 VRAM-Aのオフセット0x08000から書き込みます。
GX_CAPTURE_DEST_VRAM_B_0x08000 VRAM-Bのオフセット0x08000から書き込みます。
GX_CAPTURE_DEST_VRAM_C_0x08000 VRAM-Cのオフセット0x08000から書き込みます。
GX_CAPTURE_DEST_VRAM_D_0x08000 VRAM-Dのオフセット0x08000から書き込みます。
GX_CAPTURE_DEST_VRAM_A_0x10000 VRAM-Aのオフセット0x10000から書き込みます。
GX_CAPTURE_DEST_VRAM_B_0x10000 VRAM-Bのオフセット0x10000から書き込みます。
GX_CAPTURE_DEST_VRAM_C_0x10000 VRAM-Cのオフセット0x10000から書き込みます。
GX_CAPTURE_DEST_VRAM_D_0x10000 VRAM-Dのオフセット0x10000から書き込みます。
GX_CAPTURE_DEST_VRAM_A_0x18000 VRAM-Aのオフセット0x18000から書き込みます。
GX_CAPTURE_DEST_VRAM_B_0x18000 VRAM-Bのオフセット0x18000から書き込みます。
GX_CAPTURE_DEST_VRAM_C_0x18000 VRAM-Cのオフセット0x18000から書き込みます。
GX_CAPTURE_DEST_VRAM_D_0x18000 VRAM-Dのオフセット0x18000から書き込みます。


以下に引数に使用される列挙型の型定義を示しておきます。

typedef enum
{
    GX_CAPTURE_SIZE_128x128 = 0,
    GX_CAPTURE_SIZE_256x64 = 1,
    GX_CAPTURE_SIZE_256x128 = 2,
    GX_CAPTURE_SIZE_256x192 = 3
}
GXCaptureSize;

typedef enum
{
    GX_CAPTURE_MODE_A = 0,
    GX_CAPTURE_MODE_B = 1,
    GX_CAPTURE_MODE_AB = 2
}
GXCaptureMode;

typedef enum
{
    GX_CAPTURE_SRCA_2D3D = 0,
    GX_CAPTURE_SRCA_3D = 1
}
GXCaptureSrcA;

typedef enum
{
    GX_CAPTURE_SRCB_VRAM_0x00000 = 0,
    GX_CAPTURE_SRCB_WRAM = 1,
    GX_CAPTURE_SRCB_VRAM_0x08000 = 2,
    GX_CAPTURE_SRCB_VRAM_0x10000 = 4,
    GX_CAPTURE_SRCB_VRAM_0x18000 = 6
}
GXCaptureSrcB;

typedef enum
{
    GX_CAPTURE_DEST_VRAM_A_0x00000 = 0,
    GX_CAPTURE_DEST_VRAM_B_0x00000 = 1,
    GX_CAPTURE_DEST_VRAM_C_0x00000 = 2,
    GX_CAPTURE_DEST_VRAM_D_0x00000 = 3,

    GX_CAPTURE_DEST_VRAM_A_0x08000 = 4,
    GX_CAPTURE_DEST_VRAM_B_0x08000 = 5,
    GX_CAPTURE_DEST_VRAM_C_0x08000 = 6,
    GX_CAPTURE_DEST_VRAM_D_0x08000 = 7,

    GX_CAPTURE_DEST_VRAM_A_0x10000 = 8,
    GX_CAPTURE_DEST_VRAM_B_0x10000 = 9,
    GX_CAPTURE_DEST_VRAM_C_0x10000 = 10,
    GX_CAPTURE_DEST_VRAM_D_0x10000 = 11,

    GX_CAPTURE_DEST_VRAM_A_0x18000 = 12,
    GX_CAPTURE_DEST_VRAM_B_0x18000 = 13,
    GX_CAPTURE_DEST_VRAM_C_0x18000 = 14,
    GX_CAPTURE_DEST_VRAM_D_0x18000 = 15
}
GXCaptureDest;

参照

履歴

Ver. 2004/01/19