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

t_vb_texgen.c File Reference

#include "main/glheader.h"
#include "main/colormac.h"
#include "main/context.h"
#include "main/macros.h"
#include "main/imports.h"
#include "main/mtypes.h"
#include "math/m_xform.h"
#include "t_context.h"
#include "t_pipeline.h"

Data Structures

struct  texgen_stage_data

Defines

#define TEXGEN_STAGE_DATA(stage)   ((struct texgen_stage_data *)stage->privatePtr)
#define VEC_SIZE_FLAGS   (VEC_SIZE_1|VEC_SIZE_2|VEC_SIZE_3|VEC_SIZE_4)
#define TEXGEN_NEED_M   (TEXGEN_SPHERE_MAP)
#define TEXGEN_NEED_F

Typedefs

typedef void(* texgen_func )(GLcontext *ctx, struct texgen_stage_data *store, GLuint unit)
typedef void(* build_m_func )(GLfloat f[][3], GLfloat m[], const GLvector4f *normal, const GLvector4f *eye)
typedef void(* build_f_func )(GLfloat *f, GLuint fstride, const GLvector4f *normal_vec, const GLvector4f *eye)

Functions

static void build_m3 (GLfloat f[][3], GLfloat m[], const GLvector4f *normal, const GLvector4f *eye)
static void build_m2 (GLfloat f[][3], GLfloat m[], const GLvector4f *normal, const GLvector4f *eye)
static void build_f3 (GLfloat *f, GLuint fstride, const GLvector4f *normal, const GLvector4f *eye)
static void build_f2 (GLfloat *f, GLuint fstride, const GLvector4f *normal, const GLvector4f *eye)
static void texgen_reflection_map_nv (GLcontext *ctx, struct texgen_stage_data *store, GLuint unit)
static void texgen_normal_map_nv (GLcontext *ctx, struct texgen_stage_data *store, GLuint unit)
static void texgen_sphere_map (GLcontext *ctx, struct texgen_stage_data *store, GLuint unit)
static void texgen (GLcontext *ctx, struct texgen_stage_data *store, GLuint unit)
static GLboolean run_texgen_stage (GLcontext *ctx, struct tnl_pipeline_stage *stage)
static void validate_texgen_stage (GLcontext *ctx, struct tnl_pipeline_stage *stage)
static GLboolean alloc_texgen_data (GLcontext *ctx, struct tnl_pipeline_stage *stage)
static void free_texgen_data (struct tnl_pipeline_stage *stage)

Variables

static GLuint all_bits [5]
static build_m_func build_m_tab [5]
static build_f_func build_f_tab [5]
struct tnl_pipeline_stage _tnl_texgen_stage


Define Documentation

#define TEXGEN_NEED_F

Value:

#define TEXGEN_NEED_M   (TEXGEN_SPHERE_MAP)

#define TEXGEN_STAGE_DATA ( stage   )     ((struct texgen_stage_data *)stage->privatePtr)

#define VEC_SIZE_FLAGS   (VEC_SIZE_1|VEC_SIZE_2|VEC_SIZE_3|VEC_SIZE_4)


Typedef Documentation

typedef void(* build_f_func)(GLfloat *f, GLuint fstride, const GLvector4f *normal_vec, const GLvector4f *eye)

typedef void(* build_m_func)(GLfloat f[][3], GLfloat m[], const GLvector4f *normal, const GLvector4f *eye)

typedef void(* texgen_func)(GLcontext *ctx, struct texgen_stage_data *store, GLuint unit)


Function Documentation

static GLboolean alloc_texgen_data ( GLcontext ctx,
struct tnl_pipeline_stage stage 
) [static]

static void build_f2 ( GLfloat *  f,
GLuint  fstride,
const GLvector4f normal,
const GLvector4f eye 
) [static]

static void build_f3 ( GLfloat *  f,
GLuint  fstride,
const GLvector4f normal,
const GLvector4f eye 
) [static]

static void build_m2 ( GLfloat  f[][3],
GLfloat  m[],
const GLvector4f normal,
const GLvector4f eye 
) [static]

static void build_m3 ( GLfloat  f[][3],
GLfloat  m[],
const GLvector4f normal,
const GLvector4f eye 
) [static]

static void free_texgen_data ( struct tnl_pipeline_stage stage  )  [static]

static GLboolean run_texgen_stage ( GLcontext ctx,
struct tnl_pipeline_stage stage 
) [static]

static void texgen ( GLcontext ctx,
struct texgen_stage_data store,
GLuint  unit 
) [static]

static void texgen_normal_map_nv ( GLcontext ctx,
struct texgen_stage_data store,
GLuint  unit 
) [static]

static void texgen_reflection_map_nv ( GLcontext ctx,
struct texgen_stage_data store,
GLuint  unit 
) [static]

static void texgen_sphere_map ( GLcontext ctx,
struct texgen_stage_data store,
GLuint  unit 
) [static]

static void validate_texgen_stage ( GLcontext ctx,
struct tnl_pipeline_stage stage 
) [static]


Variable Documentation

struct tnl_pipeline_stage _tnl_texgen_stage

Initial value:

GLuint all_bits[5] [static]

Initial value:

build_f_func build_f_tab[5] [static]

Initial value:

 {
   NULL,
   NULL,
   build_f2,
   build_f3,
   build_f3
}

build_m_func build_m_tab[5] [static]

Initial value:

 {
   NULL,
   NULL,
   build_m2,
   build_m3,
   build_m3
}


Generated on Sun Sep 27 06:48:09 2009 for Mesa Transform and Lighting (tnl) by  doxygen 1.5.4