diff options
Diffstat (limited to 'view.py')
-rwxr-xr-x | view.py | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -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' |