texture_blend_shader

</> ursina.shaders.texture_blend_shader

Variables

.texture_blend_shader

default: Shader(name='texture_blend_shader', language=Shade...


Examples


from ursina import * Texture.default_filtering = 'bilinear' app = Ursina(vsync=False) e = Entity(model='plane', shader=texture_blend_shader, texture='shore') e.set_shader_input('red_texture', load_texture('grass_tintable')) e.set_shader_input('red_tint', color.hex('#7e722e')) e.set_shader_input('green_texture', load_texture('grass_tintable.tif')) e.set_shader_input('green_tint', color.hex('#6f6d24')) e.set_shader_input('blue_texture', load_texture('cobblestone.tif')) blend_map = load_texture('blend_map_example') e.set_shader_input('blend_map', blend_map) e.scale_x = blend_map.width / blend_map.height e.scale *= 200 EditorCamera(rotation_x=30) def input(key):     if key == 'space':         if e.shader:             e.shader = None         else:             e.shader = texture_blend_shader     if key == 'left mouse up':         blend_map.apply() e.collider = 'mesh' def update():     if mouse.hovered_entity == e and mouse.left:         x, _, y = mouse.point + Vec3(.5)         print(x, y)         target_color = color.green         if held_keys['control']:             target_color = color.red         if held_keys['shift']:             target_color = color.blue         blend_map.set_pixel(int(x*blend_map.width), int(y*blend_map.height), target_color)         blend_map.apply() app.run()