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