From f88712a929ee3543f8e1d45c6071f676df339cdb Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Tue, 2 Aug 2022 16:52:33 -0300 Subject: refa Use Vulkan for graphics This is a partial refactory. Some functionalities implemented in SDL were removed and need reimplementation. --- test/src/main.rb | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 4 deletions(-) (limited to 'test/src/main.rb') 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 -- cgit v1.2.3