diff --git a/Core/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt b/Core/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt index 64020339598..c2ae0ab774e 100644 --- a/Core/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt +++ b/Core/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt @@ -20,8 +20,6 @@ set(WW3D2_SRC bmp2d.h #boxrobj.cpp #boxrobj.h - bwrender.cpp - bwrender.h #camera.cpp #camera.h #classid.h # unused diff --git a/Core/Libraries/Source/WWVegas/WW3D2/bwrender.cpp b/Core/Libraries/Source/WWVegas/WW3D2/bwrender.cpp deleted file mode 100644 index 4b508def314..00000000000 --- a/Core/Libraries/Source/WWVegas/WW3D2/bwrender.cpp +++ /dev/null @@ -1,241 +0,0 @@ -/* -** Command & Conquer Generals Zero Hour(tm) -** Copyright 2025 Electronic Arts Inc. -** -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see . -*/ - -/*********************************************************************************************** - *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S *** - *********************************************************************************************** - * * - * Project Name : ww3d2 * - * * - * $Archive:: /Commando/Code/ww3d2/bwrender.cpp $* - * * - * Original Author:: Jani Penttinen * - * * - * $Author:: Greg_h $* - * * - * $Modtime:: 4/04/01 10:14a $* - * * - * $Revision:: 2 $* - * * - *---------------------------------------------------------------------------------------------* - * Functions: * - * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - - -#include "bwrender.h" -#include "WWMath/vp.h" - - -BWRenderClass::Buffer::Buffer(unsigned char* buffer_, int scale_) - : - buffer(buffer_), - scale(scale_), - minv(3), - maxv(scale_-3) -{ -} - -BWRenderClass::Buffer::~Buffer() -{ -} - -void BWRenderClass::Buffer::Set_H_Line(int start_x, int end_x, int y) -{ - if (y=maxv || end_x=maxv) return; - if (start_x=maxv) end_x=maxv-1; - unsigned char* ptr=buffer+scale*y+start_x; - int w=end_x-start_x; - if (w) { - ::memset(ptr,0x00,w); - -/* // Blurring (test) - *(ptr-1)&=0x80; - *(ptr-2)&=0xc0; - *(ptr+w)&=0x80; - *(ptr+w+1)&=0xc0; - for (int a=0;a(vertices), - half_scale, - half_scale, - count*2); -} - -// -------------------------------------------------------------------- - -static inline bool Cull( - const Vector2& c1, - const Vector2& c2, - const Vector2& c3) -{ - float x1=c2[0]-c1[0]; - float y1=c2[1]-c1[1]; - float x2=c3[0]-c1[0]; - float y2=c3[1]-c1[1]; - float r=x1*y2-x2*y1; - if (r<0) return false; - return true; -} - -void BWRenderClass::Render_Triangle_Strip(const unsigned long* indices,int index_count) -{ - index_count-=2; - bool b=false; - for (int n=0;nx_step_2) { - float t=x_step_1; - x_step_1=x_step_2; - x_step_2=t; - } - - while (ycnt>0) { - pixel_buffer.Set_H_Line(WWMath::Float_To_Long(x_left),WWMath::Float_To_Long(x_right),y); - - x_left+=x_step_1; - x_right+=x_step_2; - ycnt--; - y++; - } - } - else { - if (xcf[0]0) { - pixel_buffer.Set_H_Line(WWMath::Float_To_Long(x_left),WWMath::Float_To_Long(x_right),y); - x_left+=x_step_1; - x_right+=x_step_2; - ycnt--; - y++; - } - } - -} - diff --git a/Core/Libraries/Source/WWVegas/WW3D2/bwrender.h b/Core/Libraries/Source/WWVegas/WW3D2/bwrender.h deleted file mode 100644 index 806097cf657..00000000000 --- a/Core/Libraries/Source/WWVegas/WW3D2/bwrender.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -** Command & Conquer Generals Zero Hour(tm) -** Copyright 2025 Electronic Arts Inc. -** -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see . -*/ - -/*********************************************************************************************** - *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S *** - *********************************************************************************************** - * * - * Project Name : ww3d2 * - * * - * $Archive:: /Commando/Code/ww3d2/bwrender.h $* - * * - * Original Author:: Jani Penttinen * - * * - * $Author:: Greg_h $* - * * - * $Modtime:: 4/04/01 10:36a $* - * * - * $Revision:: 2 $* - * * - *---------------------------------------------------------------------------------------------* - * Functions: * - * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - -#pragma once - -#include "WWLib/always.h" -#include "WWMath/vector2.h" -#include "WWMath/vector3.h" -#include "WWMath/Vector3i.h" - -/** -** BWRenderClass -** This class implements a simple black-and-white triangle rasterizer which -** can be used to generate shadow textures. It is faster than a general purpose -** software renderer due to the fact that no z-buffering or sorting is needed and -** texturing isn't supported. -** (gth) 04/02/2001 - I'm going to add render-to-texture code to Renegade so this -** class may be obsolete. -*/ -class BWRenderClass -{ - // Internal pixel buffer used by the triangle renderer - // The buffer is not allocated or freed by this class. - class Buffer - { - unsigned char* buffer; - int scale; - int minv; - int maxv; - public: - Buffer(unsigned char* buffer, int scale); - ~Buffer(); - - void Set_H_Line(int start_x, int end_x, int y); - void Fill(unsigned char c); - int Scale() const { return scale; } - } pixel_buffer; - - Vector2* vertices; - - void Render_Preprocessed_Triangle(Vector3& xcf,Vector3i& yci); - -public: - BWRenderClass(unsigned char* buffer, int scale); - ~BWRenderClass(); - - void Fill(unsigned char c); - void Set_Vertex_Locations(Vector2* vertices,int count); // Warning! Contents are modified! - void Render_Triangles(const unsigned long* indices,int index_count); - void Render_Triangle_Strip(const unsigned long* indices,int index_count); -}; diff --git a/Core/Libraries/Source/WWVegas/WW3D2/texproject.cpp b/Core/Libraries/Source/WWVegas/WW3D2/texproject.cpp index 017fff3efa1..e8d2277196a 100644 --- a/Core/Libraries/Source/WWVegas/WW3D2/texproject.cpp +++ b/Core/Libraries/Source/WWVegas/WW3D2/texproject.cpp @@ -82,7 +82,6 @@ #include "rinfo.h" #include "camera.h" #include "matpass.h" -#include "bwrender.h" #include "assetmgr.h" #include "dx8wrapper.h" @@ -1168,17 +1167,6 @@ bool TexProjectClass::Compute_Texture return renderResult == WW3D_ERROR_OK; } -#if 0 - - /* - ** Render the object with the BW Renderer into our color surface - */ - BWRenderClass bwr((unsigned char*)shadow_surface->getDataPtr(),tex_size); - bwr.Fill(0xff); - context->BWRenderer = &bwr; - model->Special_Render(*context); - context->BWRenderer = nullptr; -#endif return true; } diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt b/Generals/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt index b76acf6ea41..9008f2f2360 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt @@ -19,8 +19,6 @@ set(WW3D2_SRC #bmp2d.h boxrobj.cpp boxrobj.h - #bwrender.cpp - #bwrender.h camera.cpp camera.h #classid.h diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp b/Generals/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp index 9b19d2fc9c6..875eef2b800 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp @@ -1059,14 +1059,6 @@ void MeshClass::Special_Render(SpecialRenderInfoClass & rinfo) } rinfo.VisRasterizer->Enable_Two_Sided_Rendering(false); } - - if (rinfo.RenderType == SpecialRenderInfoClass::RENDER_SHADOW) { - const HTreeClass * htree = nullptr; - if (Container!=nullptr) { - htree = Container->Get_HTree(); - } - Model->Shadow_Render(rinfo,Transform,htree); - } } void MeshClass::Replace_Texture(TextureClass* texture,TextureClass* new_texture) diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp index ef8d884fdfd..69e4b941313 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp @@ -2088,40 +2088,3 @@ void MeshGeometryClass::get_deformed_vertices(Vector3 *dst_vert, Vector3 *dst_no vi=cnt; } } - -// Destination pointers MUST point to arrays large enough to hold all vertices -void MeshGeometryClass::get_deformed_screenspace_vertices(Vector4 *dst_vert,const RenderInfoClass & rinfo,const Matrix3D & mesh_transform,const HTreeClass * htree) -{ - Matrix4x4 prj = rinfo.Camera.Get_Projection_Matrix() * rinfo.Camera.Get_View_Matrix() * mesh_transform; - - Vector3 * src_vert = Vertex->Get_Array(); - int vertex_count=Get_Vertex_Count(); - - if (Get_Flag(SKIN) && VertexBoneLink && htree) { - uint16 * bonelink = VertexBoneLink->Get_Array(); - for (int vi = 0; vi < vertex_count;) { - int idx=bonelink[vi]; - - Matrix4x4 tm = prj * htree->Get_Transform(idx); - - // Count equal matrices (the vertices should be pre-sorted by matrices they use) - int cnt = vi; - for (; cnt < vertex_count; cnt++) if (idx!=bonelink[cnt]) break; - - // Transform to screenspace (x,y,z,w) - VectorProcessorClass::Transform( - dst_vert+vi, - src_vert+vi, - tm, - cnt-vi); - - vi=cnt; - } - } else { - VectorProcessorClass::Transform( - dst_vert, - src_vert, - prj, - vertex_count); - } -} diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h index 257e22fd8e5..15e339545dd 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h @@ -221,7 +221,6 @@ class MeshGeometryClass : public RefCountClass, public MultiListObjectClass // Destination pointers MUST point to arrays large enough to hold all vertices void get_deformed_vertices(Vector3 *dst_vert, Vector3 *dst_norm, const HTreeClass * htree); void get_deformed_vertices(Vector3 *dst_vert, const HTreeClass * htree); - void get_deformed_screenspace_vertices(Vector4 *dst_vert,const RenderInfoClass & rinfo,const Matrix3D & mesh_tm,const HTreeClass * htree); // General info ShareBufferClass * MeshName; diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp index da6eb68d016..9778d8eddca 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp @@ -44,7 +44,6 @@ #include "WWMath/vp.h" #include "visrasterizer.h" #include "dx8polygonrenderer.h" -#include "bwrender.h" #include "camera.h" #include "dx8renderer.h" #include "WWLib/hashtemplate.h" @@ -58,7 +57,6 @@ */ static DynamicVectorClass _TempVertexBuffer; static DynamicVectorClass _TempNormalBuffer; -static DynamicVectorClass _TempTransformedVertexBuffer; static DynamicVectorClass _TempClipFlagBuffer; @@ -259,23 +257,6 @@ DX8FVFCategoryContainer* MeshModelClass::Peek_FVF_Category_Container() return fvf_category; } -void MeshModelClass::Shadow_Render(SpecialRenderInfoClass & rinfo,const Matrix3D & tm,const HTreeClass * htree) -{ - if (rinfo.BWRenderer != nullptr) { - if (_TempTransformedVertexBuffer.Length() < VertexCount) _TempTransformedVertexBuffer.Resize(VertexCount); - Vector4* transf_ptr=&(_TempTransformedVertexBuffer[0]); - get_deformed_screenspace_vertices(transf_ptr,rinfo,tm,htree); - - Vector2* tptr = reinterpret_cast(transf_ptr); - Vector4* optr = transf_ptr; - for (int a=0;aSet_Vertex_Locations(reinterpret_cast(transf_ptr),VertexCount); - rinfo.BWRenderer->Render_Triangles(reinterpret_cast(Poly->Get_Array()),PolyCount*3); - return; - } -} - void MeshModelClass::Make_Geometry_Unique() { WWASSERT(Vertex); diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h index 895c846b113..86160676b28 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h @@ -158,7 +158,6 @@ class MeshModelClass : public MeshGeometryClass MeshModelClass & operator = (const MeshModelClass & that); void Reset(int polycount,int vertcount,int passcount); void Register_For_Rendering(); - void Shadow_Render(SpecialRenderInfoClass & rinfo,const Matrix3D & tm,const HTreeClass * htree); ///////////////////////////////////////////////////////////////////////////////////// // Material interface, All of these functions call through to the current diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp b/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp index 09b57edd8d0..719e2d8c40e 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp @@ -128,8 +128,7 @@ RenderInfoClass::RINFO_OVERRIDE_FLAGS & RenderInfoClass::Current_Override_Flags( SpecialRenderInfoClass::SpecialRenderInfoClass(CameraClass & cam,int render_type) : RenderInfoClass(cam), RenderType(render_type), - VisRasterizer(nullptr), - BWRenderer(nullptr) + VisRasterizer(nullptr) { } diff --git a/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h b/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h index 40b4be0f2b0..9227c7a7712 100644 --- a/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h +++ b/Generals/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h @@ -52,7 +52,6 @@ class MaterialPassClass; class LightEnvironmentClass; class VisRasterizerClass; -class BWRenderClass; class TexProjectClass; const unsigned MAX_ADDITIONAL_MATERIAL_PASSES=32; @@ -145,10 +144,6 @@ class SpecialRenderInfoClass : public RenderInfoClass // RENDER_VIS variables and methods: VisRasterizerClass * VisRasterizer; - // RENDER_SHADOW variables and methods: - // NOTE: this is somewhat obsolete now that we have hardware render-to-texture. - BWRenderClass * BWRenderer; // Black & white non-textured renderer - private: // Not implemented... diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt index d80ec07910e..cd5bd0a2902 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt @@ -19,8 +19,6 @@ set(WW3D2_SRC #bmp2d.h boxrobj.cpp boxrobj.h - #bwrender.cpp - #bwrender.h camera.cpp camera.h #classid.h diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp index eb60894d322..eec4a52d3f8 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/mesh.cpp @@ -1059,14 +1059,6 @@ void MeshClass::Special_Render(SpecialRenderInfoClass & rinfo) } rinfo.VisRasterizer->Enable_Two_Sided_Rendering(false); } - - if (rinfo.RenderType == SpecialRenderInfoClass::RENDER_SHADOW) { - const HTreeClass * htree = nullptr; - if (Container!=nullptr) { - htree = Container->Get_HTree(); - } - Model->Shadow_Render(rinfo,Transform,htree); - } } void MeshClass::Replace_Texture(TextureClass* texture,TextureClass* new_texture) diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp index 4ba0b1f04c1..eabe693fe9c 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.cpp @@ -2088,40 +2088,3 @@ void MeshGeometryClass::get_deformed_vertices(Vector3 *dst_vert, Vector3 *dst_no vi=cnt; } } - -// Destination pointers MUST point to arrays large enough to hold all vertices -void MeshGeometryClass::get_deformed_screenspace_vertices(Vector4 *dst_vert,const RenderInfoClass & rinfo,const Matrix3D & mesh_transform,const HTreeClass * htree) -{ - Matrix4x4 prj = rinfo.Camera.Get_Projection_Matrix() * rinfo.Camera.Get_View_Matrix() * mesh_transform; - - Vector3 * src_vert = Vertex->Get_Array(); - int vertex_count=Get_Vertex_Count(); - - if (Get_Flag(SKIN) && VertexBoneLink && htree) { - uint16 * bonelink = VertexBoneLink->Get_Array(); - for (int vi = 0; vi < vertex_count;) { - int idx=bonelink[vi]; - - Matrix4x4 tm = prj * htree->Get_Transform(idx); - - // Count equal matrices (the vertices should be pre-sorted by matrices they use) - int cnt = vi; - for (; cnt < vertex_count; cnt++) if (idx!=bonelink[cnt]) break; - - // Transform to screenspace (x,y,z,w) - VectorProcessorClass::Transform( - dst_vert+vi, - src_vert+vi, - tm, - cnt-vi); - - vi=cnt; - } - } else { - VectorProcessorClass::Transform( - dst_vert, - src_vert, - prj, - vertex_count); - } -} diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h index 84161f703f5..0a9d9d15a0f 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshgeometry.h @@ -221,7 +221,6 @@ class MeshGeometryClass : public RefCountClass, public MultiListObjectClass // Destination pointers MUST point to arrays large enough to hold all vertices void get_deformed_vertices(Vector3 *dst_vert, Vector3 *dst_norm, const HTreeClass * htree); void get_deformed_vertices(Vector3 *dst_vert, const HTreeClass * htree); - void get_deformed_screenspace_vertices(Vector4 *dst_vert,const RenderInfoClass & rinfo,const Matrix3D & mesh_tm,const HTreeClass * htree); // General info ShareBufferClass * MeshName; diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp index 82dbe8a9298..90819ceb3a3 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.cpp @@ -44,7 +44,6 @@ #include "WWMath/vp.h" #include "visrasterizer.h" #include "dx8polygonrenderer.h" -#include "bwrender.h" #include "camera.h" #include "dx8renderer.h" #include "WWLib/hashtemplate.h" @@ -58,7 +57,6 @@ */ static DynamicVectorClass _TempVertexBuffer; static DynamicVectorClass _TempNormalBuffer; -static DynamicVectorClass _TempTransformedVertexBuffer; static DynamicVectorClass _TempClipFlagBuffer; @@ -259,23 +257,6 @@ DX8FVFCategoryContainer* MeshModelClass::Peek_FVF_Category_Container() return fvf_category; } -void MeshModelClass::Shadow_Render(SpecialRenderInfoClass & rinfo,const Matrix3D & tm,const HTreeClass * htree) -{ - if (rinfo.BWRenderer != nullptr) { - if (_TempTransformedVertexBuffer.Length() < VertexCount) _TempTransformedVertexBuffer.Resize(VertexCount); - Vector4* transf_ptr=&(_TempTransformedVertexBuffer[0]); - get_deformed_screenspace_vertices(transf_ptr,rinfo,tm,htree); - - Vector2* tptr = reinterpret_cast(transf_ptr); - Vector4* optr = transf_ptr; - for (int a=0;aSet_Vertex_Locations(reinterpret_cast(transf_ptr),VertexCount); - rinfo.BWRenderer->Render_Triangles(reinterpret_cast(Poly->Get_Array()),PolyCount*3); - return; - } -} - void MeshModelClass::Make_Geometry_Unique() { WWASSERT(Vertex); diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h index 293ac575a37..d1e8e38c1e8 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdl.h @@ -158,7 +158,6 @@ class MeshModelClass : public MeshGeometryClass MeshModelClass & operator = (const MeshModelClass & that); void Reset(int polycount,int vertcount,int passcount); void Register_For_Rendering(); - void Shadow_Render(SpecialRenderInfoClass & rinfo,const Matrix3D & tm,const HTreeClass * htree); ///////////////////////////////////////////////////////////////////////////////////// // Material interface, All of these functions call through to the current diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp index 21e710c59d9..f42db3abe7e 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.cpp @@ -139,8 +139,7 @@ RenderInfoClass::RINFO_OVERRIDE_FLAGS & RenderInfoClass::Current_Override_Flags( SpecialRenderInfoClass::SpecialRenderInfoClass(CameraClass & cam,int render_type) : RenderInfoClass(cam), RenderType(render_type), - VisRasterizer(nullptr), - BWRenderer(nullptr) + VisRasterizer(nullptr) { } diff --git a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h index d1f93dda8fc..04162b3ec4c 100644 --- a/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h +++ b/GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/rinfo.h @@ -52,7 +52,6 @@ class MaterialPassClass; class LightEnvironmentClass; class VisRasterizerClass; -class BWRenderClass; class TexProjectClass; const unsigned MAX_ADDITIONAL_MATERIAL_PASSES=32; @@ -145,10 +144,6 @@ class SpecialRenderInfoClass : public RenderInfoClass // RENDER_VIS variables and methods: VisRasterizerClass * VisRasterizer; - // RENDER_SHADOW variables and methods: - // NOTE: this is somewhat obsolete now that we have hardware render-to-texture. - BWRenderClass * BWRenderer; // Black & white non-textured renderer - private: // Not implemented...