Mercurial > hg > Members > kono > Cerium
view TaskManager/Test/test_render/Tapestry.h @ 132:e7c80537b6aa
add XML
author | gongo@charles.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Tue, 25 Nov 2008 18:19:53 +0900 |
parents | e2b1c795525e |
children | c8b868871dce |
line wrap: on
line source
#ifndef INCLUDED_TAPESTRY #define INCLUDED_TAPESTRY /** * image file name と tapestry DB の binary tree * * // PPE * main memory の tapestry DB (Array) * tapestry DB への accessor * * TapestryPtr getTapestry(int TapestryID); * TilePtr getTile(TapestryPtr tapsetry, int tx, int ty, int scale); * * SPE が生成する tapestry List (in CreateSpan) * (no texture image) * @in TapestryDBPtr, Tapestry ID, x, y, tx, ty, px, py * x, y : polygon の中の平面座標 * tx, ty : texture の座標 * px, py : texture の分割数 * * @out (TilePtr, tix1, tiy1, tix2, tiy2)* * * * SPE に渡す tapestry List * @in Tile * * // SPE * SPE 内部での tapestry DB (Hash) * TapestryID, scale, TilePtr, Tile * * * SPE 内部での tapestry DB への accessor * TileEntryPtr getTile(int TapestryID, int tx, int ty, int scale); * * if (TileEntry == NULL) { * DMA read * } * * * Rendering * 1pass Zbuffer と Texture の有無の判定 * if (zbuffer ok) { * if (texture ある) { * zbuffer 、linebunf に書き込む * } else { * texture の load list に加える * zbuffer だけ更新しておく * } * } else { * 無視 * } * * 1pass で texture が一杯になったら、中断して * ここまでのを書き込んどけ * * * 2pass rgb の書き込み * * if (zbuffer の値が自分と一緒) { * read した texture みて * 書き込め! * } * */ struct texture_block { }; #if 0 struct TileList { TilePtr tile; int tix1, tiy1, tix2, tiy2; }; #endif #endif