summaryrefslogtreecommitdiff
path: root/graphics.h
diff options
context:
space:
mode:
Diffstat (limited to 'graphics.h')
-rw-r--r--graphics.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/graphics.h b/graphics.h
index 4aa18f1..c9a7f67 100644
--- a/graphics.h
+++ b/graphics.h
@@ -54,6 +54,9 @@ typedef struct Shadertab Shadertab;
typedef struct Renderer Renderer;
typedef struct Rendertime Rendertime;
typedef struct Renderjob Renderjob;
+typedef struct Fragment Fragment;
+typedef struct Astk Astk;
+typedef struct Abuf Abuf;
typedef struct Framebuf Framebuf;
typedef struct Framebufctl Framebufctl;
typedef struct Viewport Viewport;
@@ -246,11 +249,34 @@ struct Renderjob
Renderjob *next;
};
+struct Fragment
+{
+ Color c;
+ float z;
+};
+
+struct Astk
+{
+ Point p;
+ Fragment *items;
+ ulong size;
+ int active;
+};
+
+struct Abuf
+{
+ QLock;
+ Astk *stk; /* framebuffer fragment stacks */
+ Astk **act; /* active fragment stacks */
+ ulong nact;
+};
+
struct Framebuf
{
ulong *cb; /* color buffer */
float *zb; /* z/depth buffer */
ulong *nb; /* normals buffer (DBG only) */
+ Abuf abuf; /* A-buffer */
Rectangle r;
};
@@ -300,6 +326,9 @@ struct Camera
Matrix3 proj; /* VCS to clip space xform */
Projection projtype;
int cullmode;
+ int enableblend;
+ int enabledepth;
+ int enableAbuff;
struct {
uvlong min, avg, max, acc, n, v;