From f6109fc8939c55a9ef8244806d00b3ee07ee1b13 Mon Sep 17 00:00:00 2001 From: Anthony LaTorre Date: Mon, 8 Aug 2011 11:03:07 -0400 Subject: add a simple event viewer. view events by running ./camera.py -i . --- view.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'view.py') diff --git a/view.py b/view.py index 5752767..b10fbda 100755 --- a/view.py +++ b/view.py @@ -13,6 +13,7 @@ from camera import get_rays from geometry import Mesh, Solid, Geometry from transform import rotate from optics import * +from gpu import * #from pycuda import autoinit from pycuda.compiler import SourceModule @@ -142,6 +143,8 @@ def view(viewable, size=(800,600), name='', bits=8, load_bvh=False): - move: shift+click and drag the mouse """ + gpu = GPU() + geometry = build(viewable, bits) if load_bvh: @@ -158,12 +161,15 @@ def view(viewable, size=(800,600), name='', bits=8, load_bvh=False): scale = np.linalg.norm(upper_bound-lower_bound) - from pycuda import autoinit + #from pycuda import autoinit + + #print 'device %s' % autoinit.device.name() - print 'device %s' % autoinit.device.name() + module = gpu.module - module = SourceModule(src.kernel, options=['-I' + src.dir], no_extern_c=True, cache_dir=False) - geometry.load(module) + #module = SourceModule(src.kernel, options=['-I' + src.dir], no_extern_c=True)#, cache_dir=False) + #geometry.load(module) + gpu.load_geometry(geometry) cuda_raytrace = module.get_function('ray_trace') cuda_rotate = module.get_function('rotate') cuda_translate = module.get_function('translate') @@ -292,7 +298,8 @@ def view(viewable, size=(800,600), name='', bits=8, load_bvh=False): geometry = bvhg[current_layer+1] current_layer += 1 - geometry.load(module, color=True) + gpu.load_geometry(geometry) + #geometry.load(module, color=True) update() except IndexError: print 'no further layers to view' @@ -305,7 +312,8 @@ def view(viewable, size=(800,600), name='', bits=8, load_bvh=False): geometry = bvhg[current_layer-1] current_layer -= 1 - geometry.load(module, color=True) + gpu.load_geometry(geometry) + #geometry.load(module, color=True) update() except IndexError: print 'no further layers to view' -- cgit