#include "main/glheader.h"
#include "main/colormac.h"
#include "main/macros.h"
#include "main/mtypes.h"
#include "tnl/t_context.h"
#include "ss_triangle.h"
#include "ss_context.h"
#include "ss_tritmp.h"
Defines | |
#define | SS_RGBA_BIT 0x1 |
#define | SS_OFFSET_BIT 0x2 |
#define | SS_TWOSIDE_BIT 0x4 |
#define | SS_UNFILLED_BIT 0x8 |
#define | SS_MAX_TRIFUNC 0x10 |
#define | SS_COLOR(a, b) UNCLAMPED_FLOAT_TO_RGBA_CHAN(a,b) |
#define | SS_SPEC(a, b) UNCLAMPED_FLOAT_TO_RGB_CHAN(a,b) |
#define | SS_IND(a, b) (a = b) |
#define | IND (0) |
#define | TAG(x) x |
#define | IND (SS_OFFSET_BIT) |
#define | TAG(x) x##_offset |
#define | IND (SS_TWOSIDE_BIT) |
#define | TAG(x) x##_twoside |
#define | IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT) |
#define | TAG(x) x##_offset_twoside |
#define | IND (SS_UNFILLED_BIT) |
#define | TAG(x) x##_unfilled |
#define | IND (SS_OFFSET_BIT|SS_UNFILLED_BIT) |
#define | TAG(x) x##_offset_unfilled |
#define | IND (SS_TWOSIDE_BIT|SS_UNFILLED_BIT) |
#define | TAG(x) x##_twoside_unfilled |
#define | IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT|SS_UNFILLED_BIT) |
#define | TAG(x) x##_offset_twoside_unfilled |
#define | IND (0|SS_RGBA_BIT) |
#define | TAG(x) x##_rgba |
#define | IND (SS_OFFSET_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_offset_rgba |
#define | IND (SS_TWOSIDE_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_twoside_rgba |
#define | IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_offset_twoside_rgba |
#define | IND (SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_unfilled_rgba |
#define | IND (SS_OFFSET_BIT|SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_offset_unfilled_rgba |
#define | IND (SS_TWOSIDE_BIT|SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_twoside_unfilled_rgba |
#define | IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT|SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define | TAG(x) x##_offset_twoside_unfilled_rgba |
Typedefs | |
typedef void(* | swsetup_edge_render_prim_tri )(GLcontext *ctx, const GLubyte *ef, GLuint e0, GLuint e1, GLuint e2, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) |
Functions | |
static void | _swsetup_edge_render_line_tri (GLcontext *ctx, const GLubyte *ef, GLuint e0, GLuint e1, GLuint e2, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) |
static void | _swsetup_edge_render_point_tri (GLcontext *ctx, const GLubyte *ef, GLuint e0, GLuint e1, GLuint e2, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) |
static void | _swsetup_render_tri (GLcontext *ctx, GLuint e0, GLuint e1, GLuint e2, GLuint facing, swsetup_edge_render_prim_tri render) |
void | _swsetup_trifuncs_init (GLcontext *ctx) |
static void | swsetup_points (GLcontext *ctx, GLuint first, GLuint last) |
static void | swsetup_line (GLcontext *ctx, GLuint v0, GLuint v1) |
void | _swsetup_choose_trifuncs (GLcontext *ctx) |
Variables | |
static tnl_triangle_func | tri_tab [SS_MAX_TRIFUNC] |
static tnl_quad_func | quad_tab [SS_MAX_TRIFUNC] |
#define IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT|SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define IND (SS_TWOSIDE_BIT|SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define IND (SS_OFFSET_BIT|SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define IND (SS_UNFILLED_BIT|SS_RGBA_BIT) |
#define IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT|SS_RGBA_BIT) |
#define IND (SS_TWOSIDE_BIT|SS_RGBA_BIT) |
#define IND (SS_OFFSET_BIT|SS_RGBA_BIT) |
#define IND (0|SS_RGBA_BIT) |
#define IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT|SS_UNFILLED_BIT) |
#define IND (SS_TWOSIDE_BIT|SS_UNFILLED_BIT) |
#define IND (SS_OFFSET_BIT|SS_UNFILLED_BIT) |
#define IND (SS_UNFILLED_BIT) |
#define IND (SS_OFFSET_BIT|SS_TWOSIDE_BIT) |
#define IND (SS_TWOSIDE_BIT) |
#define IND (SS_OFFSET_BIT) |
#define IND (0) |
#define SS_COLOR | ( | a, | |||
b | ) | UNCLAMPED_FLOAT_TO_RGBA_CHAN(a,b) |
#define SS_IND | ( | a, | |||
b | ) | (a = b) |
#define SS_MAX_TRIFUNC 0x10 |
#define SS_OFFSET_BIT 0x2 |
#define SS_RGBA_BIT 0x1 |
#define SS_SPEC | ( | a, | |||
b | ) | UNCLAMPED_FLOAT_TO_RGB_CHAN(a,b) |
#define SS_TWOSIDE_BIT 0x4 |
#define SS_UNFILLED_BIT 0x8 |
#define TAG | ( | x | ) | x##_offset_twoside_unfilled_rgba |
#define TAG | ( | x | ) | x##_twoside_unfilled_rgba |
#define TAG | ( | x | ) | x##_offset_unfilled_rgba |
#define TAG | ( | x | ) | x##_unfilled_rgba |
#define TAG | ( | x | ) | x##_offset_twoside_rgba |
#define TAG | ( | x | ) | x##_twoside_rgba |
#define TAG | ( | x | ) | x##_offset_rgba |
#define TAG | ( | x | ) | x##_rgba |
#define TAG | ( | x | ) | x##_offset_twoside_unfilled |
#define TAG | ( | x | ) | x##_twoside_unfilled |
#define TAG | ( | x | ) | x##_offset_unfilled |
#define TAG | ( | x | ) | x##_unfilled |
#define TAG | ( | x | ) | x##_offset_twoside |
#define TAG | ( | x | ) | x##_twoside |
#define TAG | ( | x | ) | x##_offset |
#define TAG | ( | x | ) | x |
typedef void(* swsetup_edge_render_prim_tri)(GLcontext *ctx, const GLubyte *ef, GLuint e0, GLuint e1, GLuint e2, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) |
void _swsetup_choose_trifuncs | ( | GLcontext * | ctx | ) |
static void _swsetup_edge_render_line_tri | ( | GLcontext * | ctx, | |
const GLubyte * | ef, | |||
GLuint | e0, | |||
GLuint | e1, | |||
GLuint | e2, | |||
const SWvertex * | v0, | |||
const SWvertex * | v1, | |||
const SWvertex * | v2 | |||
) | [static] |
static void _swsetup_edge_render_point_tri | ( | GLcontext * | ctx, | |
const GLubyte * | ef, | |||
GLuint | e0, | |||
GLuint | e1, | |||
GLuint | e2, | |||
const SWvertex * | v0, | |||
const SWvertex * | v1, | |||
const SWvertex * | v2 | |||
) | [static] |
static void _swsetup_render_tri | ( | GLcontext * | ctx, | |
GLuint | e0, | |||
GLuint | e1, | |||
GLuint | e2, | |||
GLuint | facing, | |||
swsetup_edge_render_prim_tri | render | |||
) | [static] |
void _swsetup_trifuncs_init | ( | GLcontext * | ctx | ) |
static void swsetup_line | ( | GLcontext * | ctx, | |
GLuint | v0, | |||
GLuint | v1 | |||
) | [static] |
static void swsetup_points | ( | GLcontext * | ctx, | |
GLuint | first, | |||
GLuint | last | |||
) | [static] |
tnl_quad_func quad_tab[SS_MAX_TRIFUNC] [static] |
tnl_triangle_func tri_tab[SS_MAX_TRIFUNC] [static] |