INNER CODE UNIT · C++

z2

vectozavr/3dzavr · engine/Engine.cpp:68

        double z2 = projT2[0].z() + projT2[1].z() + projT2[2].z();
        return z1 > z2;
    });
    Time::stopTimer("d sort triangles");

    Time::startTimer("d rasterization");
    auto cameraPosition = camera->transformMatrix()->fullPosition();
    // Draw opaque (non-transparent) triangles
    for (const auto& [projectedTriangle, triangle, material]: _projectedOpaqueTriangles) {
        screen->drawTriangleWithLighting(projectedTriangle, triangle, _lightSources, cameraPosition, material);
    }
    // Draw transparent triangles
    for (const auto& [projectedTriangle, triangle, material]: _projectedTranspTriangles) {
        screen->drawTriangleWithLighting(projectedTriangle, triangle, _lightSources, cameraPosition, material);
    }
    // Draw lines
    for (const auto& [line, color]: _projectedLines) {
        screen->drawLine(line, color);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…