static void WINE_GLAPI wine_glFogfv(GLenum pname, const GLfloat *param) { if(pname == GL_FOG_COORDINATE_SOURCE_EXT) { WineD3DContext *ctx = getActiveContext(); ctx->gl_fog_source = (GLint) *param; if(*param == GL_FRAGMENT_DEPTH_EXT) { if(ctx->fog_enabled) old_fogcoord_glEnable(GL_FOG); } else { WARN("Fog coords activated, but not supported. Using slow emulation\n"); old_fogcoord_glDisable(GL_FOG); } } else { if(pname == GL_FOG_COLOR) { WineD3DContext *ctx = getActiveContext(); ctx->fogcolor[0] = param[0]; ctx->fogcolor[1] = param[1]; ctx->fogcolor[2] = param[2]; ctx->fogcolor[3] = param[3]; } else if(pname == GL_FOG_START) { getActiveContext()->fogstart = *param; } else if(pname == GL_FOG_END) { getActiveContext()->fogend = *param; } old_fogcoord_glFogfv(pname, param); } }
static void WINE_GLAPI wine_glDisable(GLenum cap) { if(cap == GL_FOG) { WineD3DContext *ctx = getActiveContext(); ctx->fog_enabled = 0; if(ctx->gl_fog_source != GL_FRAGMENT_DEPTH_EXT) return; } old_fogcoord_glDisable(cap); }
static void WINE_GLAPI wine_glDisable(GLenum cap) { if(cap == GL_FOG) { struct wined3d_context *ctx = context_get_current(); ctx->fog_enabled = 0; if(ctx->gl_fog_source != GL_FRAGMENT_DEPTH_EXT) return; } old_fogcoord_glDisable(cap); }
static void WINE_GLAPI wine_glFogi(GLenum pname, GLint param) { if(pname == GL_FOG_COORDINATE_SOURCE_EXT) { WineD3DContext *ctx = getActiveContext(); ctx->gl_fog_source = param; if(param == GL_FRAGMENT_DEPTH_EXT) { if(ctx->fog_enabled) old_fogcoord_glEnable(GL_FOG); } else { WARN("Fog coords activated, but not supported. Using slow emulation\n"); old_fogcoord_glDisable(GL_FOG); } } else { if(pname == GL_FOG_START) { getActiveContext()->fogstart = param; } else if(pname == GL_FOG_END) { getActiveContext()->fogend = param; } old_fogcoord_glFogi(pname, param); } }
static void WINE_GLAPI wine_glFogf(GLenum pname, GLfloat param) { struct wined3d_context *ctx = context_get_current(); if(pname == GL_FOG_COORDINATE_SOURCE_EXT) { ctx->gl_fog_source = (GLint) param; if(param == GL_FRAGMENT_DEPTH_EXT) { if(ctx->fog_enabled) old_fogcoord_glEnable(GL_FOG); } else { WARN("Fog coords activated, but not supported. Using slow emulation\n"); old_fogcoord_glDisable(GL_FOG); } } else { if(pname == GL_FOG_START) { ctx->fogstart = param; } else if(pname == GL_FOG_END) { ctx->fogend = param; } old_fogcoord_glFogf(pname, param); } }