Commit 81ccd536 authored by Emeric Verschuur's avatar Emeric Verschuur
Browse files

Corrections de bugs

parent 8e8cd55e
Loading
Loading
Loading
Loading
+186 −189
Original line number Diff line number Diff line
@@ -151,28 +151,25 @@ bool LrGeometryTriangle::getIntersection(const LrRay &ray, LrHit *hit, int fragm
}

void LrGeometryTriangle::getMinMax(LrPoint &min, LrPoint &max, int fragment) const {

    Real minX,minY,minZ,maxX,maxY,maxZ;

    // Calcul de min
    if (m_P1.x < m_P2.x) {minX = m_P1.x;} else {minX = m_P2.x;}
    if (m_P3.x < minX) {minX = m_P3.x;}
    if (m_P1.x < m_P2.x) {min.x = m_P1.x;} else {min.x = m_P2.x;}
    if (m_P3.x < min.x) {min.x = m_P3.x;}

    if (m_P1.y < m_P2.y) {minY = m_P1.y;} else {minY = m_P2.y;}
    if (m_P3.y < minY) {minY = m_P3.y;}
    if (m_P1.y < m_P2.y) {min.y = m_P1.y;} else {min.y = m_P2.y;}
    if (m_P3.y < min.y) {min.y = m_P3.y;}

    if (m_P1.z < m_P2.z) {minZ = m_P1.z;} else {minZ = m_P2.z;}
    if (m_P3.z < minZ) {minZ = m_P3.z;}
    if (m_P1.z < m_P2.z) {min.z = m_P1.z;} else {min.z = m_P2.z;}
    if (m_P3.z < min.z) {min.z = m_P3.z;}

    // Calcul de max
    if (m_P1.x > m_P2.x) {maxX = m_P1.x;} else {maxX = m_P2.x;}
    if (m_P3.x > maxX) {maxX = m_P3.x;}
    if (m_P1.x > m_P2.x) {max.x = m_P1.x;} else {max.x = m_P2.x;}
    if (m_P3.x > max.x) {max.x = m_P3.x;}

    if (m_P1.y > m_P2.y) {maxY = m_P1.y;} else {maxY = m_P2.y;}
    if (m_P3.y > maxY) {maxY = m_P3.y;}
    if (m_P1.y > m_P2.y) {max.y = m_P1.y;} else {max.y = m_P2.y;}
    if (m_P3.y > max.y) {max.y = m_P3.y;}

    if (m_P1.z > m_P2.z) {maxZ = m_P1.z;} else {maxZ = m_P2.z;}
    if (m_P3.z > maxZ) {maxZ = m_P3.z;}
    if (m_P1.z > m_P2.z) {max.z = m_P1.z;} else {max.z = m_P2.z;}
    if (m_P3.z > max.z) {max.z = m_P3.z;}

}

+1 −1
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ void LrSceneRayTracing::generateImagePart(int lOffset, int lNb)

            for (int i = 0; i < nbRayPerPixel; i++)
            {
                   float u, v;
                   Real u, v;
                   LrRay ray;
                   LrColor color;
                   // tirer u et v dans le pixel (l, c)