「API/Gu/sceGuDrawArray」の編集履歴(バックアップ)一覧に戻る
関数
void sceGuDrawArray ( int prim,
int vtype,
int count,
const void * indices,
const void * vertices
)
第一引数(prim)
描画する図形の種別を指定します。
|
|
必要となる vertice構造体数 |
GU_POINTS |
1つの点を描画します |
1 |
GU_LINES |
2つの点を結ぶ幅1ドットのラインを描画します |
2 |
GU_LINE_STRIP |
n点を結ぶ幅1ドットのラインを描画します |
n(3以上) |
GU_TRIANGLES |
3点を結ぶ三角形を描画します 三角形の内部は頂点カラーもしくはテクスチャーで塗りつぶされます |
3 |
GU_TRIANGLE_STRIP |
幅1ドットのラインで3点を結ぶ三角形を描画します |
3 |
GU_TRIANGLE_FAN |
|
|
GU_SPRITES |
2点を対角とし四角形を描画します 四角形の内部は頂点カラーもしくはテクスチャーで塗りつぶされます |
2 |
第二数(vtype)
描画する図形の頂点情報を管理するvertice構造体のデータタイプを指定します。
必須項目
頂点座標
GU_VERTEX_8BIT |
頂点座標8bit(1byte)で指定します |
GU_VERTEX_16BIT |
頂点座標16bit(2byte)で指定します |
GU_VERTEX_32BITF |
頂点座標32bit float(4byte)で指定します |
UV座標
GU_TEXTURE_8BIT |
8-bit texture coordinates |
GU_TEXTURE_16BIT |
16-bit texture coordinates |
GU_TEXTURE_32BITF |
32-bit texture coordinates (float) |
頂点カラー
GU_COLOR_5650 |
16-bit color (R5G6B5A0) |
GU_COLOR_5551 |
16-bit color (R5G5B5A1) |
GU_COLOR_4444 |
16-bit color (R4G4B4A4) |
GU_COLOR_8888 |
32-bit color (R8G8B8A8) |
トランスフォーム
GU_TRANSFORM_2D |
2Dとして描画する場合に指定 |
GU_TRANSFORM_3D |
3Dとして描画する場合に指定 |
未確認項目
インデックスバッファ
GU_INDEX_8BIT |
8-bit vertex index |
GU_INDEX_16BIT |
16-bit vertex index |
ウェイト(3D)
GU_WEIGHT_8BIT |
8-bit weights |
GU_WEIGHT_16BIT |
16-bit weights |
GU_WEIGHT_32BITF |
32-bit weights (float) |
法線(3D)
GU_NORMAL_8BIT |
8-bit normals |
GU_NORMAL_16BIT |
16-bit normals |
GU_NORMAL_32BITF |
32-bit normals (float) |
詳細不明
GU_WEIGHTS(n) |
Number of weights (1-8) |
GU_VERTICES(n) |
Number of vertices (1-8) |
補足
UV座標と頂点カラーは両方指定できますが、テクスチャを貼る場合は
頂点カラー情報は無駄になりますので転送負荷軽減のためにも指定しない
方がいいでしょう。
インデックスバッファと法線についてはサンプルソースが見つかっていないので
指定方法は不明です。
vertice構造体を定義する際、各情報は下記の順序で指定してください。
下記は全部指定した場合です。使わない部分は指定しないでください。
[for vertices(1-8)]
[weights (0-8)]
[texture uv]
[color]
[normal]
[vertex]
第三引数(count)
vertice構造体の数を指定
第四引数(indices)
インデックスバッファの先頭アドレスを指定
第五引数(vertices)
頂点情報バッファの先頭アドレスを指定