FS2_Open
Open source remastering of the Freespace 2 engine
gropengldraw.cpp File Reference

Go to the source code of this file.

Classes

struct  opengl_vertex_bind
 
struct  v4
 
struct  v6
 
struct  c4
 

Macros

#define MAX_VERTS_PER_DRAW   120
 
#define FIND_SCALED_NUM(x, x0, x1, y0, y1)   ( ((((x) - (x0)) * ((y1) - (y0))) / ((x1) - (x0))) + (y0) )
 

Functions

void opengl_bind_vertex_component (vertex_format_data &vert_component)
 
void opengl_bind_vertex_layout (vertex_layout &layout)
 
void gr_opengl_pixel (int x, int y, int resize_mode)
 
void opengl_aabitmap_ex_internal (int x, int y, int w, int h, int sx, int sy, int resize_mode, bool mirror)
 
void gr_opengl_aabitmap_ex (int x, int y, int w, int h, int sx, int sy, int resize_mode, bool mirror)
 
void gr_opengl_aabitmap (int x, int y, int resize_mode, bool mirror)
 
void gr_opengl_string (float sx, float sy, const char *s, int resize_mode)
 
void gr_opengl_string (int sx, int sy, const char *s, int resize_mode)
 
void gr_opengl_line (int x1, int y1, int x2, int y2, int resize_mode)
 
void gr_opengl_line_htl (const vec3d *start, const vec3d *end)
 
void gr_opengl_aaline (vertex *v1, vertex *v2)
 
void gr_opengl_gradient (int x1, int y1, int x2, int y2, int resize_mode)
 
void gr_opengl_circle (int xc, int yc, int d, int resize_mode)
 
void gr_opengl_unfilled_circle (int xc, int yc, int d, int resize_mode)
 
void gr_opengl_arc (int xc, int yc, float r, float angle_start, float angle_end, bool fill, int resize_mode)
 
void gr_opengl_curve (int xc, int yc, int r, int direction, int resize_mode)
 
void opengl_draw_primitive (int nv, vertex **verts, uint flags, float u_scale, float v_scale, int r, int g, int b, int a, int override_primary=0)
 
void opengl_tmapper_internal (int nv, vertex **verts, uint flags, int is_scaler=0)
 
void opengl_tmapper_internal3d (int nv, vertex **verts, uint flags)
 
void gr_opengl_tmapper (int nverts, vertex **verts, uint flags)
 
void opengl_render_internal (int nverts, vertex *verts, uint flags)
 
void opengl_render_internal3d (int nverts, vertex *verts, uint flags)
 
void gr_opengl_render_effect (int nverts, vertex *verts, float *radius_list, uint flags)
 
void gr_opengl_render (int nverts, vertex *verts, uint flags)
 
void gr_opengl_scaler (vertex *va, vertex *vb, bool bw_bitmap=false)
 
void gr_opengl_cross_fade (int bmap1, int bmap2, int x1, int y1, int x2, int y2, float pct, int resize_mode)
 
void gr_opengl_shade (int x, int y, int w, int h, int resize_mode)
 
void gr_opengl_flash (int r, int g, int b)
 
void gr_opengl_flash_alpha (int r, int g, int b, int a)
 
void opengl_bitmap_ex_internal (int x, int y, int w, int h, int sx, int sy, int resize_mode)
 
void gr_opengl_bitmap_ex (int x, int y, int w, int h, int sx, int sy, int resize_mode)
 
void gr_opengl_sphere_htl (float rad)
 
void gr_opengl_deferred_light_sphere_init (int rings, int segments)
 
void gr_opengl_draw_deferred_light_sphere (vec3d *position, float rad, bool clearStencil=true)
 
void gr_opengl_deferred_light_cylinder_init (int segments)
 
void gr_opengl_draw_deferred_light_cylinder (vec3d *position, matrix *orient, float rad, float length, bool clearStencil=true)
 
void gr_opengl_draw_line_list (const colored_vector *lines, int num)
 
int opengl_check_framebuffer ()
 
void opengl_setup_scene_textures ()
 
void opengl_scene_texture_shutdown ()
 
void gr_opengl_scene_texture_begin ()
 
void gr_opengl_scene_texture_end ()
 
void gr_opengl_copy_effect_texture ()
 
void opengl_clear_deferred_buffers ()
 
void gr_opengl_deferred_lighting_begin ()
 
void gr_opengl_deferred_lighting_end ()
 
void gr_opengl_deferred_lighting_finish ()
 
void gr_opengl_update_distortion ()
 
void opengl_draw (vertex_layout vertex_binding, GLenum prim_type, int count, int vbuffer_handle)
 

Variables

GLuint Scene_framebuffer
 
GLuint Scene_color_texture
 
GLuint Scene_position_texture
 
GLuint Scene_normal_texture
 
GLuint Scene_specular_texture
 
GLuint Scene_luminance_texture
 
GLuint Scene_effect_texture
 
GLuint Scene_depth_texture
 
GLuint Cockpit_depth_texture
 
GLuint Scene_stencil_buffer
 
GLuint Distortion_framebuffer
 
GLuint Distortion_texture [2]
 
int Distortion_switch = 0
 
int Scene_texture_initialized
 
bool Scene_framebuffer_in_frame
 
bool Deferred_lighting = false
 
int Scene_texture_width
 
int Scene_texture_height
 
GLfloat Scene_texture_u_scale = 1.0f
 
GLfloat Scene_texture_v_scale = 1.0f
 
GLuint deferred_light_sphere_vbo = 0
 
GLuint deferred_light_sphere_ibo = 0
 
GLushort deferred_light_sphere_vcount = 0
 
GLuint deferred_light_sphere_icount = 0
 
GLuint deferred_light_cylinder_vbo = 0
 
GLuint deferred_light_cylinder_ibo = 0
 
GLushort deferred_light_cylinder_vcount = 0
 
GLuint deferred_light_cylinder_icount = 0
 
bool Use_Shaders_for_effect_rendering = true
 
float time_buffer = 0.0f
 
light Lights [MAX_LIGHTS]
 
int Num_lights
 
float GL_light_color []
 
float static_point_factor
 
float static_light_factor
 
float static_tube_factor
 

Macro Definition Documentation

#define FIND_SCALED_NUM (   x,
  x0,
  x1,
  y0,
  y1 
)    ( ((((x) - (x0)) * ((y1) - (y0))) / ((x1) - (x0))) + (y0) )

Definition at line 1809 of file gropengldraw.cpp.

#define MAX_VERTS_PER_DRAW   120

Definition at line 428 of file gropengldraw.cpp.

Function Documentation

void gr_opengl_aabitmap ( int  x,
int  y,
int  resize_mode,
bool  mirror 
)

Definition at line 367 of file gropengldraw.cpp.

void gr_opengl_aabitmap_ex ( int  x,
int  y,
int  w,
int  h,
int  sx,
int  sy,
int  resize_mode,
bool  mirror 
)

Definition at line 249 of file gropengldraw.cpp.

void gr_opengl_aaline ( vertex v1,
vertex v2 
)

Definition at line 792 of file gropengldraw.cpp.

void gr_opengl_arc ( int  xc,
int  yc,
float  r,
float  angle_start,
float  angle_end,
bool  fill,
int  resize_mode 
)

Definition at line 1035 of file gropengldraw.cpp.

void gr_opengl_bitmap_ex ( int  x,
int  y,
int  w,
int  h,
int  sx,
int  sy,
int  resize_mode 
)

Definition at line 2089 of file gropengldraw.cpp.

void gr_opengl_circle ( int  xc,
int  yc,
int  d,
int  resize_mode 
)

Definition at line 942 of file gropengldraw.cpp.

void gr_opengl_copy_effect_texture ( )

Definition at line 3025 of file gropengldraw.cpp.

void gr_opengl_cross_fade ( int  bmap1,
int  bmap2,
int  x1,
int  y1,
int  x2,
int  y2,
float  pct,
int  resize_mode 
)

Definition at line 1949 of file gropengldraw.cpp.

void gr_opengl_curve ( int  xc,
int  yc,
int  r,
int  direction,
int  resize_mode 
)

Definition at line 1162 of file gropengldraw.cpp.

void gr_opengl_deferred_light_cylinder_init ( int  segments)

Definition at line 2395 of file gropengldraw.cpp.

void gr_opengl_deferred_light_sphere_init ( int  rings,
int  segments 
)

Definition at line 2284 of file gropengldraw.cpp.

void gr_opengl_deferred_lighting_begin ( )

Definition at line 3057 of file gropengldraw.cpp.

void gr_opengl_deferred_lighting_end ( )

Definition at line 3068 of file gropengldraw.cpp.

void gr_opengl_deferred_lighting_finish ( )

Definition at line 3083 of file gropengldraw.cpp.

void gr_opengl_draw_deferred_light_cylinder ( vec3d position,
matrix orient,
float  rad,
float  length,
bool  clearStencil = true 
)

Definition at line 2503 of file gropengldraw.cpp.

void gr_opengl_draw_deferred_light_sphere ( vec3d position,
float  rad,
bool  clearStencil = true 
)

Definition at line 2371 of file gropengldraw.cpp.

void gr_opengl_draw_line_list ( const colored_vector lines,
int  num 
)

Definition at line 2527 of file gropengldraw.cpp.

void gr_opengl_flash ( int  r,
int  g,
int  b 
)

Definition at line 1990 of file gropengldraw.cpp.

void gr_opengl_flash_alpha ( int  r,
int  g,
int  b,
int  a 
)

Definition at line 2014 of file gropengldraw.cpp.

void gr_opengl_gradient ( int  x1,
int  y1,
int  x2,
int  y2,
int  resize_mode 
)

Definition at line 878 of file gropengldraw.cpp.

void gr_opengl_line ( int  x1,
int  y1,
int  x2,
int  y2,
int  resize_mode 
)

Definition at line 660 of file gropengldraw.cpp.

void gr_opengl_line_htl ( const vec3d start,
const vec3d end 
)

Definition at line 754 of file gropengldraw.cpp.

void gr_opengl_pixel ( int  x,
int  y,
int  resize_mode 
)

Definition at line 176 of file gropengldraw.cpp.

void gr_opengl_render ( int  nverts,
vertex verts,
uint  flags 
)

Definition at line 1799 of file gropengldraw.cpp.

void gr_opengl_render_effect ( int  nverts,
vertex verts,
float radius_list,
uint  flags 
)

Definition at line 1719 of file gropengldraw.cpp.

void gr_opengl_scaler ( vertex va,
vertex vb,
bool  bw_bitmap = false 
)

Definition at line 1811 of file gropengldraw.cpp.

void gr_opengl_scene_texture_begin ( )

Definition at line 2876 of file gropengldraw.cpp.

void gr_opengl_scene_texture_end ( )

Definition at line 2921 of file gropengldraw.cpp.

void gr_opengl_shade ( int  x,
int  y,
int  w,
int  h,
int  resize_mode 
)

Definition at line 1958 of file gropengldraw.cpp.

void gr_opengl_sphere_htl ( float  rad)

Definition at line 2243 of file gropengldraw.cpp.

void gr_opengl_string ( float  sx,
float  sy,
const char *  s,
int  resize_mode 
)

Definition at line 432 of file gropengldraw.cpp.

void gr_opengl_string ( int  sx,
int  sy,
const char *  s,
int  resize_mode 
)

Definition at line 655 of file gropengldraw.cpp.

void gr_opengl_tmapper ( int  nverts,
vertex **  verts,
uint  flags 
)

Definition at line 1564 of file gropengldraw.cpp.

void gr_opengl_unfilled_circle ( int  xc,
int  yc,
int  d,
int  resize_mode 
)

Definition at line 947 of file gropengldraw.cpp.

void gr_opengl_update_distortion ( )

Definition at line 3260 of file gropengldraw.cpp.

void opengl_aabitmap_ex_internal ( int  x,
int  y,
int  w,
int  h,
int  sx,
int  sy,
int  resize_mode,
bool  mirror 
)

Definition at line 181 of file gropengldraw.cpp.

void opengl_bind_vertex_component ( vertex_format_data vert_component)

Definition at line 110 of file gropengldraw.cpp.

void opengl_bind_vertex_layout ( vertex_layout layout)

Definition at line 163 of file gropengldraw.cpp.

void opengl_bitmap_ex_internal ( int  x,
int  y,
int  w,
int  h,
int  sx,
int  sy,
int  resize_mode 
)

Definition at line 2039 of file gropengldraw.cpp.

int opengl_check_framebuffer ( )

Definition at line 1412 of file gropengltexture.cpp.

void opengl_clear_deferred_buffers ( )

Definition at line 3036 of file gropengldraw.cpp.

void opengl_draw ( vertex_layout  vertex_binding,
GLenum  prim_type,
int  count,
int  vbuffer_handle 
)

Definition at line 3346 of file gropengldraw.cpp.

void opengl_draw_primitive ( int  nv,
vertex **  verts,
uint  flags,
float  u_scale,
float  v_scale,
int  r,
int  g,
int  b,
int  a,
int  override_primary = 0 
)

Definition at line 1275 of file gropengldraw.cpp.

void opengl_render_internal ( int  nverts,
vertex verts,
uint  flags 
)

Definition at line 1573 of file gropengldraw.cpp.

void opengl_render_internal3d ( int  nverts,
vertex verts,
uint  flags 
)

Definition at line 1659 of file gropengldraw.cpp.

void opengl_scene_texture_shutdown ( )

Definition at line 2821 of file gropengldraw.cpp.

void opengl_setup_scene_textures ( )

Definition at line 2534 of file gropengldraw.cpp.

void opengl_tmapper_internal ( int  nv,
vertex **  verts,
uint  flags,
int  is_scaler = 0 
)

Definition at line 1403 of file gropengldraw.cpp.

void opengl_tmapper_internal3d ( int  nv,
vertex **  verts,
uint  flags 
)

Definition at line 1476 of file gropengldraw.cpp.

Variable Documentation

GLuint Cockpit_depth_texture

Definition at line 42 of file gropengldraw.cpp.

GLuint deferred_light_cylinder_ibo = 0

Definition at line 66 of file gropengldraw.cpp.

GLuint deferred_light_cylinder_icount = 0

Definition at line 68 of file gropengldraw.cpp.

GLuint deferred_light_cylinder_vbo = 0

Definition at line 65 of file gropengldraw.cpp.

GLushort deferred_light_cylinder_vcount = 0

Definition at line 67 of file gropengldraw.cpp.

GLuint deferred_light_sphere_ibo = 0

Definition at line 61 of file gropengldraw.cpp.

GLuint deferred_light_sphere_icount = 0

Definition at line 63 of file gropengldraw.cpp.

GLuint deferred_light_sphere_vbo = 0

Definition at line 60 of file gropengldraw.cpp.

GLushort deferred_light_sphere_vcount = 0

Definition at line 62 of file gropengldraw.cpp.

bool Deferred_lighting = false

Definition at line 52 of file gropengldraw.cpp.

GLuint Distortion_framebuffer

Definition at line 45 of file gropengldraw.cpp.

int Distortion_switch = 0

Definition at line 47 of file gropengldraw.cpp.

GLuint Distortion_texture[2]

Definition at line 46 of file gropengldraw.cpp.

float GL_light_color[]
light Lights[MAX_LIGHTS]

Definition at line 28 of file lighting.cpp.

int Num_lights

Definition at line 29 of file lighting.cpp.

GLuint Scene_color_texture

Definition at line 35 of file gropengldraw.cpp.

GLuint Scene_depth_texture

Definition at line 41 of file gropengldraw.cpp.

GLuint Scene_effect_texture

Definition at line 40 of file gropengldraw.cpp.

GLuint Scene_framebuffer

Definition at line 34 of file gropengldraw.cpp.

bool Scene_framebuffer_in_frame

Definition at line 50 of file gropengldraw.cpp.

GLuint Scene_luminance_texture

Definition at line 39 of file gropengldraw.cpp.

GLuint Scene_normal_texture

Definition at line 37 of file gropengldraw.cpp.

GLuint Scene_position_texture

Definition at line 36 of file gropengldraw.cpp.

GLuint Scene_specular_texture

Definition at line 38 of file gropengldraw.cpp.

GLuint Scene_stencil_buffer

Definition at line 43 of file gropengldraw.cpp.

int Scene_texture_height

Definition at line 55 of file gropengldraw.cpp.

int Scene_texture_initialized

Definition at line 49 of file gropengldraw.cpp.

GLfloat Scene_texture_u_scale = 1.0f

Definition at line 57 of file gropengldraw.cpp.

GLfloat Scene_texture_v_scale = 1.0f

Definition at line 58 of file gropengldraw.cpp.

int Scene_texture_width

Definition at line 54 of file gropengldraw.cpp.

float static_light_factor

Definition at line 744 of file lighting.cpp.

float static_point_factor

Definition at line 746 of file lighting.cpp.

float static_tube_factor

Definition at line 745 of file lighting.cpp.

float time_buffer = 0.0f

Definition at line 2920 of file gropengldraw.cpp.

bool Use_Shaders_for_effect_rendering = true

Definition at line 1717 of file gropengldraw.cpp.