def build_and_render(scene):
    lm.reset()
    lmscene.load(ft.env.scene_path, scene)
    lm.build('accel::nanort', {})
    lm.asset('film_output', 'film::bitmap', {'w': 1920, 'h': 1080})
    lm.render('renderer::raycast', {'output': lm.asset('film_output')})
    return np.copy(lm.buffer(lm.asset('film_output')))
def render_and_visualize():
    lm.build('accel::nanort', {})
    lm.asset('film_output', 'film::bitmap', {'w': 1920, 'h': 1080})
    lm.render(
        'renderer::raycast', {
            'output': lm.asset('film_output'),
            'visualize_normal': True,
            'bg_color': [1, 1, 1]
        })
    img = np.copy(lm.buffer(lm.asset('film_output')))
    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()
Exemplo n.º 3
0
lm.log.init('logger::jupyter', {})
lm.info()

scenes = lmscene.scenes_small()

rmse_series = pd.Series(index=scenes)
for scene in scenes:
    print("Testing [scene='{}']".format(scene))

    lm.reset()

    lm.asset('film_output', 'film::bitmap', {'w': 1920, 'h': 1080})

    # Load scene and render
    lmscene.load(ft.env.scene_path, scene)
    lm.build('accel::sahbvh', {})
    lm.render('renderer::raycast', {'output': lm.asset('film_output')})
    img_orig = np.copy(lm.buffer(lm.asset('film_output')))

    # Serialize, reset, deserialize, and render
    lm.serialize('lm.serialized')
    lm.reset()
    lm.deserialize('lm.serialized')
    lm.render('renderer::raycast', {'output': lm.asset('film_output')})
    img_serial = np.copy(lm.buffer(lm.asset('film_output')))

    # Compare two images
    rmse = ft.rmse(img_orig, img_serial)
    rmse_series[scene] = rmse

rmse_series
Exemplo n.º 4
0
def build_and_render(accel):
    lm.build(accel, {})
    lm.asset('film_output', 'film::bitmap', {'w': 1920, 'h': 1080})
    lm.render('renderer::raycast', {'output': lm.asset('film_output')})
    return np.copy(lm.buffer(lm.asset('film_output')))
Exemplo n.º 5
0
 def build():
     lm.build(accel, {})
Exemplo n.º 6
0
 def load_scene():
     lmscene.load(ft.env.scene_path, scene)
     lm.build('accel::sahbvh', {})
Exemplo n.º 7
0
lm.init('user::default', {})
lm.parallel.init('parallel::openmp', {'numThreads': -1})
lm.log.init('logger::jupyter', {})
lm.info()

lm.comp.loadPlugin(os.path.join(ft.env.bin_path, 'accel_embree'))
lm.comp.loadPlugin(os.path.join(ft.env.bin_path, 'objloader_tinyobjloader'))

lm.objloader.init('objloader::tinyobjloader', {})

scenes = lmscene.scenes_small()

for scene in scenes:
    lm.reset()

    # Film
    lm.asset('film_output', 'film::bitmap', {'w': 1920, 'h': 1080})

    # Render
    lmscene.load(ft.env.scene_path, scene)
    lm.build('accel::embree', {})
    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')
    ax.set_title(scene)
    plt.show()