diff Renderer/Engine/task/DrawSpan.h @ 507:735f76483bb2

Reorganization..
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 12 Oct 2009 09:39:35 +0900
parents Renderer/test_render/task/DrawSpan.h@55ea4465b1a2
children f7d78b3c1106
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Renderer/Engine/task/DrawSpan.h	Mon Oct 12 09:39:35 2009 +0900
@@ -0,0 +1,45 @@
+#ifndef INCLUDED_TASK_DRAW_SPAN
+#define INCLUDED_TASK_DRAW_SPAN
+
+#include "SchedTask.h"
+#include "Tapestry.h"
+#include "SpanPack.h"
+
+typedef struct {
+    int *linebuf;
+    float *zRow;
+    TileListPtr tileList;
+    int doneWrite;
+} G, *Gptr; 
+
+static    int* linebuf_init(SchedTask *smanager, int width, int height, int rgb);
+static    float* zRow_init(SchedTask *smanager, int width, int height);
+// static    TilePtr set_rgb(memaddr addr, int wait_tag);
+// static    void set_rgbs(memaddr addr, uint32 *max_addr, int wait_tag);
+static    uint32 get_rgb(int tx, int ty, TilePtr tile);
+// static    TilePtr isAvailableTile(memaddr addr);
+static    memaddr getTile(int tx, int ty, int tw, memaddr tex_addr_top);
+static    int getTexBlock(int tx, int ty, int twidth);
+static    void writebuffer(SchedTask *smanager, Gptr g, unsigned int display, 
+	    int width, int height, int screen_width);
+static    void updateBuffer(Gptr g, float zpos, int rangex, int x, int y,
+                      int tex_x, int tex_y, float normal_x, float nomral_x, float normal_z, TilePtr tile);
+
+
+// static    void reboot(SpanPackPtr spack, int cur_span_x);
+
+static    int drawDot1(SchedTask *smanager, Gptr g, SpanPtr span, int startx, int endx, int wait_tag);
+//static    void drawDot2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag);
+static    int drawLine1(SchedTask *smanager, Gptr g, SpanPtr span, int startx, int endx, int wait_tag);
+// static    void drawLine2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag);
+static    int infinity_light_calc(int color,float normal_x, float normal_y, float normal_z);
+
+typedef struct {
+    uint32 display;
+    int screen_width;
+    int rangex_start;
+    int rangex_end;
+    int rangey;
+} DrawSpanArg, *DrawSpanArgPtr;
+
+#endif