changeset 117:b7eceea91c76

add Tapestry.h
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Thu, 13 Nov 2008 10:56:35 +0900
parents 60a4449d6575
children e2b1c795525e
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