Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
|
#include "gl_globals.h"
#include "gl_include.h"
#include "vs_globals.h"
#include "xml_support.h"
#include "config_xml.h"
#include "winsys.h"
#include <assert.h>
#include "gfxlib.h"
#include <string>
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glext.h>
#include <GL/glx.h>
#include <stdio.h>
#include "gl_init.h"
Go to the source code of this file.
Macros | |
#define | GL_INIT_CPP |
#define | GL_GLEXT_PROTOTYPES 1 |
#define | GLX_GLXEXT_PROTOTYPES 1 |
#define | GLX_GLXEXT_LEGACY 1 |
#define | WINDOW_TITLE "Vega Strike " VERSION |
#define | GET_GL_PROC glXGetProcAddressARB |
Typedefs | |
typedef void(*(* | get_gl_proc_fptr_t )(const GLubyte *))() |
typedef GLubyte * | GET_GL_PTR_TYP |
Functions | |
int | vsExtensionSupported (const char *extension) |
bool | vsVendorMatch (const char *vendor) |
void | init_opengl_extensions () |
static void | initfov () |
static void | Reshape (int x, int y) |
void | GFXInitTextureManager () |
void | GFXInit (int argc, char **argv) |
Loads Glut and graphics drivers. More... | |
void | GFXLoop (void main_loop()) |
loops on the function over and over More... | |
void | GFXShutdown () |
Shuts down the graphics subsystem. More... | |
Variables | |
PFNGLBINDBUFFERARBPROC | glBindBufferARB_p = 0 |
PFNGLGENBUFFERSARBPROC | glGenBuffersARB_p = 0 |
PFNGLDELETEBUFFERSARBPROC | glDeleteBuffersARB_p = 0 |
PFNGLBUFFERDATAARBPROC | glBufferDataARB_p = 0 |
PFNGLMAPBUFFERARBPROC | glMapBufferARB_p = 0 |
PFNGLUNMAPBUFFERARBPROC | glUnmapBufferARB_p = 0 |
PFNGLCLIENTACTIVETEXTUREARBPROC | glClientActiveTextureARB_p = 0 |
PFNGLCLIENTACTIVETEXTUREARBPROC | glActiveTextureARB_p = 0 |
PFNGLCOLORTABLEEXTPROC | glColorTable_p = 0 |
PFNGLMULTITEXCOORD2FARBPROC | glMultiTexCoord2fARB_p = 0 |
PFNGLMULTITEXCOORD4FARBPROC | glMultiTexCoord4fARB_p = 0 |
PFNGLLOCKARRAYSEXTPROC | glLockArraysEXT_p = 0 |
PFNGLUNLOCKARRAYSEXTPROC | glUnlockArraysEXT_p = 0 |
PFNGLCOMPRESSEDTEXIMAGE2DPROC | glCompressedTexImage2D_p = 0 |
PFNGLMULTIDRAWARRAYSEXTPROC | glMultiDrawArrays_p = 0 |
PFNGLMULTIDRAWELEMENTSEXTPROC | glMultiDrawElements_p = 0 |
PFNGLGETSHADERIVPROC | glGetShaderiv_p = 0 |
PFNGLGETPROGRAMIVPROC | glGetProgramiv_p = 0 |
PFNGLGETSHADERINFOLOGPROC | glGetShaderInfoLog_p = 0 |
PFNGLGETPROGRAMINFOLOGPROC | glGetProgramInfoLog_p = 0 |
PFNGLCREATESHADERPROC | glCreateShader_p = 0 |
PFNGLSHADERSOURCEPROC | glShaderSource_p = 0 |
PFNGLCOMPILESHADERPROC | glCompileShader_p = 0 |
PFNGLCREATEPROGRAMPROC | glCreateProgram_p = 0 |
PFNGLATTACHSHADERPROC | glAttachShader_p = 0 |
PFNGLLINKPROGRAMPROC | glLinkProgram_p = 0 |
PFNGLUSEPROGRAMPROC | glUseProgram_p = 0 |
PFNGLGETUNIFORMLOCATIONPROC | glGetUniformLocation_p = 0 |
PFNGLUNIFORM1FPROC | glUniform1f_p = 0 |
PFNGLUNIFORM2FPROC | glUniform2f_p = 0 |
PFNGLUNIFORM3FPROC | glUniform3f_p = 0 |
PFNGLUNIFORM4FPROC | glUniform4f_p = 0 |
PFNGLUNIFORM1IPROC | glUniform1i_p = 0 |
PFNGLUNIFORM2IPROC | glUniform2i_p = 0 |
PFNGLUNIFORM3IPROC | glUniform3i_p = 0 |
PFNGLUNIFORM4IPROC | glUniform4i_p = 0 |
PFNGLUNIFORM1FVPROC | glUniform1fv_p = 0 |
PFNGLUNIFORM2FVPROC | glUniform2fv_p = 0 |
PFNGLUNIFORM3FVPROC | glUniform3fv_p = 0 |
PFNGLUNIFORM4FVPROC | glUniform4fv_p = 0 |
PFNGLUNIFORM1IVPROC | glUniform1iv_p = 0 |
PFNGLUNIFORM2IVPROC | glUniform2iv_p = 0 |
PFNGLUNIFORM3IVPROC | glUniform3iv_p = 0 |
PFNGLUNIFORM4IVPROC | glUniform4iv_p = 0 |
PFNGLDELETESHADERPROC | glDeleteShader_p = 0 |
PFNGLDELETEPROGRAMPROC | glDeleteProgram_p = 0 |
#define GET_GL_PROC glXGetProcAddressARB |
Definition at line 154 of file gl_init.cpp.
Referenced by init_opengl_extensions().
#define GL_GLEXT_PROTOTYPES 1 |
Definition at line 53 of file gl_init.cpp.
#define GL_INIT_CPP |
Definition at line 21 of file gl_init.cpp.
#define GLX_GLXEXT_LEGACY 1 |
Definition at line 72 of file gl_init.cpp.
#define GLX_GLXEXT_PROTOTYPES 1 |
Definition at line 71 of file gl_init.cpp.
#define WINDOW_TITLE "Vega Strike " VERSION |
Definition at line 80 of file gl_init.cpp.
typedef void( *(* get_gl_proc_fptr_t)(const GLubyte *))() |
Definition at line 144 of file gl_init.cpp.
typedef GLubyte* GET_GL_PTR_TYP |
Definition at line 153 of file gl_init.cpp.
void GFXInit | ( | int | argc, |
char ** | argv | ||
) |
Loads Glut and graphics drivers.
Definition at line 532 of file gl_init.cpp.
References gl_options_t::compression, CUBE_MAP_GEN, CUBEMAP, gl_options_t::display_lists, gl_options_t::ext_clamp_to_border, gl_options_t::ext_clamp_to_edge, g_game, VegaConfig::getColor(), VegaConfig::getVariable(), GFXActiveTexture(), GFXADDTEXTURE, GFXBlendMode(), GFXCreateLightContext(), GFXInitTextureManager(), GFXTextureCoordGenMode(), GFXTextureEnv(), GFXToggleTexture(), GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB, gl_options, i, init_opengl_extensions(), initfov(), gl_options_t::max_movie_dimension, gl_options_t::max_rect_dimension, gl_options_t::max_texture_dimension, gl_options_t::mipmap, gl_options_t::Multitexture, ONE, gl_options_t::PaletteExt, XMLSupport::parse_bool(), XMLSupport::parse_int(), gl_options_t::pot_video_textures, gl_options_t::rect_textures, Reshape(), gl_options_t::s3tc, gl_options_t::smooth_lines, gl_options_t::smooth_points, gl_options_t::smooth_shade, SPHERE_MAP_GEN, TEXTURE2D, vs_config, VSFileSystem::vs_dprintf(), vsExtensionSupported(), vsVendorMatch(), winsys_enable_key_repeat(), winsys_init(), winsys_set_reshape_func(), winsys_show_cursor(), winsys_swap_buffers(), gl_options_t::wireframe, game_data_t::x_resolution, game_data_t::y_resolution, and ZERO.
Referenced by GameUniverse::Init().
void GFXInitTextureManager | ( | ) |
void GFXLoop | ( | void | main_loop()) |
loops on the function over and over
so we can call this function multiple times to change the display and idle functions
Definition at line 732 of file gl_init.cpp.
References main_loop(), winsys_process_events(), winsys_set_display_func(), and winsys_set_idle_func().
Referenced by BaseInterface::InitCallbacks(), GameUniverse::Loop(), GameMenu::processSinglePlayerButton(), restore_main_loop(), UniverseUtil::startMenuInterface(), and NavComputer::toggleVisibility().
void GFXShutdown | ( | ) |
Shuts down the graphics subsystem.
Definition at line 748 of file gl_init.cpp.
References gl_options_t::fullscreen, GFXDestroyAllLights(), GFXDestroyAllTextures(), gl_options, and winsys_shutdown().
Referenced by GameUniverse::~GameUniverse().
void init_opengl_extensions | ( | ) |
Definition at line 232 of file gl_init.cpp.
References gl_options_t::compression, gl_options_t::cubemap, gl_options_t::ext_clamp_to_border, gl_options_t::ext_clamp_to_edge, gl_options_t::ext_srgb_framebuffer, GET_GL_PROC, VegaConfig::getVariable(), GFXDefaultShaderSupported(), GL_FRAMEBUFFER_SRGB_CAPABLE_EXT, gl_options, glActiveTextureARB_p, glAttachShader_p, glBindBufferARB_p, glBufferDataARB_p, glClientActiveTextureARB_p, glColorTable_p, glCompileShader_p, glCompressedTexImage2D_p, glCreateProgram_p, glCreateShader_p, glDeleteBuffersARB_p, glDeleteProgram_p, glDeleteShader_p, glGenBuffersARB_p, glGetProgramInfoLog_p, glGetProgramiv_p, glGetShaderInfoLog_p, glGetShaderiv_p, glGetUniformLocation_p, glLinkProgram_p, glLockArraysEXT_p, glMapBufferARB_p, glMultiDrawArrays_p, glMultiDrawElements_p, glMultiTexCoord2fARB_p, glMultiTexCoord4fARB_p, glShaderSource_p, glUniform1f_p, glUniform1fv_p, glUniform1i_p, glUniform1iv_p, glUniform2f_p, glUniform2fv_p, glUniform2i_p, glUniform2iv_p, glUniform3f_p, glUniform3fv_p, glUniform3i_p, glUniform3iv_p, glUniform4f_p, glUniform4fv_p, glUniform4i_p, glUniform4iv_p, glUnlockArraysEXT_p, glUnmapBufferARB_p, glUseProgram_p, gl_options_t::max_array_indices, gl_options_t::max_array_vertices, gl_options_t::Multitexture, gl_options_t::nv_fp2, XMLSupport::parse_bool(), XMLSupport::parse_int(), gl_options_t::s3tc, vs_config, VSFileSystem::vs_dprintf(), and vsExtensionSupported().
Referenced by GFXInit().
|
static |
Definition at line 496 of file gl_init.cpp.
References game_data_t::aspect, game_data_t::detaillevel, game_data_t::fov, g_game, VegaConfig::getVariable(), XMLSupport::parse_bool(), XMLSupport::parse_float(), game_data_t::use_animations, game_data_t::use_logos, game_data_t::use_planet_textures, game_data_t::use_ship_textures, game_data_t::use_sprites, game_data_t::use_textures, game_data_t::use_videos, vs_config, game_data_t::zfar, and game_data_t::znear.
Referenced by GFXInit().
Definition at line 523 of file gl_init.cpp.
References g_game, VSFileSystem::vs_dprintf(), x, game_data_t::x_resolution, y, and game_data_t::y_resolution.
Referenced by GFXInit().
int vsExtensionSupported | ( | const char * | extension) |
Definition at line 163 of file gl_init.cpp.
References start.
Referenced by GFXInit(), and init_opengl_extensions().
bool vsVendorMatch | ( | const char * | vendor) |
Definition at line 197 of file gl_init.cpp.
References strtolower(), and VSFileSystem::vs_dprintf().
Referenced by GFXInit().
PFNGLCLIENTACTIVETEXTUREARBPROC glActiveTextureARB_p = 0 |
Definition at line 96 of file gl_init.cpp.
Referenced by GFXActiveTexture(), and init_opengl_extensions().
PFNGLATTACHSHADERPROC glAttachShader_p = 0 |
Definition at line 115 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLBINDBUFFERARBPROC glBindBufferARB_p = 0 |
Definition at line 88 of file gl_init.cpp.
Referenced by init_opengl_extensions(), and GFXVertexList::RefreshDisplayList().
PFNGLBUFFERDATAARBPROC glBufferDataARB_p = 0 |
Definition at line 91 of file gl_init.cpp.
Referenced by init_opengl_extensions(), and GFXVertexList::RefreshDisplayList().
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB_p = 0 |
Definition at line 95 of file gl_init.cpp.
Referenced by GFXVertexList::BeginDrawState(), and init_opengl_extensions().
PFNGLCOLORTABLEEXTPROC glColorTable_p = 0 |
Definition at line 97 of file gl_init.cpp.
Referenced by GFXTransferTexture(), and init_opengl_extensions().
PFNGLCOMPILESHADERPROC glCompileShader_p = 0 |
Definition at line 113 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D_p = 0 |
Definition at line 103 of file gl_init.cpp.
Referenced by GFXTransferTexture(), and init_opengl_extensions().
PFNGLCREATEPROGRAMPROC glCreateProgram_p = 0 |
Definition at line 114 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLCREATESHADERPROC glCreateShader_p = 0 |
Definition at line 111 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB_p = 0 |
Definition at line 90 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLDELETEPROGRAMPROC glDeleteProgram_p = 0 |
Definition at line 140 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), GFXReloadDefaultShader(), and init_opengl_extensions().
PFNGLDELETESHADERPROC glDeleteShader_p = 0 |
Definition at line 139 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLGENBUFFERSARBPROC glGenBuffersARB_p = 0 |
Definition at line 89 of file gl_init.cpp.
Referenced by init_opengl_extensions(), and GFXVertexList::RefreshDisplayList().
PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog_p = 0 |
Definition at line 110 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), init_opengl_extensions(), printLog(), and validateLog().
PFNGLGETPROGRAMIVPROC glGetProgramiv_p = 0 |
Definition at line 108 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog_p = 0 |
Definition at line 109 of file gl_init.cpp.
Referenced by init_opengl_extensions(), printLog(), and validateLog().
PFNGLGETSHADERIVPROC glGetShaderiv_p = 0 |
Definition at line 107 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation_p = 0 |
Definition at line 118 of file gl_init.cpp.
Referenced by GFXNamedShaderConstant(), and init_opengl_extensions().
PFNGLLINKPROGRAMPROC glLinkProgram_p = 0 |
Definition at line 116 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLLOCKARRAYSEXTPROC glLockArraysEXT_p = 0 |
Definition at line 101 of file gl_init.cpp.
Referenced by GFXVertexList::BeginDrawState(), and init_opengl_extensions().
PFNGLMAPBUFFERARBPROC glMapBufferARB_p = 0 |
Definition at line 92 of file gl_init.cpp.
Referenced by init_opengl_extensions(), GFXVertexList::Map(), and GFXVertexList::RefreshDisplayList().
PFNGLMULTIDRAWARRAYSEXTPROC glMultiDrawArrays_p = 0 |
Definition at line 104 of file gl_init.cpp.
Referenced by GFXVertexList::Draw(), and init_opengl_extensions().
PFNGLMULTIDRAWELEMENTSEXTPROC glMultiDrawElements_p = 0 |
Definition at line 105 of file gl_init.cpp.
Referenced by GFXVertexList::Draw(), and init_opengl_extensions().
PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB_p = 0 |
Definition at line 98 of file gl_init.cpp.
Referenced by GFXTexCoord224f(), GFXTexCoord4f(), and init_opengl_extensions().
PFNGLMULTITEXCOORD4FARBPROC glMultiTexCoord4fARB_p = 0 |
Definition at line 99 of file gl_init.cpp.
Referenced by GFXTexCoord224f(), and init_opengl_extensions().
PFNGLSHADERSOURCEPROC glShaderSource_p = 0 |
Definition at line 112 of file gl_init.cpp.
Referenced by GFXCreateProgramNoCache(), and init_opengl_extensions().
PFNGLUNIFORM1FPROC glUniform1f_p = 0 |
Definition at line 119 of file gl_init.cpp.
Referenced by GFXShaderConstant(), and init_opengl_extensions().
PFNGLUNIFORM1FVPROC glUniform1fv_p = 0 |
Definition at line 129 of file gl_init.cpp.
Referenced by GFXShaderConstantv(), and init_opengl_extensions().
PFNGLUNIFORM1IPROC glUniform1i_p = 0 |
Definition at line 124 of file gl_init.cpp.
Referenced by GFXShaderConstanti(), GFXShaderConstantv(), and init_opengl_extensions().
PFNGLUNIFORM1IVPROC glUniform1iv_p = 0 |
Definition at line 134 of file gl_init.cpp.
Referenced by GFXShaderConstantv(), and init_opengl_extensions().
PFNGLUNIFORM2FPROC glUniform2f_p = 0 |
Definition at line 120 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM2FVPROC glUniform2fv_p = 0 |
Definition at line 130 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM2IPROC glUniform2i_p = 0 |
Definition at line 125 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM2IVPROC glUniform2iv_p = 0 |
Definition at line 135 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM3FPROC glUniform3f_p = 0 |
Definition at line 121 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM3FVPROC glUniform3fv_p = 0 |
Definition at line 131 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM3IPROC glUniform3i_p = 0 |
Definition at line 126 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM3IVPROC glUniform3iv_p = 0 |
Definition at line 136 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM4FPROC glUniform4f_p = 0 |
Definition at line 122 of file gl_init.cpp.
Referenced by GFXShaderConstant(), and init_opengl_extensions().
PFNGLUNIFORM4FVPROC glUniform4fv_p = 0 |
Definition at line 132 of file gl_init.cpp.
Referenced by GFXShaderConstant4v(), and init_opengl_extensions().
PFNGLUNIFORM4IPROC glUniform4i_p = 0 |
Definition at line 127 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNIFORM4IVPROC glUniform4iv_p = 0 |
Definition at line 137 of file gl_init.cpp.
Referenced by init_opengl_extensions().
PFNGLUNLOCKARRAYSEXTPROC glUnlockArraysEXT_p = 0 |
Definition at line 102 of file gl_init.cpp.
Referenced by GFXVertexList::EndDrawState(), and init_opengl_extensions().
PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB_p = 0 |
Definition at line 93 of file gl_init.cpp.
Referenced by init_opengl_extensions(), and GFXVertexList::RefreshDisplayList().
PFNGLUSEPROGRAMPROC glUseProgram_p = 0 |
Definition at line 117 of file gl_init.cpp.
Referenced by GFXActivateShader(), and init_opengl_extensions().