# HG changeset patch # User gongo@gendarme.cr.ie.u-ryukyu.ac.jp # Date 1226541395 -32400 # Node ID 11433ea016f57e2647cc125022a8a68dab908e75 # Parent f5588c39fd7b2ac76d43073c28780cff8cda696c add Tapestry.h diff -r f5588c39fd7b -r 11433ea016f5 TaskManager/Test/test_render/Tapestry.h --- /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 diff -r f5588c39fd7b -r 11433ea016f5 example/share_task/Makefile.def --- 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