TinyGL 0.4.1 for MinGW
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
zgl.h File Reference
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <assert.h>
#include <string.h>
#include <GL/gl.h>
#include "zbuffer.h"
#include "zmath.h"
#include "zfeatures.h"
#include "opinfo.h"

Go to the source code of this file.

Data Structures

struct  GLSpecBuf
 
struct  GLLight
 
struct  GLMaterial
 
struct  GLViewport
 
union  GLParam
 
struct  GLParamBuffer
 
struct  GLList
 
struct  GLVertex
 
struct  GLImage
 
struct  GLTexture
 
struct  GLSharedState
 
struct  GLContext
 

Macros

#define DEBUG
 
#define ADD_OP(a, b, c)   OP_ ## a ,
 
#define POLYGON_MAX_VERTEX   16
 
#define MAX_SPECULAR_BUFFERS   8
 
#define SPECULAR_BUFFER_SIZE   1024
 
#define SPECULAR_BUFFER_RESOLUTION   1024
 
#define MAX_MODELVIEW_STACK_DEPTH   32
 
#define MAX_PROJECTION_STACK_DEPTH   8
 
#define MAX_TEXTURE_STACK_DEPTH   8
 
#define MAX_NAME_STACK_DEPTH   64
 
#define MAX_TEXTURE_LEVELS   11
 
#define MAX_LIGHTS   16
 
#define VERTEX_HASH_SIZE   1031
 
#define MAX_DISPLAY_LISTS   1024
 
#define OP_BUFFER_MAX_SIZE   512
 
#define TGL_OFFSET_FILL   0x1
 
#define TGL_OFFSET_LINE   0x2
 
#define TGL_OFFSET_POINT   0x4
 
#define TEXTURE_HASH_TABLE_SIZE   256
 
#define dprintf(format, args...)    fprintf(stderr,"In '%s': " format "\n",__FUNCTION__, ##args);
 
#define ADD_OP(a, b, c)   void glop ## a (GLContext *,GLParam *);
 
#define CLIP_EPSILON   (1E-5)
 

Typedefs

typedef struct GLSpecBuf GLSpecBuf
 
typedef struct GLLight GLLight
 
typedef struct GLMaterial GLMaterial
 
typedef struct GLViewport GLViewport
 
typedef struct GLParamBuffer GLParamBuffer
 
typedef struct GLList GLList
 
typedef struct GLVertex GLVertex
 
typedef struct GLImage GLImage
 
typedef struct GLTexture GLTexture
 
typedef struct GLSharedState GLSharedState
 
typedef void(* gl_draw_triangle_func) (struct GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
typedef struct GLContext GLContext
 

Enumerations

enum  
 

Functions

void gl_add_op (GLParam *p)
 
void gl_transform_to_viewport (GLContext *c, GLVertex *v)
 
void gl_draw_triangle (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_line (GLContext *c, GLVertex *p0, GLVertex *p1)
 
void gl_draw_point (GLContext *c, GLVertex *p0)
 
void gl_draw_triangle_point (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_line (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_fill (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_select (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_print_matrix (const float *m)
 
void gl_add_select (GLContext *c, unsigned int zmin, unsigned int zmax)
 
void gl_enable_disable_light (GLContext *c, int light, int v)
 
void gl_shade_vertex (GLContext *c, GLVertex *v)
 
void glInitTextures (GLContext *c)
 
void glEndTextures (GLContext *c)
 
GLTexturealloc_texture (GLContext *c, int h)
 
void gl_convertRGB_to_5R6G5B (unsigned short *pixmap, unsigned char *rgb, int xsize, int ysize)
 
void gl_convertRGB_to_8A8R8G8B (unsigned int *pixmap, unsigned char *rgb, int xsize, int ysize)
 
void gl_resizeImage (unsigned char *dest, int xsize_dest, int ysize_dest, unsigned char *src, int xsize_src, int ysize_src)
 
void gl_resizeImageNoInterpolate (unsigned char *dest, int xsize_dest, int ysize_dest, unsigned char *src, int xsize_src, int ysize_src)
 
GLContextgl_get_context (void)
 
void gl_fatal_error (char *format,...)
 
GLSpecBufspecbuf_get_buffer (GLContext *c, const int shininess_i, const float shininess)
 

Variables

GLContextgl_ctx
 

Macro Definition Documentation

◆ ADD_OP [1/2]

#define ADD_OP (   a,
  b,
 
)    OP_ ## a ,

Definition at line 352 of file zgl.h.

◆ ADD_OP [2/2]

#define ADD_OP (   a,
  b,
 
)    void glop ## a (GLContext *,GLParam *);

Definition at line 352 of file zgl.h.

◆ CLIP_EPSILON

#define CLIP_EPSILON   (1E-5)

Definition at line 358 of file zgl.h.

◆ DEBUG

#define DEBUG

Definition at line 14 of file zgl.h.

◆ dprintf

#define dprintf (   format,
  args... 
)     fprintf(stderr,"In '%s': " format "\n",__FUNCTION__, ##args);

Definition at line 340 of file zgl.h.

◆ MAX_DISPLAY_LISTS

#define MAX_DISPLAY_LISTS   1024

Definition at line 45 of file zgl.h.

◆ MAX_LIGHTS

#define MAX_LIGHTS   16

Definition at line 41 of file zgl.h.

◆ MAX_MODELVIEW_STACK_DEPTH

#define MAX_MODELVIEW_STACK_DEPTH   32

Definition at line 36 of file zgl.h.

◆ MAX_NAME_STACK_DEPTH

#define MAX_NAME_STACK_DEPTH   64

Definition at line 39 of file zgl.h.

◆ MAX_PROJECTION_STACK_DEPTH

#define MAX_PROJECTION_STACK_DEPTH   8

Definition at line 37 of file zgl.h.

◆ MAX_SPECULAR_BUFFERS

#define MAX_SPECULAR_BUFFERS   8

Definition at line 29 of file zgl.h.

◆ MAX_TEXTURE_LEVELS

#define MAX_TEXTURE_LEVELS   11

Definition at line 40 of file zgl.h.

◆ MAX_TEXTURE_STACK_DEPTH

#define MAX_TEXTURE_STACK_DEPTH   8

Definition at line 38 of file zgl.h.

◆ OP_BUFFER_MAX_SIZE

#define OP_BUFFER_MAX_SIZE   512

Definition at line 46 of file zgl.h.

◆ POLYGON_MAX_VERTEX

#define POLYGON_MAX_VERTEX   16

Definition at line 26 of file zgl.h.

◆ SPECULAR_BUFFER_RESOLUTION

#define SPECULAR_BUFFER_RESOLUTION   1024

Definition at line 33 of file zgl.h.

◆ SPECULAR_BUFFER_SIZE

#define SPECULAR_BUFFER_SIZE   1024

Definition at line 31 of file zgl.h.

◆ TEXTURE_HASH_TABLE_SIZE

#define TEXTURE_HASH_TABLE_SIZE   256

Definition at line 136 of file zgl.h.

◆ TGL_OFFSET_FILL

#define TGL_OFFSET_FILL   0x1

Definition at line 48 of file zgl.h.

◆ TGL_OFFSET_LINE

#define TGL_OFFSET_LINE   0x2

Definition at line 49 of file zgl.h.

◆ TGL_OFFSET_POINT

#define TGL_OFFSET_POINT   0x4

Definition at line 50 of file zgl.h.

◆ VERTEX_HASH_SIZE

#define VERTEX_HASH_SIZE   1031

Definition at line 43 of file zgl.h.

Typedef Documentation

◆ gl_draw_triangle_func

typedef void(* gl_draw_triangle_func) (struct GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)

Definition at line 154 of file zgl.h.

◆ GLContext

typedef struct GLContext GLContext

◆ GLImage

typedef struct GLImage GLImage

◆ GLLight

typedef struct GLLight GLLight

◆ GLList

typedef struct GLList GLList

◆ GLMaterial

typedef struct GLMaterial GLMaterial

◆ GLParamBuffer

typedef struct GLParamBuffer GLParamBuffer

◆ GLSharedState

typedef struct GLSharedState GLSharedState

◆ GLSpecBuf

typedef struct GLSpecBuf GLSpecBuf

◆ GLTexture

typedef struct GLTexture GLTexture

◆ GLVertex

typedef struct GLVertex GLVertex

◆ GLViewport

typedef struct GLViewport GLViewport

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 17 of file zgl.h.

Function Documentation

◆ alloc_texture()

GLTexture * alloc_texture ( GLContext c,
int  h 
)

Definition at line 43 of file texture.c.

◆ gl_add_op()

void gl_add_op ( GLParam p)

Definition at line 137 of file list.c.

◆ gl_add_select()

void gl_add_select ( GLContext c,
unsigned int  zmin,
unsigned int  zmax 
)

Definition at line 88 of file select.c.

◆ gl_convertRGB_to_5R6G5B()

void gl_convertRGB_to_5R6G5B ( unsigned short *  pixmap,
unsigned char *  rgb,
int  xsize,
int  ysize 
)

Definition at line 7 of file image_util.c.

◆ gl_convertRGB_to_8A8R8G8B()

void gl_convertRGB_to_8A8R8G8B ( unsigned int *  pixmap,
unsigned char *  rgb,
int  xsize,
int  ysize 
)

Definition at line 21 of file image_util.c.

◆ gl_draw_line()

void gl_draw_line ( GLContext c,
GLVertex p0,
GLVertex p1 
)

Definition at line 112 of file clip.c.

◆ gl_draw_point()

void gl_draw_point ( GLContext c,
GLVertex p0 
)

Definition at line 65 of file clip.c.

◆ gl_draw_triangle()

void gl_draw_triangle ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 241 of file clip.c.

◆ gl_draw_triangle_fill()

void gl_draw_triangle_fill ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 383 of file clip.c.

◆ gl_draw_triangle_line()

void gl_draw_triangle_line ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 418 of file clip.c.

◆ gl_draw_triangle_point()

void gl_draw_triangle_point ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 435 of file clip.c.

◆ gl_draw_triangle_select()

void gl_draw_triangle_select ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 373 of file clip.c.

◆ gl_enable_disable_light()

void gl_enable_disable_light ( GLContext c,
int  light,
int  v 
)

Definition at line 164 of file light.c.

◆ gl_fatal_error()

void gl_fatal_error ( char *  format,
  ... 
)

Definition at line 4 of file error.c.

◆ gl_get_context()

GLContext * gl_get_context ( void  )

Definition at line 25 of file list.c.

◆ gl_print_matrix()

void gl_print_matrix ( const float *  m)

Definition at line 3 of file matrix.c.

◆ gl_resizeImage()

void gl_resizeImage ( unsigned char *  dest,
int  xsize_dest,
int  ysize_dest,
unsigned char *  src,
int  xsize_src,
int  ysize_src 
)

Definition at line 54 of file image_util.c.

◆ gl_resizeImageNoInterpolate()

void gl_resizeImageNoInterpolate ( unsigned char *  dest,
int  xsize_dest,
int  ysize_dest,
unsigned char *  src,
int  xsize_src,
int  ysize_src 
)

Definition at line 105 of file image_util.c.

◆ gl_shade_vertex()

void gl_shade_vertex ( GLContext c,
GLVertex v 
)

Definition at line 181 of file light.c.

◆ gl_transform_to_viewport()

void gl_transform_to_viewport ( GLContext c,
GLVertex v 
)

Definition at line 13 of file clip.c.

◆ glEndTextures()

void glEndTextures ( GLContext c)

◆ glInitTextures()

void glInitTextures ( GLContext c)

Definition at line 62 of file texture.c.

◆ specbuf_get_buffer()

GLSpecBuf * specbuf_get_buffer ( GLContext c,
const int  shininess_i,
const float  shininess 
)

Definition at line 19 of file specbuf.c.

Variable Documentation

◆ gl_ctx

GLContext* gl_ctx
extern

Definition at line 3 of file init.c.