Esempio n. 1
0
def setup_renderer(
            fov=const.CAMERA_FOV,
            raytracing=False,
            preview_mode=False,
            resolution=const.CAMERA_RESOLUTION,
            hostname='127.0.0.1',
            port=5151
        ):

    # Image setup:
    raytracing = raytracing
    rays = 64

    # set PSF
    surech_PSF = 5
    sigma = 1
    wPSF = 5
    PSF = gaussian(wPSF * surech_PSF, sigma * surech_PSF)

    # Initializing SurRender
    s = surrender_client()
    s.setVerbosityLevel(2)
    s.connectToServer(hostname, port=port)
    s.setCompressionLevel(0)
    s.closeViewer()
    s.setTimeOut(86400)
    s.setShadowMapSize(4096)
    s.setCubeMapSize(4096)
    s.enableMultilateralFiltering(True)
    s.enablePreviewMode(preview_mode)
    s.enableDoublePrecisionMode(True)
    s.enableRaytracing(raytracing)
    s.setConventions(s.XYZ_SCALAR_CONVENTION, s.Z_FRONTWARD)
    s.setPSF(PSF, wPSF, wPSF)

    if raytracing:
        s.enableFastPSFMode(False)
        s.enableRaytracing(True)
        s.enableIrradianceMode(False)
        s.setNbSamplesPerPixel(rays)  # Raytracing
        s.enableRegularPSFSampling(True)
        s.enablePathTracing(False)
    else:
        s.enableFastPSFMode(True)
        s.enableRaytracing(False)
        s.enableIrradianceMode(False)
        s.enablePathTracing(True)

    if not isinstance(fov, Iterable):
        fov = (fov, fov)

    s.setCameraFOVDeg(*fov)
    s.setImageSize(*resolution)

    s.setSunPower(UA * UA * np.pi * vec4(1, 1, 1, 1))

    return s
  # Plot in an image file
  plot.ioff()
  fig=plot.imshow(imExtr, interpolation = "none", cmap = 'hot')
  plot.colorbar(fig)
  plot.savefig("%s.png"%file)
  plot.clf()


#-----------------------------------------------------------------------
# Main
#-----------------------------------------------------------------------
if __name__ == "__main__":

  #--[Connection to server]--------------------------------
  s = surrender_client()
  s.setVerbosityLevel(1)
  s.connectToServer("127.0.0.1", 5151)

  print("----------------------------------------")
  print("SCRIPT : %s"%sys.argv[0])
  print("SurRender version: "+s.version())
  print("----------------------------------------")

  for PSFsize in [3,5,7]:

    print("----------------------------------------")
    print("Running PSF test with size = ", PSFsize)


    #--[PSF definition]---------------------