Fog fixes

This commit is contained in:
Mind Rapist
2026-02-16 16:47:52 +02:00
parent 2c73eb7bb0
commit 3e604d5f10
9 changed files with 124 additions and 22 deletions

View File

@@ -89,13 +89,17 @@ void CMapOutdoor::__RenderTerrain_RenderHardwareTransformPatch()
SelectIndexBuffer(0, &wPrimitiveCount, &ePrimitiveType);
DWORD dwFogEnable = STATEMANAGER.GetRenderState(D3DRS_FOGENABLE);
// MR-14: Fog update by Alaric
// DWORD dwFogEnable = STATEMANAGER.GetRenderState(D3DRS_FOGENABLE);
// MR-14: -- END OF -- Fog update by Alaric
std::vector<std::pair<float, long> >::iterator it = m_PatchVector.begin();
// NOTE: 맵툴에서는 view ~ fog near 사이의 지형을 fog disabled 상태로 그리는 작업을 하지 않음.
STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE);
// MR-14: Fog update by Alaric
// STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE);
// MR-14: -- END OF -- Fog update by Alaric
for( ; it != near_it; ++it)
for(; it != near_it; ++it)
{
if (byCUrrentLODLevel == 0 && fLODLevel1Distance <= it->first)
{
@@ -109,6 +113,7 @@ void CMapOutdoor::__RenderTerrain_RenderHardwareTransformPatch()
}
__HardwareTransformPatch_RenderPatchSplat(it->second, wPrimitiveCount, ePrimitiveType);
if (m_iRenderedSplatNum >= m_iSplatLimit)
break;
@@ -116,7 +121,9 @@ void CMapOutdoor::__RenderTerrain_RenderHardwareTransformPatch()
DrawWireFrame(it->second, wPrimitiveCount, ePrimitiveType);
}
STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, dwFogEnable);
// MR-14: Fog update by Alaric
// STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, dwFogEnable);
// MR-14: -- END OF -- Fog update by Alaric
if (m_iRenderedSplatNum < m_iSplatLimit)
{
@@ -143,7 +150,9 @@ void CMapOutdoor::__RenderTerrain_RenderHardwareTransformPatch()
}
}
STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE);
// MR-14: Fog update by Alaric
// STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE);
// MR-14: -- END OF -- Fog update by Alaric
STATEMANAGER.SetRenderState(D3DRS_LIGHTING, FALSE);
STATEMANAGER.SetTexture(0, NULL);
@@ -195,7 +204,9 @@ void CMapOutdoor::__RenderTerrain_RenderHardwareTransformPatch()
STATEMANAGER.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
STATEMANAGER.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, dwFogEnable);
// MR-14: Fog update by Alaric
// STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, dwFogEnable);
// MR-14: -- END OF -- Fog update by Alaric
STATEMANAGER.SetRenderState(D3DRS_LIGHTING, TRUE);
std::sort(m_RenderedTextureNumVector.begin(),m_RenderedTextureNumVector.end());