mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-15 15:38:59 +00:00
more fixes to new renderer
This commit is contained in:
parent
0662de5323
commit
67c894cda9
3 changed files with 27 additions and 19 deletions
|
@ -876,7 +876,6 @@ MattRenderScene(void)
|
|||
// CMattRenderer::ResetRenderStates
|
||||
CRenderer::ClearForFrame();
|
||||
// CClock::CalcEnvMapTimeMultiplicator
|
||||
//if(gbRenderWater)
|
||||
CWaterLevel::RenderWater(); // actually CMattRenderer::RenderWater
|
||||
// CClock::ms_EnvMapTimeMultiplicator = 1.0f;
|
||||
// cWorldStream::ClearDynamics
|
||||
|
@ -919,11 +918,13 @@ RenderScene_new(void)
|
|||
}
|
||||
|
||||
// TODO
|
||||
bool FredIsInFirstPersonCam(void) { return false; }
|
||||
bool FredIsInFirstPersonCam(void) { return true; } // this seems to give the best result in all cases
|
||||
|
||||
void
|
||||
RenderEffects_new(void)
|
||||
{
|
||||
CRenderer::RenderPeds();
|
||||
|
||||
CShadows::RenderStaticShadows();
|
||||
// CRenderer::GenerateEnvironmentMap
|
||||
CShadows::RenderStoredShadows();
|
||||
|
@ -938,10 +939,10 @@ RenderEffects_new(void)
|
|||
if(gbRenderWorld2)
|
||||
CRenderer::RenderWorld(2); // transparent
|
||||
if(gbRenderVehicles)
|
||||
CRenderer::RenderVehiclesAndPeds();
|
||||
CRenderer::RenderVehicles();
|
||||
}else{
|
||||
if(gbRenderVehicles)
|
||||
CRenderer::RenderVehiclesAndPeds();
|
||||
CRenderer::RenderVehicles();
|
||||
if(gbRenderWorld2)
|
||||
CRenderer::RenderWorld(2); // transparent
|
||||
}
|
||||
|
|
|
@ -814,36 +814,42 @@ CRenderer::RenderWorld(int pass)
|
|||
}
|
||||
|
||||
void
|
||||
CRenderer::RenderVehiclesAndPeds(void)
|
||||
CRenderer::RenderPeds(void)
|
||||
{
|
||||
int i;
|
||||
CEntity *e;
|
||||
|
||||
for(i = 0; i < ms_nNoOfVisibleVehicles; i++){
|
||||
e = ms_aVisibleVehiclePtrs[i];
|
||||
if(e->IsPed())
|
||||
RenderOneNonRoad(e);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
CRenderer::RenderVehicles(void)
|
||||
{
|
||||
int i;
|
||||
CEntity *e;
|
||||
EntityInfo ei;
|
||||
CLink<EntityInfo> *node;
|
||||
|
||||
RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)TRUE);
|
||||
//CVisibilityPlugins::InitAlphaEntityList(); // not safe yet
|
||||
|
||||
// not the real thing
|
||||
for(i = 0; i < ms_nNoOfVisibleVehicles; i++){
|
||||
e = ms_aVisibleVehiclePtrs[i];
|
||||
if(e->IsVehicle() && PutIntoSortedVehicleList((CVehicle*)e))
|
||||
if(!e->IsVehicle())
|
||||
continue;
|
||||
if(PutIntoSortedVehicleList((CVehicle*)e))
|
||||
continue; // boats handled elsewhere
|
||||
if(e->IsPed())
|
||||
RenderOneNonRoad(e);
|
||||
else{
|
||||
ei.ent = e;
|
||||
ei.sort = (ms_vecCameraPosition - e->GetPosition()).MagnitudeSqr();
|
||||
gSortedVehiclesAndPeds.InsertSorted(ei);
|
||||
}
|
||||
ei.ent = e;
|
||||
ei.sort = (ms_vecCameraPosition - e->GetPosition()).MagnitudeSqr();
|
||||
gSortedVehiclesAndPeds.InsertSorted(ei);
|
||||
}
|
||||
|
||||
for(node = gSortedVehiclesAndPeds.tail.prev;
|
||||
node != &gSortedVehiclesAndPeds.head;
|
||||
node = node->prev)
|
||||
RenderOneNonRoad(node->item.ent);
|
||||
|
||||
// RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)FALSE);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -74,7 +74,8 @@ public:
|
|||
|
||||
#ifdef NEW_RENDERER
|
||||
static void ClearForFrame(void);
|
||||
static void RenderVehiclesAndPeds(void); // just called RenderVehicles in LCS
|
||||
static void RenderPeds(void);
|
||||
static void RenderVehicles(void); // also renders peds in LCS
|
||||
static void RenderOneBuilding(CEntity *ent, float camdist = 0.0f);
|
||||
static void RenderWorld(int pass); // like cWorldStream::Render(int)
|
||||
static void RenderTransparentWater(void); // keep-out polys and transparent water
|
||||
|
|
Loading…
Reference in a new issue