Mercurial > games > semicongine
comparison tests/test_vulkan_wrapper.nim @ 653:ac7dfbd56cc6
add: textures now support in shader via scene data, also: improved config handling a bit, more to come
| author | Sam <sam@basx.dev> |
|---|---|
| date | Sat, 06 May 2023 23:06:33 +0700 |
| parents | 43240986f76d |
| children | 744285b47a4d |
comparison
equal
deleted
inserted
replaced
| 652:43240986f76d | 653:ac7dfbd56cc6 |
|---|---|
| 98 | 98 |
| 99 proc scene_primitives(): Entity = | 99 proc scene_primitives(): Entity = |
| 100 var r = rect(color="ff0000") | 100 var r = rect(color="ff0000") |
| 101 var t = tri(color="0000ff") | 101 var t = tri(color="0000ff") |
| 102 var c = circle(color="00ff00") | 102 var c = circle(color="00ff00") |
| 103 setInstanceData[Vec3f](r, "translate", @[newVec3f(0.5, -0.3)]) | 103 r.setInstanceData("translate", @[newVec3f(0.5, -0.3)]) |
| 104 setInstanceData[Vec3f](t, "translate", @[newVec3f(0.3, 0.3)]) | 104 t.setInstanceData("translate", @[newVec3f(0.3, 0.3)]) |
| 105 setInstanceData[Vec3f](c, "translate", @[newVec3f(-0.3, 0.1)]) | 105 c.setInstanceData("translate", @[newVec3f(-0.3, 0.1)]) |
| 106 result = newEntity("root", t, r, c) | 106 result = newEntity("root", t, r, c) |
| 107 | |
| 108 proc scene_flag(): Entity = | |
| 109 var r = rect(color="ff0000") | |
| 110 r.updateMeshData("color", @[newVec3f(0, 0), newVec3f(1, 0), newVec3f(1, 1), newVec3f(0, 1)]) | |
| 111 result = newEntity("root", r) | |
| 107 | 112 |
| 108 proc main() = | 113 proc main() = |
| 109 var engine = initEngine("Test") | 114 var engine = initEngine("Test") |
| 110 | 115 |
| 111 # INIT RENDERER: | 116 # INIT RENDERER: |
| 140 | 145 |
| 141 # INIT SCENES | 146 # INIT SCENES |
| 142 var scenes = [ | 147 var scenes = [ |
| 143 newScene("simple", scene_simple()), | 148 newScene("simple", scene_simple()), |
| 144 newScene("different mesh types", scene_different_mesh_types()), | 149 newScene("different mesh types", scene_different_mesh_types()), |
| 145 newScene("primitives", scene_primitives()) | 150 newScene("primitives", scene_primitives()), |
| 151 newScene("flag", scene_flag()), | |
| 146 ] | 152 ] |
| 147 for scene in scenes.mitems: | 153 for scene in scenes.mitems: |
| 148 scene.addShaderGlobal("time", 0.0'f32) | 154 scene.addShaderGlobal("time", 0.0'f32) |
| 149 let (R, W) = ([0'u8, 0'u8, 0'u8, 0'u8], [0'u8, 0'u8, 0'u8, 0'u8]) | 155 let (R, W) = ([255'u8, 0'u8, 0'u8, 255'u8], [255'u8, 255'u8, 255'u8, 255'u8]) |
| 150 scene.addTexture("my_little_texture", TextureImage(width: 5, height: 5, imagedata: @[ | 156 scene.addTexture("my_little_texture", TextureImage(width: 5, height: 5, imagedata: @[ |
| 151 R, R, R, R, R, | 157 R, R, R, R, R, |
| 152 R, R, R, R, R, | 158 R, R, W, R, R, |
| 153 R, R, R, R, R, | 159 R, W, W, W, R, |
| 154 R, R, R, R, R, | 160 R, R, W, R, R, |
| 155 R, R, R, R, R, | 161 R, R, R, R, R, |
| 156 ])) | 162 ])) |
| 157 engine.addScene(scene, vertexInput) | 163 engine.addScene(scene, vertexInput) |
| 158 | 164 |
| 159 # MAINLOOP | 165 # MAINLOOP |
