Пример #1
0
def device(request):
    mode = request.param[0]
    limit = request.param[1]

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

    return dev
Пример #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
Пример #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
Пример #4
0
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
Пример #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)
Пример #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)
Пример #8
0
def test_cpu():
    """Test the CPU device."""
    if 'cpu' in fresnel.Device.available_modes:
        fresnel.Device(mode='cpu')
Пример #9
0
def test_gpu_limit():
    """Test the GPU n argument."""
    if 'gpu' in fresnel.Device.available_modes:
        fresnel.Device(mode='gpu', n=1)
Пример #10
0
def test_gpu():
    """Test the GPU device."""
    if 'gpu' in fresnel.Device.available_modes:
        fresnel.Device(mode='gpu')
Пример #11
0
def test_cpu_limit():
    """Test the cpu n argument."""
    if 'cpu' in fresnel.Device.available_modes:
        fresnel.Device(mode='cpu', n=2)
Пример #12
0
def test_cpu_limit():
    if 'cpu' in fresnel.Device.available_modes:
        dev = fresnel.Device(mode='cpu', n=2)
Пример #13
0
def test_cpu():
    if 'cpu' in fresnel.Device.available_modes:
        dev = fresnel.Device(mode='cpu')