Mercurial > games > semicongine
comparison examples/E03_hello_cube.nim @ 664:c33c8e156e3e
did: update examples to use new API for scene + scene globals
| author | Sam <sam@basx.dev> |
|---|---|
| date | Mon, 08 May 2023 21:21:49 +0700 |
| parents | 3f13de7d8ec4 |
| children | e85f54b88afb |
comparison
equal
deleted
inserted
replaced
| 663:af9ab61aa87e | 664:c33c8e156e3e |
|---|---|
| 74 uniforms=uniforms, | 74 uniforms=uniforms, |
| 75 outputs=fragOutput, | 75 outputs=fragOutput, |
| 76 main="color = vec4(outcolor, 1);" | 76 main="color = vec4(outcolor, 1);" |
| 77 ) | 77 ) |
| 78 myengine.setRenderer(myengine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode)) | 78 myengine.setRenderer(myengine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode)) |
| 79 var | 79 var cube = newScene("scene", newEntity("cube", newMesh(positions=cube_pos, indices=tris, colors=cube_color))) |
| 80 projection = initShaderGlobal("projection", Unit4f32) | 80 cube.addShaderGlobal("projection", Unit4f32) |
| 81 view = initShaderGlobal("view", Unit4f32) | 81 cube.addShaderGlobal("view", Unit4f32) |
| 82 model = initShaderGlobal("model", Unit4f32) | 82 cube.addShaderGlobal("model", Unit4f32) |
| 83 cube = newEntity("cube", newMesh(positions=cube_pos, indices=tris, colors=cube_color)) | |
| 84 cube.components.add projection | |
| 85 cube.components.add view | |
| 86 cube.components.add model | |
| 87 myengine.addScene(cube, vertexInput) | 83 myengine.addScene(cube, vertexInput) |
| 88 | 84 |
| 89 var t: float32 = cpuTime() | 85 var t: float32 = cpuTime() |
| 90 while myengine.updateInputs() == Running and not myengine.keyWasPressed(Escape): | 86 while myengine.updateInputs() == Running and not myengine.keyWasPressed(Escape): |
| 91 setValue[Mat4](model.value, translate3d(0'f32, 0'f32, 10'f32) * rotate3d(t, Yf32)) | 87 setShaderGlobal(cube, "model", translate3d(0'f32, 0'f32, 10'f32) * rotate3d(t, Yf32)) |
| 92 setValue[Mat4]( | 88 setShaderGlobal(cube, "projection", |
| 93 projection.value, | |
| 94 perspective( | 89 perspective( |
| 95 float32(PI / 4), | 90 float32(PI / 4), |
| 96 float32(myengine.getWindow().size[0]) / float32(myengine.getWindow().size[0]), | 91 float32(myengine.getWindow().size[0]) / float32(myengine.getWindow().size[0]), |
| 97 0.1'f32, | 92 0.1'f32, |
| 98 100'f32 | 93 100'f32 |
