Mercurial > hg > Game > Cerium
changeset 117:11433ea016f5 draft
add Tapestry.h
author | gongo@gendarme.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Thu, 13 Nov 2008 10:56:35 +0900 |
parents | f5588c39fd7b |
children | 62d76597d6a2 |
files | TaskManager/Test/test_render/Tapestry.h example/share_task/Makefile.def |
diffstat | 2 files changed, 76 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TaskManager/Test/test_render/Tapestry.h Thu Nov 13 10:56:35 2008 +0900 @@ -0,0 +1,74 @@ +#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 { + +}; + +struct TileList { + TilePtr tile; + int tix1, tiy1, tix2, tiy2; +}; + +#endif
--- a/example/share_task/Makefile.def Thu Nov 13 10:49:23 2008 +0900 +++ b/example/share_task/Makefile.def Thu Nov 13 10:56:35 2008 +0900 @@ -2,10 +2,10 @@ # include/library path # ex: macosx -#CERIUM = /Users/gongo/Source/Cerium +CERIUM = /Users/gongo/Source/Cerium # ex: linux/ps3 -CERIUM = /home/gongo/Cerium +#CERIUM = /home/gongo/Cerium CC = g++ CFLAGS = -g -Wall -O9