diff Renderer/Engine/spe/DrawBack.cc @ 0:04e28d8d3c6f

first commit
author Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
date Mon, 08 Nov 2010 01:23:25 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Renderer/Engine/spe/DrawBack.cc	Mon Nov 08 01:23:25 2010 +0900
@@ -0,0 +1,36 @@
+// #define DEBUG
+#include "error.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include "DrawBack.h"
+#include "viewer_types.h"
+
+SchedDefineTask(DrawBack);
+
+static void
+linebuf_init(int *buf, int x, int rgb)
+{
+    for (int i = 0; i < x; i++) {
+	buf[i] = rgb;
+    }
+}
+
+static int
+run(SchedTask *smanager, void *rbuf, void *wbuf)
+{
+    __debug_spe("DrawBack\n");
+    int rgb          = (long)smanager->get_param(0);
+    int rangex_start = (long)smanager->get_param(1);
+    int rangex_end   = (long)smanager->get_param(2);
+    int rangey       = (long)smanager->get_param(3);
+    int rangex       = rangex_end - rangex_start + 1;
+    int *linebuf;
+
+    for (int i = 0; i < rangey; i++) {
+	linebuf = (int*)smanager->get_output(i);
+	linebuf_init(linebuf, rangex, rgb);
+    }
+
+    return 0;
+}