Exemple #1
0
def device(request):
    mode = request.param[0]
    limit = request.param[1]

    dev = fresnel.Device(mode=mode, n=limit)

    return dev
Exemple #2
0
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
Exemple #3
0
 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
Exemple #5
0
    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)
Exemple #7
0
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)
Exemple #12
0
def test_cpu_limit():
    if 'cpu' in fresnel.Device.available_modes:
        dev = fresnel.Device(mode='cpu', n=2)
Exemple #13
0
def test_cpu():
    if 'cpu' in fresnel.Device.available_modes:
        dev = fresnel.Device(mode='cpu')