comparison tests/test_materials.nim @ 253:ad078e26a1c7

fix: API changes
author sam <sam@basx.dev>
date Wed, 24 May 2023 01:31:21 +0700
parents f52fccedf5ab
children bfcb41211c5b
comparison
equal deleted inserted replaced
252:f31d848ab551 253:ad078e26a1c7
12 WT, WT, WT, WT, WT, WT, WT, 12 WT, WT, WT, WT, WT, WT, WT,
13 PT, PT, PT, PT, PT, PT, PT, 13 PT, PT, PT, PT, PT, PT, PT,
14 WT, WT, WT, WT, WT, WT, WT, 14 WT, WT, WT, WT, WT, WT, WT,
15 RT, RT, RT, RT, RT, RT, RT, 15 RT, RT, RT, RT, RT, RT, RT,
16 ]) 16 ])
17 let
17 # image from file 18 # image from file
18 t2 = loadImage("flag.png") 19 t2 = loadImage("flag.png")
20
19 var sampler = DefaultSampler() 21 var sampler = DefaultSampler()
20 sampler.magnification = VK_FILTER_NEAREST 22 sampler.magnification = VK_FILTER_NEAREST
21 sampler.minification = VK_FILTER_NEAREST 23 sampler.minification = VK_FILTER_NEAREST
22 scene.addTextures("my_texture", @[Texture(image: t1, sampler: sampler), Texture(image: t2, sampler: sampler)]) 24 scene.addTextures("my_texture", @[Texture(image: t1, sampler: sampler), Texture(image: t2, sampler: sampler)])
23 scene.addShaderGlobalArray("test2", @[0'f32, 0'f32]) 25 scene.addShaderGlobalArray("test2", @[0'f32, 0'f32])
24 26
25 var engine = initEngine("Test materials") 27 var engine = initEngine("Test materials")
28
26 const 29 const
27 vertexInput = @[ 30 vertexInput = @[
28 attr[Vec3f]("position", memoryPerformanceHint=PreferFastRead), 31 attr[Vec3f]("position", memoryPerformanceHint=PreferFastRead),
29 attr[Vec2f]("uv", memoryPerformanceHint=PreferFastRead), 32 attr[Vec2f]("uv", memoryPerformanceHint=PreferFastRead),
30 ] 33 ]
50 float d = sin(Uniforms.test2[0]) * 0.5 + 0.5; 53 float d = sin(Uniforms.test2[0]) * 0.5 + 0.5;
51 color = texture(my_texture[0], uvout) * (1 - d) + texture(my_texture[1], uvout) * d; 54 color = texture(my_texture[0], uvout) * (1 - d) + texture(my_texture[1], uvout) * d;
52 """ 55 """
53 ) 56 )
54 engine.setRenderer(engine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode)) 57 engine.setRenderer(engine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode))
55 engine.addScene(scene, vertexInput) 58 engine.addScene(scene, vertexInput, samplers)
56 var t = cpuTime() 59 var t = cpuTime()
57 while engine.updateInputs() == Running and not engine.keyIsDown(Escape): 60 while engine.updateInputs() == Running and not engine.keyIsDown(Escape):
58 var d = float32(cpuTime() - t) 61 var d = float32(cpuTime() - t)
59 setShaderGlobalArray(scene, "test2", @[d, d * 2]) 62 setShaderGlobalArray(scene, "test2", @[d, d * 2])
60 engine.renderScene(scene) 63 engine.renderScene(scene)