summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-27refa Remove redundant uniform buffer updatesFrederico Linhares
* src/vk/graphics_pipeline_3d.cpp: Remove redundant uniform buffer updates * src/vk/renderer.cpp: Update world colors just once for each frame.
2023-09-15feat Create skeletal meshFrederico Linhares
2023-07-18fixt Invert drawing order for spritesFrederico Linhares
* src/vk/graphics_pipeline_2d_solid.cpp: Drawing sprites with a higher z-index on top is more intuitive than the opposite.
2023-07-08fixt Use correct value for alpha when decoding QOIFrederico Linhares
* src/vk/qoi.cpp: Only the initial pixel must use 255 for alpha. The index array must use 0 for alpha.
2023-06-28feat Create an interface to read binary filesFrederico Linhares
* test/meshes/cube.cgmesh: Store data using Big-Endian order.
2023-06-22feat Implement an algorithm to decode QOIFrederico Linhares
* src/vk/qoi.cpp: Implement an algorithm to decode QOI. This eliminates an unnecessary dependency as the engine does not need to encode QOI files, only decode them.
2023-06-17feat Add z index when rendering spritesFrederico Linhares
* src/sprite.cpp: Add a new parameter to sprites to define the z index of the image being rendered. * src/vk/graphics_pipeline_2d_solid.cpp: Sort may not be the most efficient algorithm, but it is easier to implement. If this code becomes slow, it can be optimized with little or no changes to the Ruby interface.
2023-06-14fixt Offset for 2D wired fragment shaderFrederico Linhares
* glsl/shader_2d_wired.frag.glsl: GLSL requires that I declare offsets explicitly. I can not use a dummy variable as an offset.
2023-05-31fixt Remove YAML from engineFrederico Linhares
* README.markdown: Remove a dependency that no longer exists and add one that was missing. * src/candy_gear.cpp: Remove YAML from the engine as mruby already provides it. * src/sprite_implementation.cpp, src/sprite_implementation.hpp: Remove unused code.
2023-05-30feat Create 2D animationsFrederico Linhares
* Rakefile: Add subfolders to the lib directory. * lib/animation/discrete.rb: Create a class for discrete animations. This class needs tests. * lib/animation/frame_2d.rb: Create a 2D frame to be used with discrete animations
2023-05-29refa Sprite receives floats instead of Vector4DFrederico Linhares
* lib/menu.rb: Uses the new interface for Sprite. * src/sprite.cpp (Sprite#new, Sprite#draw): By requiring a Vector4D as an argument, sometimes the code calling a Sprite method needs to instantiate a Vector4D and use the stance once. The functions now require four float variables to eliminate this unnecessary instantiation.
2023-05-24feat Recreate the MenuFrederico Linhares
2023-04-24fixt Improve text renderingFrederico Linhares
2023-04-20feat Create text rendering systemFrederico Linhares
2023-01-28docu Update READMEFrederico Linhares
2023-01-12refa Use Push constants for 3D modelsFrederico Linhares
2023-01-06refa Use Push constants for sprites and rectanglesFrederico Linhares
2022-12-29refa Use QOI image format for texturesFrederico Linhares
2022-12-23feat Add size to projections in 2D viewsFrederico Linhares
2022-12-23refa Merge Rectangle into Vector4DFrederico Linhares
2022-12-15feat Add new methods to Rectangle and Vector4DFrederico Linhares
2022-11-09feat create method Rectangle#drawFrederico Linhares
2022-10-31styl Remove useless commented codeFrederico Linhares
2022-10-27feat Create rectanglesFrederico Linhares
2022-10-21feat Skip frame if image is not available.Frederico Linhares
2022-10-19feat Create workersFrederico Linhares
2022-10-19buil Use C++20 instead of C++17Frederico Linhares
2022-10-10feat Move configuration from YAML file to gameFrederico Linhares
2022-10-07feat Add new getters and setters to Vector3DFrederico Linhares
2022-10-05buil Configure compilatio for MinGWFrederico Linhares
2022-10-04buil Use SDL_MAIN_HANDLED to compile engine on WindowsFrederico Linhares
2022-09-30refa Use static linking for mrubyFrederico Linhares
2022-09-29feat Allow multiple textures to be used with the same meshFrederico Linhares
2022-09-23refa Use Vulkan coordinates instead of OpenGLFrederico Linhares
2022-09-21feat Create View2DFrederico Linhares
2022-09-21refa All views in use shares the same descriptor poolFrederico Linhares
2022-09-16feat Create ViewFrederico Linhares
2022-09-08feat Create Vector4DFrederico Linhares
2022-09-08styl Improve legibility of rotation_3d and vector_3dFrederico Linhares
2022-09-08refa Move layouts away from graphics pipelinesFrederico Linhares
2022-09-05refa Move render passes away from graphics pipelinesFrederico Linhares
2022-08-31feat Add projection to 2D graphics pipelineFrederico Linhares
2022-08-30feat Create 2d graphics pipelineFrederico Linhares
2022-08-22feat Make camera and model instance more abstractFrederico Linhares
* src/camera.cpp src/camera.hpp: Remove the camera as Vector3D and Rotation3D are going to replace it. * src/model.cpp: Add draw command as instances do not exist anymore. * src/model/instance.cpp src/model/instance.hpp: Remove the instance as Vector3D and Rotation3D are going to replace it.
2022-08-17feat Simplify the 3d model structureFrederico Linhares
2022-08-16feat Create directional lightFrederico Linhares
2022-08-08refa Replace SDL timer with C++ timerFrederico Linhares
2022-08-03fixt Increase view projection distanceFrederico Linhares
2022-08-03feat Create a log systemFrederico Linhares
2022-08-02refa Use Vulkan for graphicsFrederico Linhares
This is a partial refactory. Some functionalities implemented in SDL were removed and need reimplementation.