Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions Core/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2313,11 +2313,11 @@ void BaseHeightMapRenderObjClass::renderShoreLines(CameraClass *pCamera)

ShaderClass unlitShader=ShaderClass::_PresetOpaque2DShader;
unlitShader.Set_Depth_Compare(ShaderClass::PASS_LEQUAL);
DX8Wrapper::Set_Shader(unlitShader);
Renderer::Set_Shader(unlitShader);
VertexMaterialClass *vmat=VertexMaterialClass::Get_Preset(VertexMaterialClass::PRELIT_DIFFUSE);
DX8Wrapper::Set_Material(vmat);
Renderer::Set_Material(vmat);
REF_PTR_RELEASE(vmat);
DX8Wrapper::Set_Texture(0,m_destAlphaTexture);
Renderer::Set_Texture(0,m_destAlphaTexture);
Renderer::Set_Transform(RenderTransform_World,Matrix3D(true));
//Enabled writes to destination alpha only
DX8Wrapper::Set_DX8_Render_State(D3DRS_COLORWRITEENABLE,D3DCOLORWRITEENABLE_ALPHA);
Expand Down Expand Up @@ -2434,9 +2434,9 @@ void BaseHeightMapRenderObjClass::renderShoreLines(CameraClass *pCamera)

if (indexCount > 0 && vertexCount > 0)
{
DX8Wrapper::Set_Index_Buffer(ib_access,0);
DX8Wrapper::Set_Vertex_Buffer(vb_access);
DX8Wrapper::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
Renderer::Set_Index_Buffer(ib_access,0);
Renderer::Set_Vertex_Buffer(vb_access);
Renderer::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
m_numVisibleShoreLineTiles += indexCount/6;
}

Expand Down Expand Up @@ -2499,11 +2499,11 @@ void BaseHeightMapRenderObjClass::renderShoreLinesSorted(CameraClass *pCamera)

ShaderClass unlitShader=ShaderClass::_PresetOpaque2DShader;
unlitShader.Set_Depth_Compare(ShaderClass::PASS_LEQUAL);
DX8Wrapper::Set_Shader(unlitShader);
Renderer::Set_Shader(unlitShader);
VertexMaterialClass *vmat=VertexMaterialClass::Get_Preset(VertexMaterialClass::PRELIT_DIFFUSE);
DX8Wrapper::Set_Material(vmat);
Renderer::Set_Material(vmat);
REF_PTR_RELEASE(vmat);
DX8Wrapper::Set_Texture(0,m_destAlphaTexture);
Renderer::Set_Texture(0,m_destAlphaTexture);
Renderer::Set_Transform(RenderTransform_World,Matrix3D(true));
//Enabled writes to destination alpha only
DX8Wrapper::Set_DX8_Render_State(D3DRS_COLORWRITEENABLE,D3DCOLORWRITEENABLE_ALPHA);
Expand Down Expand Up @@ -2777,9 +2777,9 @@ void BaseHeightMapRenderObjClass::renderShoreLinesSorted(CameraClass *pCamera)

if (indexCount > 0 && vertexCount > 0)
{
DX8Wrapper::Set_Index_Buffer(ib_access,0);
DX8Wrapper::Set_Vertex_Buffer(vb_access);
DX8Wrapper::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
Renderer::Set_Index_Buffer(ib_access,0);
Renderer::Set_Vertex_Buffer(vb_access);
Renderer::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
m_numVisibleShoreLineTiles += indexCount/6;
}

Expand Down Expand Up @@ -2809,7 +2809,7 @@ void BaseHeightMapRenderObjClass::renderTrees(CameraClass * camera)
if (Scene==nullptr) return;
if (m_treeBuffer) {
Renderer::Set_Transform(RenderTransform_World,Transform);
DX8Wrapper::Set_Material(m_vertexMaterialClass);
Renderer::Set_Material(m_vertexMaterialClass);
RTS3DScene *pMyScene = (RTS3DScene *)Scene;
RefRenderObjListIterator pDynamicLightsIterator(pMyScene->getDynamicLights());
m_treeBuffer->drawTrees(camera, &pDynamicLightsIterator);
Expand Down
38 changes: 19 additions & 19 deletions Core/GameEngineDevice/Source/W3DDevice/GameClient/FlatHeightMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -486,19 +486,19 @@ void FlatHeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
}
#endif

DX8Wrapper::Set_Light_Environment(rinfo.light_environment);
Renderer::Set_Light_Environment(rinfo.light_environment);

// Force shaders to update.
m_stageTwoTexture->restore();
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
ShaderClass::Invalidate();

Renderer::Set_Transform(RenderTransform_World,Transform);


DX8Wrapper::Set_Material(m_vertexMaterialClass);
DX8Wrapper::Set_Shader(m_shaderClass);
Renderer::Set_Material(m_vertexMaterialClass);
Renderer::Set_Shader(m_shaderClass);

st=W3DShaderManager::ST_FLAT_TERRAIN_BASE; //set default shader

Expand Down Expand Up @@ -550,8 +550,8 @@ void FlatHeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
for (pass=0; pass<devicePasses; pass++) {
Bool disableTex = m_disableTextures;
if (m_disableTextures ) {
DX8Wrapper::Set_Shader(ShaderClass::_PresetOpaque2DShader);
DX8Wrapper::Set_Texture(0,nullptr);
Renderer::Set_Shader(ShaderClass::_PresetOpaque2DShader);
Renderer::Set_Texture(0,nullptr);
} else {
W3DShaderManager::setShader(st, pass);
}
Expand Down Expand Up @@ -590,13 +590,13 @@ void FlatHeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
renderShoreLines(&rinfo.Camera);

#ifdef DO_ROADS
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();

ShaderClass::Invalidate();
if (!ShaderClass::Is_Backface_Culling_Inverted()) {
DX8Wrapper::Set_Material(m_vertexMaterialClass);
Renderer::Set_Material(m_vertexMaterialClass);
if (Scene) {
RTS3DScene *pMyScene = (RTS3DScene *)Scene;
RefRenderObjListIterator pDynamicLightsIterator(pMyScene->getDynamicLights());
Expand All @@ -606,36 +606,36 @@ void FlatHeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
}
#endif

DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();

drawScorches();

DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();
ShaderClass::Invalidate();
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();

m_bridgeBuffer->drawBridges(&rinfo.Camera, m_disableTextures, m_stageTwoTexture);

if (TheTerrainTracksRenderObjClassSystem)
TheTerrainTracksRenderObjClassSystem->flush();

ShaderClass::Invalidate();
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();

m_waypointBuffer->drawWaypoints(rinfo);

m_bibBuffer->renderBibs();
#endif
// We do some custom blending, so tell the shader class to reset everything.
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();
ShaderClass::Invalidate();
DX8Wrapper::Set_Material(nullptr);
Renderer::Set_Material(nullptr);

}

80 changes: 40 additions & 40 deletions Core/GameEngineDevice/Source/W3DDevice/GameClient/HeightMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1922,19 +1922,19 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
}
#endif

DX8Wrapper::Set_Light_Environment(rinfo.light_environment);
Renderer::Set_Light_Environment(rinfo.light_environment);

// Force shaders to update.
m_stageTwoTexture->restore();
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
ShaderClass::Invalidate();

Renderer::Set_Transform(RenderTransform_World,Transform);

//Apply the shader and material

DX8Wrapper::Set_Index_Buffer(m_indexBuffer,0);
Renderer::Set_Index_Buffer(m_indexBuffer,0);

Bool doMultiPassWireFrame=FALSE;

Expand All @@ -1960,11 +1960,11 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
{
//wireframe pass
//Set to vertex diffuse lighting
DX8Wrapper::Set_Material(m_vertexMaterialClass);
Renderer::Set_Material(m_vertexMaterialClass);
//Set shader to non-textured solid color from vertex
DX8Wrapper::Set_Shader(ShaderClass::_PresetOpaqueSolidShader);
Renderer::Set_Shader(ShaderClass::_PresetOpaqueSolidShader);
devicePasses=1; //one pass solid, next in wireframe.
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();
DX8Wrapper::Set_DX8_Texture_Stage_State( 0, D3DTSS_COLORARG2, D3DTA_TFACTOR );
DX8Wrapper::Set_DX8_Render_State(D3DRS_TEXTUREFACTOR,0xff808080);
doMultiPassWireFrame=TRUE;
Expand All @@ -1975,8 +1975,8 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
}
else
{
DX8Wrapper::Set_Material(m_vertexMaterialClass);
DX8Wrapper::Set_Shader(m_shaderClass);
Renderer::Set_Material(m_vertexMaterialClass);
Renderer::Set_Shader(m_shaderClass);

st=W3DShaderManager::ST_TERRAIN_BASE; //set default shader

Expand Down Expand Up @@ -2029,8 +2029,8 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
if (!doMultiPassWireFrame) //multi-pass wireframe doesn't use regular shaders.
{
if (m_disableTextures ) {
DX8Wrapper::Set_Shader(ShaderClass::_PresetOpaque2DShader);
DX8Wrapper::Set_Texture(0,nullptr);
Renderer::Set_Shader(ShaderClass::_PresetOpaque2DShader);
Renderer::Set_Texture(0,nullptr);
} else {
W3DShaderManager::setShader(st, pass);
}
Expand All @@ -2039,17 +2039,17 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
for (j=0; j<m_numVBTilesY; j++)
for (i=0; i<m_numVBTilesX; i++)
{
DX8Wrapper::Set_Vertex_Buffer(getVertexBufferTile(i, j));
Renderer::Set_Vertex_Buffer(getVertexBufferTile(i, j));
#ifdef PRE_TRANSFORM_VERTEX
if (m_xformedVertexBuffer && pass==0) {
// Note - m_xformedVertexBuffer should only be used for non T&L hardware. jba.
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();
int code = DX8Wrapper::_Get_D3D_Device8()->ProcessVertices(0, 0, numVertex, m_xformedVertexBuffer[j*m_numVBTilesX+i], 0);
::OutputDebugString("did process vertex\n");
}
if (m_xformedVertexBuffer) {
// Note - m_xformedVertexBuffer should only be used for non T&L hardware. jba.
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();
DX8Wrapper::_Get_D3D_Device8()->SetStreamSource(
0,
m_xformedVertexBuffer[j*m_numVBTilesX+i],
Expand All @@ -2058,7 +2058,7 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
}
#endif
if (Is_Hidden() == 0) {
DX8Wrapper::Draw_Triangles(0, HEIGHTMAP_POLYGON_NUM, 0, HEIGHTMAP_VERTEX_NUM);
Renderer::Draw_Triangles(0, HEIGHTMAP_POLYGON_NUM, 0, HEIGHTMAP_VERTEX_NUM);
}

}
Expand All @@ -2081,13 +2081,13 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
Int xCoordMin = m_map->getDrawOrgX();
Int xCoordMax = m_x+m_map->getDrawOrgX()-1;
#ifdef DO_ROADS
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();

ShaderClass::Invalidate();
if (!ShaderClass::Is_Backface_Culling_Inverted()) {
DX8Wrapper::Set_Material(m_vertexMaterialClass);
Renderer::Set_Material(m_vertexMaterialClass);
if (Scene) {
RTS3DScene *pMyScene = (RTS3DScene *)Scene;
RefRenderObjListIterator pDynamicLightsIterator(pMyScene->getDynamicLights());
Expand All @@ -2099,17 +2099,17 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
if (m_propBuffer) {
m_propBuffer->drawProps(rinfo);
}
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();

drawScorches();

DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();
ShaderClass::Invalidate();
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();

m_bridgeBuffer->drawBridges(&rinfo.Camera, m_disableTextures, doCloud?m_stageTwoTexture:nullptr);

Expand All @@ -2124,7 +2124,7 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
}

ShaderClass::Invalidate();
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();
}
else
m_bridgeBuffer->drawBridges(&rinfo.Camera, m_disableTextures, m_stageTwoTexture);
Expand All @@ -2135,11 +2135,11 @@ void HeightMapRenderObjClass::Render(RenderInfoClass & rinfo)
m_bibBuffer->renderBibs();

// We do some custom blending, so tell the shader class to reset everything.
DX8Wrapper::Set_Texture(0,nullptr);
DX8Wrapper::Set_Texture(1,nullptr);
Renderer::Set_Texture(0,nullptr);
Renderer::Set_Texture(1,nullptr);
m_stageTwoTexture->restore();
ShaderClass::Invalidate();
DX8Wrapper::Set_Material(nullptr);
Renderer::Set_Material(nullptr);

}

Expand All @@ -2152,22 +2152,22 @@ void HeightMapRenderObjClass::renderTerrainPass(CameraClass *pCamera)

//Apply the shader and material

DX8Wrapper::Set_Index_Buffer(m_indexBuffer,0);
Renderer::Set_Index_Buffer(m_indexBuffer,0);

for (Int j=0; j<m_numVBTilesY; j++)
for (Int i=0; i<m_numVBTilesX; i++)
{
DX8Wrapper::Set_Vertex_Buffer(getVertexBufferTile(i, j));
Renderer::Set_Vertex_Buffer(getVertexBufferTile(i, j));
#ifdef PRE_TRANSFORM_VERTEX
if (m_xformedVertexBuffer && pass==0) {
// Note - m_xformedVertexBuffer should only be used for non T&L hardware. jba.
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();
int code = DX8Wrapper::_Get_D3D_Device8()->ProcessVertices(0, 0, numVertex, m_xformedVertexBuffer[j*m_numVBTilesX+i], 0);
::OutputDebugString("did process vertex\n");
}
if (m_xformedVertexBuffer) {
// Note - m_xformedVertexBuffer should only be used for non T&L hardware. jba.
DX8Wrapper::Apply_Render_State_Changes();
Renderer::Apply_Render_State_Changes();
DX8Wrapper::_Get_D3D_Device8()->SetStreamSource(
0,
m_xformedVertexBuffer[j*m_numVBTilesX+i],
Expand All @@ -2176,7 +2176,7 @@ void HeightMapRenderObjClass::renderTerrainPass(CameraClass *pCamera)
}
#endif
if (Is_Hidden() == 0) {
DX8Wrapper::Draw_Triangles(0, HEIGHTMAP_POLYGON_NUM, 0, HEIGHTMAP_VERTEX_NUM);
Renderer::Draw_Triangles(0, HEIGHTMAP_POLYGON_NUM, 0, HEIGHTMAP_VERTEX_NUM);
}
}
}
Expand Down Expand Up @@ -2335,23 +2335,23 @@ void HeightMapRenderObjClass::renderExtraBlendTiles()
maxBlendTiles += 16; //enlarge by 16 to reduce trashing.

ShaderClass::Invalidate(); //invalidate to force shader to reset since we directly changed states
DX8Wrapper::Set_Index_Buffer(ib_access,0);
DX8Wrapper::Set_Vertex_Buffer(vb_access);
Renderer::Set_Index_Buffer(ib_access,0);
Renderer::Set_Vertex_Buffer(vb_access);
VertexMaterialClass *vmat=VertexMaterialClass::Get_Preset(VertexMaterialClass::PRELIT_DIFFUSE);
DX8Wrapper::Set_Material(vmat);
Renderer::Set_Material(vmat);
REF_PTR_RELEASE(vmat);
ShaderClass shader=ShaderClass::_PresetOpaqueShader;
shader.Set_Depth_Mask(ShaderClass::DEPTH_WRITE_DISABLE); //disable writes to z
DX8Wrapper::Set_Shader(shader);
Renderer::Set_Shader(shader);

if (TheGlobalData->m_use3WayTerrainBlends == 2)
{
shader.Set_Primary_Gradient(ShaderClass::GRADIENT_DISABLE); //disable lighting.
shader.Set_Texturing(ShaderClass::TEXTURING_DISABLE); //disable texturing.
DX8Wrapper::Set_Shader(shader);
DX8Wrapper::Set_Texture(0,nullptr); //debug mode which draws terrain tiles in white.
Renderer::Set_Shader(shader);
Renderer::Set_Texture(0,nullptr); //debug mode which draws terrain tiles in white.
if (Is_Hidden() == 0) {
DX8Wrapper::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
Renderer::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
m_numVisibleExtraBlendTiles += indexCount/6;
}
}
Expand Down Expand Up @@ -2386,7 +2386,7 @@ void HeightMapRenderObjClass::renderExtraBlendTiles()
{
W3DShaderManager::setShader(st, pass);
if (Is_Hidden() == 0) {
DX8Wrapper::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
Renderer::Draw_Triangles( 0,indexCount/3, 0, vertexCount); //draw a quad, 2 triangles, 4 verts
m_numVisibleExtraBlendTiles += indexCount/6;
}
}
Expand Down
Loading
Loading