cury = cury + 1 if cury == endy: return 0 #x = pixel_size * (curx + w2) #y = pixel_size * (cury + h2) x = pixel_size * (w2 + curx) y = pixel_size * (w2 + cury) sam.x = x sam.y = y sam.ix = curx sam.iy = cury return 1 """ args1 = arg_map([('endx', 0), ('endy', 0), ('tilex', 0), ('tiley', 0), ('pixel_size', 1.0), ('curx', 0), ('cury', 0), ('w2', 0.0), ('h2', 0.0)]) args2 = arg_list([('sam', sample)]) sample_shader = create_shader("generate_sample", code2, args1, args2, func=True) #print(sample_shader._code) arg_map1 = arg_map([('x', 0.0)]) code = """ sam = sample() ret = 1 while ret != 0: ret = generate_sample(sam) x = sam.y """ runtimes = [Runtime()]
from tdasm import Runtime from renmas3.base import create_shader, arg_map, Integer, Float, Vec3 from renmas3.base import create_function, arg_list arg_map1 = arg_map([('v1', Vec3), ('v2', Vec3), ('f1', Float), ('i1', Integer)]) code = """ p3 = (3.4, 3.3, 2.2) v1 = p3 mm = 4.4 f1 = mm gg = 44 i1 = gg + 88 p55 = 33 p55 = 4.4 """ shader = create_shader("test", code, arg_map1) print (shader._code) runtimes = [Runtime()] shader.prepare(runtimes) shader.execute() print(shader.get_value('v1')) print(shader.get_value('v2')) print(shader.get_value('f1')) print(shader.get_value('i1'))
import time from tdasm import Runtime from renmas3.base import ImagePRGBA, arg_map, create_shader arg_map1 = arg_map([('image1', ImagePRGBA)]) img1 = ImagePRGBA(1024, 768) code = """ value = (0.5, 0.5, 0.5) y = image1.height - 1 while y >= 0: x = image1.width - 1 while x >= 0: set_rgb(image1, x, y, value) x = x - 1 y = y - 1 """ shader = create_shader("test", code, arg_map1) runtimes = [Runtime()] shader.prepare(runtimes) shader.set_value('image1', img1) start = time.clock() shader.execute() end = time.clock() print("Execution time of shader = ", end - start) start = time.clock() for y in range(img1.height): for x in range(img1.width):
from tdasm import Runtime from renmas3.base import ImagePRGBA, arg_map, create_shader, Vec3 arg_map1 = arg_map([('image1', ImagePRGBA), ('value', Vec3)]) img1 = ImagePRGBA(1024, 768) img1.set_pixel(10, 10, 0.4, 0.3, 0.2) code = """ value = get_rgb(image1, 10, 10) color = (0.1, 0.5, 0.6) set_rgb(image1, 20, 20, color) """ shader = create_shader("test", code, arg_map1) runtimes = [Runtime()] shader.prepare(runtimes) shader.set_value('image1', img1) shader.execute() print(shader.get_value('value')) print(img1.get_pixel(20, 20))
import time from tdasm import Runtime from renmas3.base import ImagePRGBA, arg_map, create_shader arg_map1 = arg_map([('image1', ImagePRGBA)]) img1 = ImagePRGBA(1024, 768) code = """ value = (0.5, 0.5, 0.5) y = image1.height - 1 while y >= 0: x = image1.width - 1 while x >= 0: set_rgb(image1, x, y, value) x = x - 1 y = y - 1 """ shader = create_shader("test", code, arg_map1) runtimes = [Runtime()] shader.prepare(runtimes) shader.set_value('image1', img1) start = time.clock() shader.execute() end = time.clock() print("Execution time of shader = ", end-start) start = time.clock() for y in range(img1.height):
if cury == endy: return 0 #x = pixel_size * (curx + w2) #y = pixel_size * (cury + h2) x = pixel_size * (w2 + curx) y = pixel_size * (w2 + cury) sam.x = x sam.y = y sam.ix = curx sam.iy = cury return 1 """ args1 = arg_map([('endx', 0), ('endy', 0), ('tilex', 0), ('tiley', 0), ('pixel_size', 1.0), ('curx', 0), ('cury', 0), ('w2', 0.0), ('h2', 0.0)]) args2 = arg_list([('sam', sample)]) sample_shader = create_shader("generate_sample", code2, args1, args2, func=True) #print(sample_shader._code) arg_map1 = arg_map([('x', 0.0)]) code = """ sam = sample() ret = 1 while ret != 0: ret = generate_sample(sam)
from renmas3.base import create_shader, arg_map eye = Vector3(2.2, 3.3, 4.4) lookat = Vector3(1.1, 2.2, 0.0) distance = 3.3 sample = Sample(2.2, 3.3, 5, 6, 1.0) camera = create_perspective_camera(eye, lookat, distance) runtimes = [Runtime()] camera.prepare(runtimes) call_code = """ generate_ray(sample, ray) """ args = arg_map([('sample', Sample), ('ray', Ray)]) shader = create_shader('test', call_code, args=args, shaders=[camera.shader]) shader.prepare(runtimes) shader.set_value('sample', sample) ray = camera.execute_py(sample) shader.execute() def cmp_vec3(vec1, vec2): if round(vec1.x - vec2.x, 3) != 0: raise ValueError("Vectors are different", vec1, vec2) if round(vec1.y - vec2.y, 3) != 0: raise ValueError("Vectors are different", vec1, vec2) if round(vec1.z - vec2.z, 3) != 0:
from tdasm import Runtime from renmas3.base import ImagePRGBA import renmas3.base from renmas3.base import create_shader, create_argument, create_user_type from renmas3.base import arg_map, arg_list from renmas3.base import register_user_type from renmas3.base import Vector3 point = create_user_type(typ="point", fields=[('x', 10), ('y', 20)]) size = create_user_type(typ="size", fields=[('w', 0.0), ('h', 0.0), ('k', (3,4,5))]) register_user_type(point) register_user_type(size) arg_map1 = arg_map([('p1', 3), ('p2', 4), ('ps', point), ('pm', point),('p3', 0.3), ('p4', (4,5,6)), ('rect', size), ('slika', ImagePRGBA)]) code = """ p1 = 484 ps.x = 14 p3 = 3.3 p4 = (92,3,3) p5 = 55 p1 = ps.x p7 = 8.8 p3 = p7 pm.x = ps.y p11 = (6,7,8) p4 = p11 p3 = p1 rect.w = 4.4
from renmas3.base import create_shader, arg_map eye = Vector3(2.2, 3.3, 4.4) lookat = Vector3(1.1, 2.2, 0.0) distance = 3.3 sample = Sample(2.2, 3.3, 5, 6, 1.0) camera = create_perspective_camera(eye, lookat, distance) runtimes = [Runtime()] camera.prepare(runtimes) call_code = """ generate_ray(sample, ray) """ args = arg_map([("sample", Sample), ("ray", Ray)]) shader = create_shader("test", call_code, args=args, shaders=[camera.shader]) shader.prepare(runtimes) shader.set_value("sample", sample) ray = camera.execute_py(sample) shader.execute() def cmp_vec3(vec1, vec2): if round(vec1.x - vec2.x, 3) != 0: raise ValueError("Vectors are different", vec1, vec2) if round(vec1.y - vec2.y, 3) != 0: raise ValueError("Vectors are different", vec1, vec2) if round(vec1.z - vec2.z, 3) != 0:
from tdasm import Runtime from renmas3.base import create_shader, arg_map, Integer, Float, Vec3 from renmas3.base import create_function, arg_list runtimes = [Runtime()] code2 = """ #input a = float, b = int a = b return a """ arg_lst1 = arg_list([('a', Float), ('b', Integer)]) sh1 = create_function('conv_int', code2, input_args=arg_lst1) sh1.prepare(runtimes) arg_map1 = arg_map([('a', Integer), ('b', Float), ('c', Vec3), ('f', Vec3)]) code = """ a = 2 b = 2.2 c = (2, 3, 4) f = [6,7,7.7] b = conv_int(b, a) int(55) b = 3 + pow(2,3) * 2.5 #b = pow(2,3) * 2.5 + 3 """ shader = create_shader("test", code, arg_map1, shaders=[sh1]) shader.prepare(runtimes) shader.execute()
from tdasm import Runtime from renmas3.base import create_shader, arg_map, Integer, Float, Vec3 from renmas3.base import create_function, arg_list runtimes = [Runtime()] code2 = """ #input a = float, b = int a = b return a """ arg_lst1 = arg_list([('a', Float), ('b', Integer)]) sh1 = create_function('conv_int', code2, input_args=arg_lst1) sh1.prepare(runtimes) arg_map1 = arg_map([('a', Integer), ('b', Float), ('c', Vec3), ('f', Vec3)]) code = """ a = 2 b = 2.2 c = (2, 3, 4) f = [6,7,7.7] b = conv_int(b, a) int(55) b = 3 + pow(2,3) * 2.5 #b = pow(2,3) * 2.5 + 3 """ shader = create_shader("test", code, arg_map1, shaders=[sh1]) shader.prepare(runtimes) shader.execute() print(shader._code)