mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-14 08:30:49 +00:00
- Draw sloped 3d floors
This commit is contained in:
parent
54abe5f5d4
commit
c144eefdad
1 changed files with 2 additions and 4 deletions
|
@ -49,7 +49,6 @@ void RenderPolyPlane::Render3DPlanes(const TriMatrix &worldToClip, const PolyCli
|
||||||
F3DFloor *fakeFloor = ffloors[i];
|
F3DFloor *fakeFloor = ffloors[i];
|
||||||
if (!(fakeFloor->flags & FF_EXISTS)) continue;
|
if (!(fakeFloor->flags & FF_EXISTS)) continue;
|
||||||
if (!fakeFloor->model) continue;
|
if (!fakeFloor->model) continue;
|
||||||
if (fakeFloor->bottom.plane->isSlope()) continue;
|
|
||||||
//if (!(fakeFloor->flags & FF_NOSHADE) || (fakeFloor->flags & (FF_RENDERPLANES | FF_RENDERSIDES)))
|
//if (!(fakeFloor->flags & FF_NOSHADE) || (fakeFloor->flags & (FF_RENDERPLANES | FF_RENDERSIDES)))
|
||||||
// R_3D_AddHeight(fakeFloor->top.plane, frontsector);
|
// R_3D_AddHeight(fakeFloor->top.plane, frontsector);
|
||||||
if (!(fakeFloor->flags & FF_RENDERPLANES)) continue;
|
if (!(fakeFloor->flags & FF_RENDERPLANES)) continue;
|
||||||
|
@ -58,7 +57,7 @@ void RenderPolyPlane::Render3DPlanes(const TriMatrix &worldToClip, const PolyCli
|
||||||
//fakeFloor->alpha
|
//fakeFloor->alpha
|
||||||
|
|
||||||
double fakeHeight = fakeFloor->top.plane->ZatPoint(frontsector->centerspot);
|
double fakeHeight = fakeFloor->top.plane->ZatPoint(frontsector->centerspot);
|
||||||
if (fakeHeight < viewpoint.Pos.Z && fakeHeight > frontsector->floorplane.ZatPoint(frontsector->centerspot))
|
if (fakeFloor->bottom.plane->isSlope() || (fakeHeight < viewpoint.Pos.Z && fakeHeight > frontsector->floorplane.ZatPoint(frontsector->centerspot)))
|
||||||
{
|
{
|
||||||
RenderPolyPlane plane;
|
RenderPolyPlane plane;
|
||||||
plane.Render3DFloor(worldToClip, clipPlane, sub, stencilValue, false, fakeFloor);
|
plane.Render3DFloor(worldToClip, clipPlane, sub, stencilValue, false, fakeFloor);
|
||||||
|
@ -71,7 +70,6 @@ void RenderPolyPlane::Render3DPlanes(const TriMatrix &worldToClip, const PolyCli
|
||||||
F3DFloor *fakeFloor = ffloors[i];
|
F3DFloor *fakeFloor = ffloors[i];
|
||||||
if (!(fakeFloor->flags & FF_EXISTS)) continue;
|
if (!(fakeFloor->flags & FF_EXISTS)) continue;
|
||||||
if (!fakeFloor->model) continue;
|
if (!fakeFloor->model) continue;
|
||||||
if (fakeFloor->top.plane->isSlope()) continue;
|
|
||||||
//if (!(fakeFloor->flags & FF_NOSHADE) || (fakeFloor->flags & (FF_RENDERPLANES | FF_RENDERSIDES)))
|
//if (!(fakeFloor->flags & FF_NOSHADE) || (fakeFloor->flags & (FF_RENDERPLANES | FF_RENDERSIDES)))
|
||||||
// R_3D_AddHeight(fakeFloor->bottom.plane, frontsector);
|
// R_3D_AddHeight(fakeFloor->bottom.plane, frontsector);
|
||||||
if (!(fakeFloor->flags & FF_RENDERPLANES)) continue;
|
if (!(fakeFloor->flags & FF_RENDERPLANES)) continue;
|
||||||
|
@ -80,7 +78,7 @@ void RenderPolyPlane::Render3DPlanes(const TriMatrix &worldToClip, const PolyCli
|
||||||
//fakeFloor->alpha
|
//fakeFloor->alpha
|
||||||
|
|
||||||
double fakeHeight = fakeFloor->bottom.plane->ZatPoint(frontsector->centerspot);
|
double fakeHeight = fakeFloor->bottom.plane->ZatPoint(frontsector->centerspot);
|
||||||
if (fakeHeight > viewpoint.Pos.Z && fakeHeight < frontsector->ceilingplane.ZatPoint(frontsector->centerspot))
|
if (fakeFloor->bottom.plane->isSlope() || (fakeHeight > viewpoint.Pos.Z && fakeHeight < frontsector->ceilingplane.ZatPoint(frontsector->centerspot)))
|
||||||
{
|
{
|
||||||
RenderPolyPlane plane;
|
RenderPolyPlane plane;
|
||||||
plane.Render3DFloor(worldToClip, clipPlane, sub, stencilValue, true, fakeFloor);
|
plane.Render3DFloor(worldToClip, clipPlane, sub, stencilValue, true, fakeFloor);
|
||||||
|
|
Loading…
Reference in a new issue