summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2022-05-26fixt Remove duplicated error messageFrederico Linhares
2022-05-26test Collision and alignment detectionFrederico Linhares
2022-05-26fixt Rect#align_horizontally?Frederico Linhares
* src/rect (Rect#align_horizontally?): The method was pointing to the wrong C function.
2022-05-26test Create tests for the engineFrederico Linhares
2022-05-23buil Create a task that generates a tar.gz packageFrederico Linhares
* Rakefile: Create a task to generate a tar.gz package and add DESTDIR environment variable to the install task. Both changes help when generating packages for Linux distributions.
2022-05-23feat Subdivide collision detectionFrederico Linhares
* src/rect.c (cg_cRect_align_vertically, cg_cRect_align_horizontally): Collision detection consists of two different algorithms that detect if two boxes are aligned vertically and horizontally. Now those two algorithms can be used separately.