diff options
author | Frederico Linhares <fred@linhares.blue> | 2022-08-02 16:52:33 -0300 |
---|---|---|
committer | Frederico Linhares <fred@linhares.blue> | 2022-08-02 16:52:33 -0300 |
commit | f88712a929ee3543f8e1d45c6071f676df339cdb (patch) | |
tree | ad4c9272ead49eb205b1c655bb1d878654863e26 /test/src/main.rb | |
parent | 9c6a166fa2b00a1ab177d9e9216a839b87e36ca7 (diff) |
refa Use Vulkan for graphics
This is a partial refactory. Some functionalities implemented in
SDL were removed and need reimplementation.
Diffstat (limited to 'test/src/main.rb')
-rw-r--r-- | test/src/main.rb | 64 |
1 files changed, 60 insertions, 4 deletions
diff --git a/test/src/main.rb b/test/src/main.rb index 9e37faa..31affb8 100644 --- a/test/src/main.rb +++ b/test/src/main.rb @@ -12,14 +12,70 @@ # See the License for the specific language governing permissions and # limitations under the License. +ROTATION_SPEED = Math::PI/45; +TRANSLATION_SPEED = 0.5; + def init() - $mode = Mode::Collision.new(); + $texture = CandyGear::Texture.from_image("textures/color_texture.png"); + $model = CandyGear::Model.new("models/cube.cgmodel", $texture); + + $instances = [ + CandyGear::Model::Instance.new( + $model, + 5.0, 0.0, 0.0, + 0.0, 0.0, 0.0), + CandyGear::Model::Instance.new( + $model, + -5.0, 0.0, 0.0, + 0.0, 0.0, 0.0), + CandyGear::Model::Instance.new( + $model, + 0.0, 5.0, 0.0, + 0.0, 0.0, 0.0), + CandyGear::Model::Instance.new( + $model, + 0.0, -5.0, 0.0, + 0.0, 0.0, 0.0), + CandyGear::Model::Instance.new( + $model, + 0.0, 0.0, 5.0, + 0.0, 0.0, 0.0), + CandyGear::Model::Instance.new( + $model, + 0.0, 0.0, -5.0, + 0.0, 0.0, 0.0) + ]; + + $camera = CandyGear::Camera.new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + $camera.use(); end -def key_down(key) = $mode.controller.key_down(key); +def key_down(key) + case key + when CandyGear::Key::I + $camera.rotate(ROTATION_SPEED, 0.0, 0.0); + when CandyGear::Key::K + $camera.rotate(-ROTATION_SPEED, 0.0, 0.0); + when CandyGear::Key::J + $camera.rotate(0.0, ROTATION_SPEED, 0.0); + when CandyGear::Key::L + $camera.rotate(0.0, -ROTATION_SPEED, 0.0); + when CandyGear::Key::E + $camera.translate_by_rotation(0.0, 0.0, -TRANSLATION_SPEED); + when CandyGear::Key::D + $camera.translate_by_rotation(0.0, 0.0, TRANSLATION_SPEED); + when CandyGear::Key::S + $camera.translate_by_rotation(-TRANSLATION_SPEED, 0.0, 0.0); + when CandyGear::Key::F + $camera.translate_by_rotation(TRANSLATION_SPEED, 0.0, 0.0); + end +end -def key_up(key) = $mode.controller.key_up(key); +def key_up(key) +end def quit() = CandyGear.quit(); -def tick() = $mode.tick(); +def tick() + $instances.each {|i| i.draw();}; +end |