Example #1
0
ds = runtime.load('test', mc)

def ray_ds(ds, ray, name):
    ds[name+ ".origin"] = ray.origin.to_ds() 
    ds[name+ ".dir"] = ray.dir.to_ds()

ray_ds(ds, ray, 'ray1')
runtime.run('test')
print (hit, hit.t)
print (hit.normal)
print (ds['ret'], ds['hp1.t'])
print (ds['hp1.normal'])
print ('------------------')


shader = linear.isect_shader([runtime])
hit2 = HitPoint()
props = {'hit': hit2, 'ret': 0, 'ray': ray}
code = """
ret = isect(ray, hit)
"""
bs = BasicShader(code, props)
bs.prepare([runtime], [shader])

bs.execute()
print (bs.shader.get_value('ret'))
print (bs.shader.get_value('hit.t'))
print (bs.shader.get_value('hit.normal'))


linear.visibility_asm([runtime], 'visibility')
Example #2
0

def ray_ds(ds, ray, name):
    ds[name + ".origin"] = ray.origin.to_ds()
    ds[name + ".dir"] = ray.dir.to_ds()


ray_ds(ds, ray, 'ray1')
runtime.run('test')
print(hit, hit.t)
print(hit.normal)
print(ds['ret'], ds['hp1.t'])
print(ds['hp1.normal'])
print('------------------')

shader = linear.isect_shader([runtime])
hit2 = HitPoint()
props = {'hit': hit2, 'ret': 0, 'ray': ray}
code = """
ret = isect(ray, hit)
"""
bs = BasicShader(code, props)
bs.prepare([runtime], [shader])

bs.execute()
print(bs.shader.get_value('ret'))
print(bs.shader.get_value('hit.t'))
print(bs.shader.get_value('hit.normal'))

linear.visibility_asm([runtime], 'visibility')
code = """