Esempio n. 1
0
void SingleScatteringFluorescenceRWLIntegrator::Preprocess(const Scene *scene,
        const Camera *camera, const Renderer *renderer) {
    // Verify the volume contents of the scene
    VolumeRegion *vr = scene->volumeRegion;
    if(vr->HasNonClearedFluorescentVolumes()) {
        Error(" The SingleScatteringFluorescenceRWLIntegrator only works with"
              " cleared fluorescent volumes");
    }

    // Verify laser light sources
    for (int i = 0; i < scene->lights.size(); i++) {
        Light* light = scene->lights[i];
        if (!light->IsLaser()) {
            Error("The fluorescence integrators can only use laser beams");
        }
    }
}