def device(request): mode = request.param[0] limit = request.param[1] dev = fresnel.Device(mode=mode, n=limit) return dev
def device(request): """Create a Device object for use in the tests.""" mode = request.param[0] limit = request.param[1] dev = fresnel.Device(mode=mode, n=limit) return dev
def __init__(self, *args, tracer_kwargs={}, **kwargs): super(Scene, self).__init__(*args, **kwargs) self._device = fresnel.Device() self._fresnel_scene = fresnel.Scene(device=self._device) default_size = self.size_pixels.astype(np.uint32) self._preview_tracer = fresnel.tracer.Preview( device=self._device, w=default_size[0], h=default_size[1]) self._path_tracer = fresnel.tracer.Path( device=self._device, w=default_size[0], h=default_size[1]) self._geometries = [] self._output = None
def renderMeshCloud( mesh=None, mesh_outline_width=None, meshflat=False, # mesh settings cloud=None, cloudR=0.006, cloudC=None, # pc settings camPos=None, camLookat=None, camUp=np.array([0,0,1]), camHeight=1., # camera settings samples=8, axes=False, resolution=(1024,1024), # render settings **kwargs): device = fresnel.Device() scene = fresnel.Scene(device) if mesh is not None: mesh = fresnel.geometry.Mesh(scene,vertices=mesh['vert'][mesh['face']].reshape(-1,3) ,N=1) mesh.material = fresnel.material.Material(color=fresnel.color.linear([0.7,0.7,0.7]), roughness=0.3, specular=1., spec_trans=0.) if mesh_outline_width is not None: mesh.outline_width = mesh_outline_width if cloud is not None: cloud = fresnel.geometry.Sphere(scene, position = cloud, radius=cloudR) solid = .7 if mesh is not None else 0. cloud.material = fresnel.material.Material(solid=solid, \ color=fresnel.color.linear([1,0.0,0]),\ roughness=1.0, specular=0.0) if cloudC is not None: #cloudC = vis.rescale(cloudC, cloudC) cloud.material.primitive_color_mix = 1.0 cloud.color[:] = fresnel.color.linear(plt.cm.plasma(cloudC)[:,:3]) if axes == True: addAxes(scene) if camPos is None or camLookat is None: scene.camera = fresnel.camera.fit(scene,margin=0) else: scene.camera = fresnel.camera.orthographic(camPos, camLookat, camUp, camHeight) scene.lights = fresnel.light.cloudy() #scene.lights = fresnel.light.rembrandt() #scene.lights = fresnel.light.lightbox() #scene.lights = fresnel.light.loop() scene.lights = fresnel.light.butterfly() #scene.lights[0].theta = 3 tracer = fresnel.tracer.Path(device=device, w=resolution[0], h=resolution[1]) tracer.sample(scene, samples=samples, light_samples=8) #tracer.resize(w=450, h=450) #tracer.aa_level = 3 image = tracer.render(scene)[:] return image
def setup_scene(self, camera_kwargs={}, lights="rembrandt"): device = fresnel.Device() scene = fresnel.Scene(device) self.camera_opt = camera_opt = copy.deepcopy(dflt_camera) camera_opt.update(camera_kwargs) self.camera_kwargs = camera_opt if camera_opt["fit_camera"] == True: print("Camera is not setup, now auto-fit camera") scene.camera = fresnel.camera.fit(scene, margin=0) else: camPos = camera_opt["camPos"] camLookat = camera_opt["camLookat"] camUp = camera_opt["camUp"] camHeight = camera_opt["camHeight"] scene.camera = fresnel.camera.orthographic(camPos, camLookat, camUp, camHeight) # setup lightings if "lights" in camera_kwargs: lights = camera_kwargs["lights"] if type(lights) is not str: scene.lights = camera_kwargs["lights"] elif lights == "cloudy": scene.lights = fresnel.light.cloudy() elif lights == "rembrandt": scene.lights = fresnel.light.rembrandt() elif lights == "lightbox": scene.lights = fresnel.light.lightbox() elif lights == "loop": scene.lights = fresnel.light.loop() elif lights == "butterfly": scene.lights = fresnel.light.butterfly() elif lights == "up": scene.lights = get_world_lights([np.array([0, 1, 0])], colors=[np.array([1, 1, 1])], thetas=[1.], camera_pos=camPos) # addAxes(scene) # addBBox(scene) self.scene, self.device = scene, device
import gsd import gsd.fl import gsd.hoomd import PIL import os import io import math import sys import itertools import csv import matplotlib.pyplot as plt import freud import argparse import random device = fresnel.Device(mode='cpu') path_tracer = fresnel.tracer.Path(device, 1920, 1080) blue = fresnel.color.linear([0.25, 0.5, 1]) * 0.9 orange = fresnel.color.linear([1.0, 0.714, 0.169]) * 0.9 def render_sphere_frame(frame, height=None): if height is None: if hasattr(frame, 'configuration'): Ly = frame.configuration.box[1] height = Ly * math.sqrt(3) else: Ly = frame.box.Ly height = Ly * math.sqrt(3)
import fresnel, numpy, math, PIL data = numpy.load('cuboids.npz') scene = fresnel.Scene(fresnel.Device(mode='cpu')) scene.lights = fresnel.light.lightbox() W, H, D = data['width'] poly_info = fresnel.util.convex_polyhedron_from_vertices([[-W, -H, -D], [-W, -H, D], [-W, H, -D], [-W, H, D], [W, -H, -D], [W, -H, D], [W, H, -D], [W, H, D]]) geometry = fresnel.geometry.ConvexPolyhedron(scene, poly_info, position=data['position'], orientation=data['orientation'], outline_width=0.015) geometry.material = fresnel.material.Material(color=fresnel.color.linear( [0.1, 0.1, 0.6]), roughness=0.1, specular=1) geometry.outline_material = fresnel.material.Material(color=(0.95, 0.93, 0.88), roughness=0.1, metal=1.0) scene.camera = fresnel.camera.fit(scene, view='front') out = fresnel.pathtrace(scene, samples=64, light_samples=32, w=580, h=580)
def test_cpu(): """Test the CPU device.""" if 'cpu' in fresnel.Device.available_modes: fresnel.Device(mode='cpu')
def test_gpu_limit(): """Test the GPU n argument.""" if 'gpu' in fresnel.Device.available_modes: fresnel.Device(mode='gpu', n=1)
def test_gpu(): """Test the GPU device.""" if 'gpu' in fresnel.Device.available_modes: fresnel.Device(mode='gpu')
def test_cpu_limit(): """Test the cpu n argument.""" if 'cpu' in fresnel.Device.available_modes: fresnel.Device(mode='cpu', n=2)
def test_cpu_limit(): if 'cpu' in fresnel.Device.available_modes: dev = fresnel.Device(mode='cpu', n=2)
def test_cpu(): if 'cpu' in fresnel.Device.available_modes: dev = fresnel.Device(mode='cpu')