mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
additive blending and other exotic blend modes
This commit is contained in:
parent
a760c2ba4f
commit
203b7f1a89
@ -34,8 +34,10 @@
|
||||
specbuf.cxx \
|
||||
texture.cxx vertex.cxx \
|
||||
zbuffer.cxx zbuffer.h zdither.cxx zfeatures.h zgl.h zline.cxx \
|
||||
zline.h zmath.cxx zmath.h ztriangle.cxx ztriangle.h ztriangle_two.h \
|
||||
ztriangle_code.h ztriangle_table.h
|
||||
zline.h zmath.cxx zmath.h \
|
||||
ztriangle.cxx ztriangle.h ztriangle_two.h \
|
||||
ztriangle_code.h ztriangle_table.h \
|
||||
store_pixel.cxx store_pixel.h store_pixel_code.h store_pixel_table.h
|
||||
|
||||
#end lib_target
|
||||
|
||||
|
28
panda/src/tinydisplay/store_pixel.cxx
Normal file
28
panda/src/tinydisplay/store_pixel.cxx
Normal file
@ -0,0 +1,28 @@
|
||||
// Filename: store_pixel.cxx
|
||||
// Created by: drose (12May08)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d-general@lists.sourceforge.net .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "zbuffer.h"
|
||||
|
||||
/* Pick up all of the generated code references to store_pixel.h. */
|
||||
|
||||
#define STORE_PIX_CLAMP(x) (min((x), (unsigned int)0xffff))
|
||||
|
||||
#include "store_pixel_table.h"
|
||||
#include "store_pixel_code.h"
|
42
panda/src/tinydisplay/store_pixel.h
Normal file
42
panda/src/tinydisplay/store_pixel.h
Normal file
@ -0,0 +1,42 @@
|
||||
// Filename: store_pixel.h
|
||||
// Created by: drose (12May08)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d-general@lists.sourceforge.net .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Definition of a function to store a pixel in the framebuffer, using
|
||||
user-specified color blending. */
|
||||
|
||||
/* This file generates lots of "template" variations, using #define
|
||||
and #include, similar to the way ztriangle.h works. */
|
||||
|
||||
static void
|
||||
FNAME(store_pixel) (ZBuffer *zb, PIXEL &result, int r, int g, int b, int a) {
|
||||
unsigned int fr = PIXEL_R(result);
|
||||
unsigned int fg = PIXEL_G(result);
|
||||
unsigned int fb = PIXEL_B(result);
|
||||
unsigned int fa = PIXEL_A(result);
|
||||
|
||||
r = STORE_PIX_CLAMP(((unsigned int)r * OP_A(fr, r) >> 16) + ((unsigned int)fr * OP_B(fr, r) >> 16));
|
||||
g = STORE_PIX_CLAMP(((unsigned int)g * OP_A(fg, g) >> 16) + ((unsigned int)fg * OP_B(fg, g) >> 16));
|
||||
b = STORE_PIX_CLAMP(((unsigned int)b * OP_A(fb, b) >> 16) + ((unsigned int)fb * OP_B(fb, b) >> 16));
|
||||
a = STORE_PIX_CLAMP(((unsigned int)a * OP_A(fa, a) >> 16) + ((unsigned int)fa * OP_B(fa, a) >> 16));
|
||||
result = RGBA_TO_PIXEL(r, g, b, a);
|
||||
}
|
||||
|
||||
|
||||
#undef FNAME
|
||||
#undef OP_A
|
||||
#undef OP_B
|
75
panda/src/tinydisplay/store_pixel.py
Normal file
75
panda/src/tinydisplay/store_pixel.py
Normal file
@ -0,0 +1,75 @@
|
||||
""" This simple Python script can be run to generate
|
||||
store_pixel_code.h and store_pixel_table.h, which are a poor man's
|
||||
form of generated code to cover the explosion of different blending
|
||||
options when storing a pixel into the framebuffer.
|
||||
|
||||
Each different combination of options is compiled to a different
|
||||
inner-loop store function. The code in tinyGraphicsStateGuardian.cxx
|
||||
will select the appropriate function pointer at draw time. """
|
||||
|
||||
Operands = [
|
||||
'zero', 'one',
|
||||
'icolor', 'micolor',
|
||||
'fcolor', 'mfcolor',
|
||||
'ialpha', 'mialpha',
|
||||
'falpha', 'mfalpha',
|
||||
'ccolor', 'mccolor',
|
||||
'calpha', 'mcalpha',
|
||||
]
|
||||
|
||||
CodeTable = {
|
||||
'zero' : '0',
|
||||
'one' : '0x10000',
|
||||
'icolor' : 'i',
|
||||
'micolor' : '0xffff - i',
|
||||
'fcolor' : 'f',
|
||||
'mfcolor' : '0xffff - f',
|
||||
'ialpha' : 'a',
|
||||
'mialpha' : '0xffff - a',
|
||||
'falpha' : 'fa',
|
||||
'mfalpha' : '0xffff - fa',
|
||||
'ccolor' : 'zb->blend_ ## i',
|
||||
'mccolor' : '0xffff - zb->blend_ ## i',
|
||||
'calpha' : 'zb->blend_a',
|
||||
'mcalpha' : '0xffff - zb->blend_a',
|
||||
}
|
||||
|
||||
def getFname(op_a, op_b):
|
||||
return 'store_pixel_%s_%s' % (op_a, op_b)
|
||||
|
||||
# We write the code that actually instantiates the various
|
||||
# pixel-storing functions to store_pixel_code.h.
|
||||
code = open('store_pixel_code.h', 'wb')
|
||||
print >> code, '/* This file is generated code--do not edit. See store_pixel.py. */'
|
||||
print >> code, ''
|
||||
|
||||
# The external reference for the table containing the above function
|
||||
# pointers gets written here.
|
||||
table = open('store_pixel_table.h', 'wb')
|
||||
print >> table, '/* This file is generated code--do not edit. See store_pixel.py. */'
|
||||
print >> table, ''
|
||||
|
||||
for op_a in Operands:
|
||||
for op_b in Operands:
|
||||
fname = getFname(op_a, op_b)
|
||||
print >> code, '#define FNAME(name) %s' % (fname)
|
||||
print >> code, '#define OP_A(f, i) ((unsigned int)(%s))' % (CodeTable[op_a])
|
||||
print >> code, '#define OP_B(f, i) ((unsigned int)(%s))' % (CodeTable[op_eb])
|
||||
print >> code, '#include "store_pixel.h"'
|
||||
print >> code, ''
|
||||
|
||||
|
||||
# Now, generate the table of function pointers.
|
||||
arraySize = '[%s][%s]' % (len(Operands), len(Operands))
|
||||
|
||||
print >> table, 'extern const ZB_storePixelFunc store_pixel_funcs%s;' % (arraySize)
|
||||
print >> code, 'const ZB_storePixelFunc store_pixel_funcs%s = {' % (arraySize)
|
||||
|
||||
for op_a in Operands:
|
||||
print >> code, ' {'
|
||||
for op_b in Operands:
|
||||
fname = getFname(op_a, op_b)
|
||||
print >> code, ' %s,' % (fname)
|
||||
print >> code, ' },'
|
||||
print >> code, '};'
|
||||
|
1208
panda/src/tinydisplay/store_pixel_code.h
Normal file
1208
panda/src/tinydisplay/store_pixel_code.h
Normal file
File diff suppressed because it is too large
Load Diff
3
panda/src/tinydisplay/store_pixel_table.h
Normal file
3
panda/src/tinydisplay/store_pixel_table.h
Normal file
@ -0,0 +1,3 @@
|
||||
/* This file is generated code--do not edit. See store_pixel.py. */
|
||||
|
||||
extern const ZB_storePixelFunc store_pixel_funcs[14][14];
|
@ -30,6 +30,7 @@
|
||||
#include "zgl.h"
|
||||
#include "zmath.h"
|
||||
#include "ztriangle_table.h"
|
||||
#include "store_pixel_table.h"
|
||||
|
||||
TypeHandle TinyGraphicsStateGuardian::_type_handle;
|
||||
|
||||
@ -680,21 +681,36 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
||||
depth_write_state = 1; // zoff
|
||||
}
|
||||
|
||||
int color_write_state = 0; // noblend
|
||||
int color_write_state = 0; // cstore
|
||||
switch (_target._transparency->get_mode()) {
|
||||
case TransparencyAttrib::M_alpha:
|
||||
case TransparencyAttrib::M_dual:
|
||||
color_write_state = 1; // blend
|
||||
color_write_state = 1; // cblend
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (_target._color_blend->get_mode() == ColorBlendAttrib::M_add) {
|
||||
// If we have a color blend set that we can support, it overrides
|
||||
// the transparency set.
|
||||
int op_a = get_color_blend_op(_target._color_blend->get_operand_a());
|
||||
int op_b = get_color_blend_op(_target._color_blend->get_operand_b());
|
||||
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b];
|
||||
Colorf c = _target._color_blend->get_color();
|
||||
_c->zb->blend_r = (int)(c[0] * ZB_POINT_RED_MAX);
|
||||
_c->zb->blend_g = (int)(c[1] * ZB_POINT_GREEN_MAX);
|
||||
_c->zb->blend_b = (int)(c[2] * ZB_POINT_BLUE_MAX);
|
||||
_c->zb->blend_a = (int)(c[3] * ZB_POINT_ALPHA_MAX);
|
||||
|
||||
color_write_state = 2; // cgeneral
|
||||
}
|
||||
|
||||
unsigned int color_channels =
|
||||
_target._color_write->get_channels() & _color_write_mask;
|
||||
if (color_channels == ColorWriteAttrib::C_off) {
|
||||
color_write_state = 2; // nocolor
|
||||
color_write_state = 3; // coff
|
||||
}
|
||||
|
||||
int alpha_test_state = 0; // anone
|
||||
@ -710,13 +726,13 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
||||
case AlphaTestAttrib::M_less:
|
||||
case AlphaTestAttrib::M_less_equal:
|
||||
alpha_test_state = 1; // aless
|
||||
_c->zb->reference_alpha = (unsigned int)_target._alpha_test->get_reference_alpha() * 0xff00;
|
||||
_c->zb->reference_alpha = (int)_target._alpha_test->get_reference_alpha() * ZB_POINT_ALPHA_MAX;
|
||||
break;
|
||||
|
||||
case AlphaTestAttrib::M_greater:
|
||||
case AlphaTestAttrib::M_greater_equal:
|
||||
alpha_test_state = 2; // amore
|
||||
_c->zb->reference_alpha = (unsigned int)_target._alpha_test->get_reference_alpha() * 0xff00;
|
||||
_c->zb->reference_alpha = (int)_target._alpha_test->get_reference_alpha() * ZB_POINT_ALPHA_MAX;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2141,3 +2157,57 @@ load_matrix(M4 *matrix, const TransformState *transform) {
|
||||
matrix->m[3][i] = pm.get_cell(i, 3);
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: TinyGraphicsStateGuardian::get_color_blend_op
|
||||
// Access: Private, Static
|
||||
// Description: Returns the integer element of store_pixel_funcs (as
|
||||
// defined by store_pixel.py) that corresponds to the
|
||||
// indicated ColorBlendAttrib operand code.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
int TinyGraphicsStateGuardian::
|
||||
get_color_blend_op(ColorBlendAttrib::Operand operand) {
|
||||
switch (operand) {
|
||||
case ColorBlendAttrib::O_zero:
|
||||
return 0;
|
||||
case ColorBlendAttrib::O_one:
|
||||
return 1;
|
||||
case ColorBlendAttrib::O_incoming_color:
|
||||
return 2;
|
||||
case ColorBlendAttrib::O_one_minus_incoming_color:
|
||||
return 3;
|
||||
case ColorBlendAttrib::O_fbuffer_color:
|
||||
return 4;
|
||||
case ColorBlendAttrib::O_one_minus_fbuffer_color:
|
||||
return 5;
|
||||
case ColorBlendAttrib::O_incoming_alpha:
|
||||
return 6;
|
||||
case ColorBlendAttrib::O_one_minus_incoming_alpha:
|
||||
return 7;
|
||||
case ColorBlendAttrib::O_fbuffer_alpha:
|
||||
return 8;
|
||||
case ColorBlendAttrib::O_one_minus_fbuffer_alpha:
|
||||
return 9;
|
||||
case ColorBlendAttrib::O_constant_color:
|
||||
return 10;
|
||||
case ColorBlendAttrib::O_one_minus_constant_color:
|
||||
return 11;
|
||||
case ColorBlendAttrib::O_constant_alpha:
|
||||
return 12;
|
||||
case ColorBlendAttrib::O_one_minus_constant_alpha:
|
||||
return 13;
|
||||
|
||||
case ColorBlendAttrib::O_incoming_color_saturate:
|
||||
return 1;
|
||||
|
||||
case ColorBlendAttrib::O_color_scale:
|
||||
return 10;
|
||||
case ColorBlendAttrib::O_one_minus_color_scale:
|
||||
return 11;
|
||||
case ColorBlendAttrib::O_alpha_scale:
|
||||
return 12;
|
||||
case ColorBlendAttrib::O_one_minus_alpha_scale:
|
||||
return 13;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "pandabase.h"
|
||||
|
||||
#include "graphicsStateGuardian.h"
|
||||
#include "tinySDLGraphicsPipe.h"
|
||||
#include "colorBlendAttrib.h"
|
||||
#include "simpleLru.h"
|
||||
#include "zmath.h"
|
||||
#include "zbuffer.h"
|
||||
@ -118,6 +118,7 @@ private:
|
||||
|
||||
void setup_material(GLMaterial *gl_material, const Material *material);
|
||||
static void load_matrix(M4 *matrix, const TransformState *transform);
|
||||
static int get_color_blend_op(ColorBlendAttrib::Operand operand);
|
||||
|
||||
public:
|
||||
// Filled in by the Tiny*GraphicsWindow at begin_frame().
|
||||
|
@ -100,7 +100,15 @@ typedef struct {
|
||||
unsigned int s_mask, t_mask, t_shift;
|
||||
} ZTextureLevel;
|
||||
|
||||
typedef struct {
|
||||
typedef struct ZBuffer ZBuffer;
|
||||
typedef struct ZBufferPoint ZBufferPoint;
|
||||
|
||||
typedef void (*ZB_fillTriangleFunc)(ZBuffer *,
|
||||
ZBufferPoint *,ZBufferPoint *,ZBufferPoint *);
|
||||
|
||||
typedef void (*ZB_storePixelFunc) (ZBuffer *zb, PIXEL &result, int r, int g, int b, int a);
|
||||
|
||||
struct ZBuffer {
|
||||
int xsize,ysize;
|
||||
int linesize; /* line size, in bytes */
|
||||
int mode;
|
||||
@ -113,16 +121,18 @@ typedef struct {
|
||||
unsigned char *dctable;
|
||||
int *ctable;
|
||||
ZTextureLevel *current_texture; // This is actually an array of texture levels.
|
||||
unsigned int reference_alpha;
|
||||
} ZBuffer;
|
||||
int reference_alpha;
|
||||
int blend_r, blend_g, blend_b, blend_a;
|
||||
ZB_storePixelFunc store_pix_func;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct ZBufferPoint {
|
||||
int x,y,z; /* integer coordinates in the zbuffer */
|
||||
int s,t; /* coordinates for the mapping */
|
||||
int r,g,b,a; /* color indexes */
|
||||
|
||||
float sz,tz; /* temporary coordinates for mapping */
|
||||
} ZBufferPoint;
|
||||
};
|
||||
|
||||
/* zbuffer.c */
|
||||
|
||||
@ -161,695 +171,6 @@ void ZB_plot(ZBuffer *zb,ZBufferPoint *p);
|
||||
void ZB_line(ZBuffer *zb,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_line_z(ZBuffer * zb, ZBufferPoint * p1, ZBufferPoint * p2);
|
||||
|
||||
/* ztriangle.c */
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zon_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_noblend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_noblend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_noblend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_noblend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_noblend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_noblend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_blend_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_blend_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_blend_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_blend_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_blend_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_blend_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_nocolor_anone_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_nocolor_anone_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_nocolor_aless_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_nocolor_aless_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_nocolor_amore_znone(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
void ZB_fillTriangleFlat_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleSmooth_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMapping_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingFlat_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
void ZB_fillTriangleMappingSmooth_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
|
||||
|
||||
void ZB_fillTriangleMappingPerspective_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveFlat_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
void ZB_fillTriangleMappingPerspectiveSmooth_xx_zoff_nocolor_amore_zless(ZBuffer *zb,
|
||||
ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
|
||||
|
||||
|
||||
typedef void (*ZB_fillTriangleFunc)(ZBuffer *,
|
||||
ZBufferPoint *,ZBufferPoint *,ZBufferPoint *);
|
||||
|
||||
/* memory.c */
|
||||
void gl_free(void *p);
|
||||
|
@ -15,7 +15,7 @@ Options = [
|
||||
[ 'zon', 'zoff' ],
|
||||
|
||||
# color write
|
||||
[ 'noblend', 'blend', 'nocolor' ],
|
||||
[ 'cstore', 'cblend', 'cgeneral', 'coff' ],
|
||||
|
||||
# alpha test
|
||||
[ 'anone', 'aless', 'amore' ],
|
||||
@ -45,9 +45,10 @@ CodeTable = {
|
||||
'zoff' : '#define STORE_Z(zpix, z)',
|
||||
|
||||
# color write
|
||||
'noblend' : '#define STORE_PIX(pix, rgb, r, g, b, a) (pix) = (rgb)',
|
||||
'blend' : '#define STORE_PIX(pix, rgb, r, g, b, a) (pix) = PIXEL_BLEND_RGB(pix, r, g, b, a)',
|
||||
'nocolor' : '#define STORE_PIX(pix, rgb, r, g, b, a)',
|
||||
'cstore' : '#define STORE_PIX(pix, rgb, r, g, b, a) (pix) = (rgb)',
|
||||
'cblend' : '#define STORE_PIX(pix, rgb, r, g, b, a) (pix) = PIXEL_BLEND_RGB(pix, r, g, b, a)',
|
||||
'cgeneral' : '#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)',
|
||||
'coff' : '#define STORE_PIX(pix, rgb, r, g, b, a)',
|
||||
|
||||
# alpha test
|
||||
'anone' : '#define ACMP(zb, a) 1',
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,3 @@
|
||||
/* This file is generated code--do not edit. See ztriangle.py. */
|
||||
|
||||
extern const ZB_fillTriangleFunc fill_tri_funcs[2][3][3][2][2][3][3];
|
||||
extern const ZB_fillTriangleFunc fill_tri_funcs[2][4][3][2][2][3][3];
|
||||
|
Loading…
x
Reference in New Issue
Block a user