fixed clipper bug

This commit is contained in:
h4570
2022-07-31 19:51:16 +02:00
parent b94ef8c416
commit 4f3b731ad7
3 changed files with 2 additions and 3 deletions
@@ -195,7 +195,7 @@ CoreBBoxFrustum CoreBBox::isInFrustum(const Plane* frustumPlanes,
for (u8 y = 0; y < 8 && (boxIn == 0 || boxOut == 0); y++) {
boxCalcTemp = model * _vertices[y];
auto isOut = frustumPlanes[i].distanceTo(boxCalcTemp) < margin;
auto isOut = frustumPlanes[i].distanceTo(boxCalcTemp) <= margin;
if (isOut)
boxOut++;
@@ -38,6 +38,7 @@ RenderBBox::RenderBBox(Vec4* t_vertices) : CoreBBox(t_vertices) {}
*/
CoreBBoxFrustum RenderBBox::clipIsInFrustum(const Plane* frustumPlanes,
const M4x4& model) const {
return isInFrustum(frustumPlanes, model);
auto result = isInFrustum(frustumPlanes, model);
if (result != PARTIALLY_IN_FRUSTUM) {
@@ -19,8 +19,6 @@ EEClipAlgorithm::~EEClipAlgorithm() { delete[] tempVertices; }
float EEClipAlgorithm::clipMargin = -10.0F;
void EEClipAlgorithm::init(const RendererSettings& settings) {
// halfWidth = settings.getWidth() / 2;
// halfHeight = settings.getHeight() / 2;
halfWidth = 0.5F;
halfHeight = 0.5F;
near = settings.getNear() - (-clipMargin);