Example #1
0
def create_sampler_stratified(paramset: ParamSet, film: Film, camera: Camera) -> StratifiedSampler:
    jitter = paramset.find_bool("jitter", True)
    xsamples = paramset.find_int("xsamples", 2)
    ysamples = paramset.find_int("ysamples", 2)
    sampler = StratifiedSampler(BucketExtend(0, 0, film.width - 1, film.height - 1), xsamples, ysamples, jitter,
                                camera.shutterOpen, camera.shutterClose)
    return sampler
Example #2
0
def create_diffuse_area_light(light2world: Transform, paramSet: ParamSet, shape: Shape):
    L = paramSet.find_spectrum("L", Spectrum(1.0))
    sc = paramSet.find_spectrum("scale", Spectrum(1.0))
    nSamples = paramSet.find_int("nsamples", 1)
    #    if renderOptions.quickRender:
    #        nSamples = max(1, nSamples / 4)
    return DiffuseAreaLight(light2world, L * sc, nSamples, shape)
Example #3
0
def create_film_image(paramset: ParamSet, filter: Filter) -> Film:
    w = paramset.find_int("xresolution", 640)
    h = paramset.find_int("yresolution", 480)
    return Film(w, h)
Example #4
0
def create_sampler_random(paramset: ParamSet, film: Film, camera: Camera) -> RandomSampler:
    samples = paramset.find_int("pixelsamples", 1)
    sampler = RandomSampler(BucketExtend(0, 0, film.width - 1, film.height - 1), samples, camera.shutterOpen,
                            camera.shutterClose)
    return sampler
Example #5
0
def create_surface_integrator_path(paramset: ParamSet) -> DirectLightingIntegrator:
    samples_count = paramset.find_int("maxdepth", 2)
    integrator = PathIntegrator(samples_count)
    return integrator
Example #6
0
def create_surface_integrator_direct_lighting(paramset: ParamSet) -> DirectLightingIntegrator:
    samples_count = paramset.find_int("nsamples", 2048)
    max_distance = paramset.find_float("maxdist", infinity_max_f)
    #todo depth etc
    integrator = DirectLightingIntegrator(samples_count, max_distance)
    return integrator
Example #7
0
def create_surface_integrator_ambient_occlusion(paramset: ParamSet) -> AmbientOcclusionIntegrator:
    samples_count = paramset.find_int("nsamples", 2048)
    max_distance = paramset.find_float("maxdist", infinity_max_f)
    integrator = AmbientOcclusionIntegrator(samples_count, max_distance)
    return integrator