Updated to properly support LOD bias settings in config. Fixes mipmap blurryness.
This was SVN commit r1254.
This commit is contained in:
parent
e31edf4fb4
commit
50dee130ae
@ -49,6 +49,9 @@ void CMiniMap::Draw()
|
||||
|
||||
g_Renderer.BindTexture(0, m_Handle);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
|
||||
float texCoordMax = ((float)m_MapSize - 1) / ((float)m_TextureSize);
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
|
@ -103,6 +103,7 @@ static bool g_NoPBuffer=true;
|
||||
// flag to switch on fixed frame timing (RC: I'm using this for profiling purposes)
|
||||
static bool g_FixedFrameTiming=false;
|
||||
static bool g_VSync = false;
|
||||
static float g_LodBias = 0.0f;
|
||||
|
||||
CLightEnv g_LightEnv;
|
||||
|
||||
@ -625,6 +626,9 @@ static void ParseArgs(int argc, char* argv[])
|
||||
val->GetBool(g_NoGLVBO);
|
||||
if ((val=g_ConfigDB.GetValue(CFG_SYSTEM, "shadows")))
|
||||
val->GetBool(g_Shadows);
|
||||
|
||||
if((val = g_ConfigDB.GetValue(CFG_SYSTEM, "lodbias")))
|
||||
val->GetFloat(g_LodBias);
|
||||
|
||||
LOG(NORMAL, LOG_CATEGORY, "g_x/yres is %dx%d", g_xres, g_yres);
|
||||
}
|
||||
@ -912,9 +916,6 @@ sle(11340106);
|
||||
if(oglExtAvail("WGL_EXT_swap_control"))
|
||||
wglSwapIntervalEXT(g_VSync? 1 : 0);
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
u64 CURTSC=rdtsc();
|
||||
debug_out(
|
||||
@ -934,6 +935,7 @@ PREVTSC=CURTSC;
|
||||
g_Renderer.SetOptionBool(CRenderer::OPT_NOVBO,g_NoGLVBO);
|
||||
g_Renderer.SetOptionBool(CRenderer::OPT_SHADOWS,g_Shadows);
|
||||
g_Renderer.SetOptionBool(CRenderer::OPT_NOPBUFFER,g_NoPBuffer);
|
||||
g_Renderer.SetOptionFloat(CRenderer::OPT_LODBIAS, g_LodBias);
|
||||
|
||||
// create terrain related stuff
|
||||
new CTextureManager;
|
||||
|
@ -234,6 +234,16 @@ void CRenderer::SetOptionColor(enum Option opt,const RGBAColor& value)
|
||||
}
|
||||
}
|
||||
|
||||
void CRenderer::SetOptionFloat(enum Option opt, float val)
|
||||
{
|
||||
switch(opt)
|
||||
{
|
||||
case OPT_LODBIAS:
|
||||
m_Options.m_LodBias = val;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// GetOptionColor: get color renderer option
|
||||
const RGBAColor& CRenderer::GetOptionColor(enum Option opt) const
|
||||
@ -652,6 +662,9 @@ void CRenderer::RenderShadowMap()
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA_ARB, GL_REPLACE);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_PRIMARY_COLOR_ARB);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_ARB, GL_SRC_ALPHA);
|
||||
|
||||
// Set the proper LOD bias
|
||||
glTexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, m_Options.m_LodBias);
|
||||
|
||||
glColor4fv(m_Options.m_ShadowColor);
|
||||
|
||||
@ -793,6 +806,9 @@ void CRenderer::RenderModelSubmissions()
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_ARB, GL_CONSTANT);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_ARB, GL_SRC_ALPHA);
|
||||
|
||||
// Set the proper LOD bias
|
||||
glTexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, m_Options.m_LodBias);
|
||||
|
||||
// setup client states
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glEnableClientState(GL_COLOR_ARRAY);
|
||||
|
@ -82,7 +82,8 @@ public:
|
||||
OPT_NOVBO,
|
||||
OPT_NOPBUFFER,
|
||||
OPT_SHADOWS,
|
||||
OPT_SHADOWCOLOR
|
||||
OPT_SHADOWCOLOR,
|
||||
OPT_LODBIAS
|
||||
};
|
||||
|
||||
// stats class - per frame counts of number of draw calls, poly counts etc
|
||||
@ -128,6 +129,7 @@ public:
|
||||
bool GetOptionBool(enum Option opt) const;
|
||||
// set/get RGBA color renderer option
|
||||
void SetOptionColor(enum Option opt,const RGBAColor& value);
|
||||
void SetOptionFloat(enum Option opt, float val);
|
||||
const RGBAColor& GetOptionColor(enum Option opt) const;
|
||||
|
||||
// return view width
|
||||
@ -294,6 +296,7 @@ protected:
|
||||
bool m_NoVBO;
|
||||
bool m_Shadows;
|
||||
RGBAColor m_ShadowColor;
|
||||
float m_LodBias;
|
||||
} m_Options;
|
||||
// build card cap bits
|
||||
void EnumCaps();
|
||||
|
@ -82,6 +82,9 @@ void CTransparencyRenderer::Render()
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB, GL_PRIMARY_COLOR);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR);
|
||||
|
||||
// Set the proper LOD bias
|
||||
glTexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, g_Renderer.m_Options.m_LodBias);
|
||||
|
||||
RenderObjectsStreams(STREAM_POS|STREAM_COLOR|STREAM_UV0);
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
@ -173,6 +176,9 @@ void CTransparencyRenderer::RenderShadows()
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_ARB, GL_TEXTURE);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_ARB, GL_SRC_ALPHA);
|
||||
|
||||
// Set the proper LOD bias
|
||||
glTexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, g_Renderer.m_Options.m_LodBias);
|
||||
|
||||
RenderObjectsStreams(STREAM_POS|STREAM_UV0,MODELFLAG_CASTSHADOWS);
|
||||
|
||||
glDepthMask(1);
|
||||
|
Loading…
Reference in New Issue
Block a user