core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

ss_triangle.c File Reference

#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 Documentation

#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,
 )     UNCLAMPED_FLOAT_TO_RGBA_CHAN(a,b)

#define SS_IND ( a,
 )     (a = b)

#define SS_MAX_TRIFUNC   0x10

#define SS_OFFSET_BIT   0x2

#define SS_RGBA_BIT   0x1

#define SS_SPEC ( a,
 )     UNCLAMPED_FLOAT_TO_RGB_CHAN(a,b)

#define SS_TWOSIDE_BIT   0x4

#define SS_UNFILLED_BIT   0x8

#define TAG (  )     x##_offset_twoside_unfilled_rgba

#define TAG (  )     x##_twoside_unfilled_rgba

#define TAG (  )     x##_offset_unfilled_rgba

#define TAG (  )     x##_unfilled_rgba

#define TAG (  )     x##_offset_twoside_rgba

#define TAG (  )     x##_twoside_rgba

#define TAG (  )     x##_offset_rgba

#define TAG (  )     x##_rgba

#define TAG (  )     x##_offset_twoside_unfilled

#define TAG (  )     x##_twoside_unfilled

#define TAG (  )     x##_offset_unfilled

#define TAG (  )     x##_unfilled

#define TAG (  )     x##_offset_twoside

#define TAG (  )     x##_twoside

#define TAG (  )     x##_offset

#define TAG (  )     x


Typedef Documentation

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)


Function Documentation

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]


Variable Documentation

tnl_quad_func quad_tab[SS_MAX_TRIFUNC] [static]

tnl_triangle_func tri_tab[SS_MAX_TRIFUNC] [static]


Generated on Sun Sep 27 06:48:07 2009 for Mesa swrast_setup by  doxygen 1.5.4