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()
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
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')))
def build(): lm.build(accel, {})
def load_scene(): lmscene.load(ft.env.scene_path, scene) lm.build('accel::sahbvh', {})
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()