Mercurial > games > semicongine
comparison tests/test_vulkan_wrapper.nim @ 331:05fb85ba97dd
did: undid using meshes as values, ref is much better, fix a few things, fix a few huge performance issues
| author | Sam <sam@basx.dev> |
|---|---|
| date | Sun, 03 Sep 2023 17:34:29 +0700 |
| parents | 04531bec3583 |
| children | 2533f524bdb6 |
comparison
equal
deleted
inserted
replaced
| 330:04531bec3583 | 331:05fb85ba97dd |
|---|---|
| 166 ], | 166 ], |
| 167 intermediates=[ | 167 intermediates=[ |
| 168 attr[Vec4f]("outcolor"), | 168 attr[Vec4f]("outcolor"), |
| 169 ], | 169 ], |
| 170 outputs=[attr[Vec4f]("color")], | 170 outputs=[attr[Vec4f]("color")], |
| 171 uniforms=[attr[float32]("time")], | |
| 172 samplers=[ | 171 samplers=[ |
| 173 attr[Sampler2DType]("my_little_texture") | 172 attr[Sampler2DType]("my_little_texture") |
| 174 ], | 173 ], |
| 175 vertexCode="""gl_Position = vec4(position, 1.0) * transform; outcolor = color;""", | 174 vertexCode="""gl_Position = vec4(position, 1.0) * transform; outcolor = color;""", |
| 176 fragmentCode="color = texture(my_little_texture, outcolor.xy) * 0.5 + outcolor * 0.5;", | 175 fragmentCode="color = texture(my_little_texture, outcolor.xy) * 0.5 + outcolor * 0.5;", |
| 200 Scene(name: "flag", meshes: scene_flag()), | 199 Scene(name: "flag", meshes: scene_flag()), |
| 201 Scene(name: "multimaterial", meshes: scene_multi_material()), | 200 Scene(name: "multimaterial", meshes: scene_multi_material()), |
| 202 ] | 201 ] |
| 203 | 202 |
| 204 for scene in scenes.mitems: | 203 for scene in scenes.mitems: |
| 205 scene.addShaderGlobal("time", 0.0'f32) | |
| 206 engine.addScene(scene) | 204 engine.addScene(scene) |
| 207 | 205 |
| 208 # MAINLOOP | 206 # MAINLOOP |
| 209 echo "Setup successfull, start rendering" | 207 echo "Setup successfull, start rendering" |
| 210 for i in 0 ..< 3: | 208 for i in 0 ..< 3: |
| 212 echo "rendering scene ", scene.name | 210 echo "rendering scene ", scene.name |
| 213 for i in 0 ..< 1000: | 211 for i in 0 ..< 1000: |
| 214 if engine.updateInputs() != Running or engine.keyIsDown(Escape): | 212 if engine.updateInputs() != Running or engine.keyIsDown(Escape): |
| 215 engine.destroy() | 213 engine.destroy() |
| 216 return | 214 return |
| 217 setShaderGlobal(scene, "time", getShaderGlobal[float32](scene, "time") + 0.0005'f) | |
| 218 engine.renderScene(scene) | 215 engine.renderScene(scene) |
| 219 echo "Rendered ", engine.framesRendered, " frames" | 216 echo "Rendered ", engine.framesRendered, " frames" |
| 220 echo "Processed ", engine.eventsProcessed, " events" | 217 echo "Processed ", engine.eventsProcessed, " events" |
| 221 | 218 |
| 222 # cleanup | 219 # cleanup |
