Esempio n. 1
0
def breakfast_room(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [0.195303, 2.751188, 7.619322],
        'center': [0.139881, 2.681201, 6.623315],
        'up': [0,1,0],
        'vfov': 39.384486
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'breakfast_room/breakfast_room.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 2
0
def bedroom(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [22.634083, -19.868534, 24.155586],
        'center': [22.027370, -19.116102, 23.899178],
        'up': [0,0,1],
        'vfov': 57.978600
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'bedroom/iscv2.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 3
0
def vokselia_spawn(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [1.525444, 0.983225, 0.731648],
        'center': [0.780862, 0.377208, 0.451751],
        'up': [0,1,0],
        'vfov': 49.857803
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'vokselia_spawn/vokselia_spawn.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 4
0
def fireplace_room(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [5.101118, 1.083746, -2.756308],
        'center': [4.167568, 1.078925, -2.397892],
        'up': [0,1,0],
        'vfov': 43.001194
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'fireplace_room/fireplace_room.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 5
0
def cornell_box_sphere(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [0,1,5],
        'center': [0,1,0],
        'up': [0,1,0],
        'vfov': 30
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'cornell_box/CornellBox-Sphere.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 6
0
def cube(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [2, 2, 2],
        'center': [0, 0, 0],
        'up': [0,1,0],
        'vfov': 30
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'cube/cube.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 7
0
def powerplant(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [-200000, 200000, 200000],
        'center': [0, 0, 0],
        'up': [0,1,0],
        'vfov': 30
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'powerplant/powerplant.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 8
0
def conference(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [926.391602, 329.094299, 141.714554],
        'center': [925.628784, 328.858490, 141.112488],
        'up': [0,1,0],
        'vfov': 50.717898
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'conference/conference.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 9
0
def cloud(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [22.288721, 32.486145, 85.542023],
        'center': [22.218456, 32.084743, 84.628822],
        'up': [0,1,0],
        'vfov': 53.023230
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'cloud/altostratus00.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 10
0
def bunny(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [-0.191925, 2.961061, 4.171464],
        'center': [-0.185709, 2.478091, 3.295850],
        'up': [0,1,0],
        'vfov': 28.841546
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'bunny/bunny.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
Esempio n. 11
0
def buddha(scene_path):
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [0.027255, 0.941126, -2.217943],
        'center': [0.001645, 0.631268, -1.267505],
        'up': [0,1,0],
        'vfov': 19.297509
    })
    lm.asset('model_obj', 'model::wavefrontobj', {
        'path': os.path.join(scene_path, 'buddha/buddha.obj')
    })
    lm.primitive(lm.identity(), {
        'camera': lm.asset('camera_main')
    })
    lm.primitive(lm.identity(), {
        'model': lm.asset('model_obj')
    })
def scene_setup():
    lm.reset()
    lm.asset(
        'mesh_sphere', 'mesh::raw', {
            'ps': vs.flatten().tolist(),
            'ns': ns.flatten().tolist(),
            'ts': ts.flatten().tolist(),
            'fs': {
                'p': fs.flatten().tolist(),
                't': fs.flatten().tolist(),
                'n': fs.flatten().tolist()
            }
        })
    lm.asset('camera_main', 'camera::pinhole', {
        'position': [0, 0, 50],
        'center': [0, 0, 0],
        'up': [0, 1, 0],
        'vfov': 30
    })
    lm.asset('material_white', 'material::diffuse', {'Kd': [1, 1, 1]})
    lm.primitive(lm.identity(), {'camera': lm.asset('camera_main')})
# Pinhole camera
lm.asset(
    'camera1', 'camera::pinhole', {
        'position': [5.101118, 1.083746, -2.756308],
        'center': [4.167568, 1.078925, -2.397892],
        'up': [0, 1, 0],
        'vfov': 43.001194
    })

# OBJ model
lm.asset('obj1', 'model::wavefrontobj', {
    'path':
    os.path.join(ft.env.scene_path, 'fireplace_room/fireplace_room.obj')
})

# Camera
lm.primitive(lm.identity(), {'camera': lm.asset('camera1')})

# Create primitives from model asset
lm.primitive(lm.identity(), {'model': lm.asset('obj1')})
# -

lm.build('accel::sahbvh', {})
lm.render('renderer::ao', {'output': lm.asset('film1'), 'spp': 10})

img = np.copy(lm.buffer(lm.asset('film1')))
f = plt.figure(figsize=(15, 15))
ax = f.add_subplot(111)
ax.imshow(np.clip(np.power(img, 1 / 2.2), 0, 1), origin='lower')
plt.show()
# Scene
lm.asset(
    'camera_main', 'camera::pinhole', {
        'position': [5.101118, 1.083746, -2.756308],
        'center': [4.167568, 1.078925, -2.397892],
        'up': [0, 1, 0],
        'vfov': 43.001194
    })
lm.asset(
    'model_obj', 'model::wavefrontobj', {
        'path':
        os.path.join(ft.env.scene_path, 'fireplace_room/fireplace_room.obj'),
        'base_material':
        lm.asset('mat_vis_normal')
    })
lm.primitive(lm.identity(), {'camera': lm.asset('camera_main')})
lm.primitive(lm.identity(), {'model': lm.asset('model_obj')})
# -

lm.build('accel::sahbvh', {})

# +
# Render
lm.asset('film_output', 'film::bitmap', {'w': 640, 'h': 360})
lm.render('renderer::raycast', {'output': lm.asset('film_output')})
img = np.copy(lm.buffer(lm.asset('film_output')))

# Visualize
f = plt.figure(figsize=(15, 15))
ax = f.add_subplot(111)
ax.imshow(np.clip(np.power(img, 1 / 2.2), 0, 1), origin='lower')
Esempio n. 15
0
})

lm.asset('camera_main', 'camera::pinhole', {
    'position': [5.101118, 1.083746, -2.756308],
    'center': [4.167568, 1.078925, -2.397892],
    'up': [0,1,0],
    'vfov': 43.001194
})
lm.asset('obj_base_mat', 'material::diffuse', {
    'Kd': [.8,.2,.2]
})
lm.asset('model_obj', 'model::wavefrontobj', {
    'path': os.path.join(ft.env.scene_path, 'fireplace_room/fireplace_room.obj'),
    'base_material': lm.asset('obj_base_mat')
})
lm.primitive(lm.identity(), {
    'camera': lm.asset('camera_main')
})
lm.primitive(lm.identity(), {
    'model': lm.asset('model_obj')
})

lm.build('accel::sahbvh', {})
lm.asset('film_output', 'film::bitmap', {'w': 1920, 'h': 1080})
lm.render('renderer::raycast', {
    'output': lm.asset('film_output')
})
img = lm.buffer(lm.asset('film_output'))
f = plt.figure(figsize=(10,10))
ax = f.add_subplot(111)
ax.imshow(np.clip(np.power(img,1/2.2),0,1), origin='lower')
Esempio n. 16
0
# ### Missing reference

lm.asset(
    'mesh1', 'mesh::raw', {
        'ps': [-1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1],
        'ns': [0, 0, 1],
        'ts': [0, 0, 1, 0, 1, 1, 0, 1],
        'fs': {
            'p': [0, 1, 2, 0, 2, 3],
            'n': [0, 0, 0, 0, 0, 0],
            't': [0, 1, 2, 0, 2, 3]
        }
    })

# material1 is undefined
lm.primitive(lm.identity(), {
    'mesh': lm.asset('mesh1'),
    'material': lm.asset('material1')
})

# Define a missing asset
lm.asset('material1', 'material::diffuse', {'Kd': [1, 1, 1]})

# 'material1' is not a valid locator use lm.asset()
lm.primitive(lm.identity(), {
    'mesh': lm.asset('mesh1'),
    'material': 'material1'
})

# This is correct
lm.primitive(lm.identity(), {