Ejemplo n.º 1
0
def create_mpm_sand_block(fn):
    particles = tc_core.RenderParticles()
    assert particles.read(fn)
    downsample = grid_downsample
    tex = Texture.from_render_particles((255 / downsample, 255 / downsample, 255 / downsample), particles) * 5
    # tex = Texture('sphere', center=(0.5, 0.5, 0.5), radius=0.5)
    with tc.transform_scope(scale=2):
        return tc.create_volumetric_block(tex, res=(128, 128, 128))
Ejemplo n.º 2
0
def create_mpm_snow_block(fn):
    particles = tc_core.RenderParticles()
    assert particles.read(fn)
    downsample = grid_downsample
    tex = Texture.from_render_particles(
        (511 / downsample, 127 / downsample, 255 / downsample), particles) * 5
    # tex = Texture('sphere', center=(0.5, 0.5, 0.5), radius=0.5)
    with tc.transform_scope(translate=(0, -0.75, 0), scale=(2, 0.5, 1)):
        return tc.create_volumetric_block(tex, res=(256, 256, 256))
Ejemplo n.º 3
0
def create_mpm_snow_block(fn):
    particles = tc_core.RenderParticles()
    assert particles.read(fn)
    tex = Texture.from_render_particles((grid_x, grid_y, grid_z), particles) * 5
    mesh_transform = tc_core.Matrix4(1.0).scale_s(0.3).translate(Vector(0.5, 0.5, 0.5))
    transform = tc_core.Matrix4(1.0).scale_s(2).scale(Vector(2.0, 0.5, 1.0)).translate(Vector(-2, -0.99, -1))
    vol = VolumeMaterial('sdf_voxel', scattering=5, absorption=0, tex=tex, resolution=(grid_x, grid_y, grid_z),
                         transform_ptr=transform.get_ptr_string())
    material = SurfaceMaterial('plain_interface')
    material.set_internal_material(vol)
    return Mesh('cube', material=material, transform=transform * mesh_transform)
Ejemplo n.º 4
0
 def view(self, frame, camera):
     particles = tc_core.RenderParticles()
     ret = particles.read(self.input_directory + 'particles%05d.bin' % frame)
     if not ret:
         print 'read file failed'
         return False
     image_buffer = tc_core.Array2DVector3(self.video_manager.width, self.video_manager.height, Vector(0, 0, 0.0))
     self.particle_renderer.set_camera(camera)
     self.particle_renderer.render(image_buffer, particles)
     img = image_buffer_to_ndarray(image_buffer)
     #img = LDRDisplay(exposure=1, adaptive_exposure=False).process(img)
     show_image('Vis', img)
     self.video_manager.write_frame(img)
     return True