version 1.32 | | version 1.33 |
---|
| | |
const char *gl_vendor,*gl_renderer,*gl_version,*gl_extensions; | | const char *gl_vendor,*gl_renderer,*gl_version,*gl_extensions; |
void ogl_get_verinfo(void){ | | void ogl_get_verinfo(void){ |
int t, arb_max_textures=-1, sgi_max_textures=-1; | | int t, arb_max_textures=-1, sgi_max_textures=-1; |
| | float anisotropic_max=0; |
gl_vendor=glGetString(GL_VENDOR); | | gl_vendor=glGetString(GL_VENDOR); |
gl_renderer=glGetString(GL_RENDERER); | | gl_renderer=glGetString(GL_RENDERER); |
gl_version=glGetString(GL_VERSION); | | gl_version=glGetString(GL_VERSION); |
| | |
#endif | | #endif |
ogl_nv_texture_env_combine4_ok=(strstr(gl_extensions,"GL_NV_texture_env_combine4")!=0); | | ogl_nv_texture_env_combine4_ok=(strstr(gl_extensions,"GL_NV_texture_env_combine4")!=0); |
| | |
| | ogl_ext_texture_filter_anisotropic_ok=(strstr(gl_extensions,"GL_EXT_texture_filter_anisotropic")!=0); |
| | if (ogl_ext_texture_filter_anisotropic_ok) |
| | glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropic_max); |
| | |
//add driver specific hacks here. whee. | | //add driver specific hacks here. whee. |
if ((stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.0\n")==0 || stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.2\n")==0) && stricmp(gl_version,"1.2 Mesa 3.0")==0){ | | if ((stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.0\n")==0 || stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.2\n")==0) && stricmp(gl_version,"1.2 Mesa 3.0")==0){ |
ogl_intensity4_ok=0;//ignores alpha, always black background instead of transparent. | | ogl_intensity4_ok=0;//ignores alpha, always black background instead of transparent. |
| | |
} | | } |
| | |
printf("gl_arb_multitexture:%i(%i units) gl_sgis_multitexture:%i(%i units) gl_nv_texture_env_combine4:%i\n",ogl_arb_multitexture_ok,arb_max_textures,ogl_sgis_multitexture_ok,sgi_max_textures,ogl_nv_texture_env_combine4_ok); | | printf("gl_arb_multitexture:%i(%i units) gl_sgis_multitexture:%i(%i units) gl_nv_texture_env_combine4:%i\n",ogl_arb_multitexture_ok,arb_max_textures,ogl_sgis_multitexture_ok,sgi_max_textures,ogl_nv_texture_env_combine4_ok); |
printf("gl_intensity4:%i gl_luminance4_alpha4:%i gl_rgba2:%i gl_readpixels:%i gl_gettexlevelparam:%i gl_setgammaramp_ok:%i\n",ogl_intensity4_ok,ogl_luminance4_alpha4_ok,ogl_rgba2_ok,ogl_readpixels_ok,ogl_gettexlevelparam_ok,ogl_setgammaramp_ok); | | printf("gl_intensity4:%i gl_luminance4_alpha4:%i gl_rgba2:%i gl_readpixels:%i gl_gettexlevelparam:%i gl_setgammaramp_ok:%i gl_ext_texture_filter_anisotropic:%i(%f max)\n",ogl_intensity4_ok,ogl_luminance4_alpha4_ok,ogl_rgba2_ok,ogl_readpixels_ok,ogl_gettexlevelparam_ok,ogl_setgammaramp_ok, ogl_ext_texture_filter_anisotropic_ok, anisotropic_max); |
} | | } |
| | |
int gr_set_mode(u_int32_t mode) | | int gr_set_mode(u_int32_t mode) |
| | |
GL_texminfilt=ogl_atotexfilti(Args[t+1],1); | | GL_texminfilt=ogl_atotexfilti(Args[t+1],1); |
} | | } |
GL_needmipmaps=ogl_testneedmipmaps(GL_texminfilt); | | GL_needmipmaps=ogl_testneedmipmaps(GL_texminfilt); |
mprintf((0,"gr_init: texmagfilt:%x texminfilt:%x needmipmaps=%i\n",GL_texmagfilt,GL_texminfilt,GL_needmipmaps)); | | |
| | if ((t=FindArg("-gl_anisotropy")) || (t=FindArg("-gl_anisotropic"))){ |
| | GL_texanisofilt=atof(Args[t+1]); |
| | } |
| | |
| | mprintf((0,"gr_init: texmagfilt:%x texminfilt:%x needmipmaps=%i anisotropic:%f\n",GL_texmagfilt,GL_texminfilt,GL_needmipmaps,GL_texanisofilt)); |
| | |
| | |
if ((t=FindArg("-gl_vidmem"))){ | | if ((t=FindArg("-gl_vidmem"))){ |
ogl_mem_target=atoi(Args[t+1])*1024*1024; | | ogl_mem_target=atoi(Args[t+1])*1024*1024; |