summaryrefslogtreecommitdiff
path: root/view.py
diff options
context:
space:
mode:
Diffstat (limited to 'view.py')
-rwxr-xr-xview.py20
1 files changed, 14 insertions, 6 deletions
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'