summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-11feat Improve error message for BinaryReaderFrederico Linhares
2024-04-11fixt Prevent engine to break during initializationFrederico Linhares
2024-03-23fixt Make skeletal mesh work properlyFrederico Linhares
2024-03-23refa Use quaternion for orientationFrederico Linhares
2024-02-06fixt Compilaton for LinuxFrederico Linhares
* Rakefile: Remove Windows specific library
2024-01-11fixt Fix several bugs in the Windows installationFrederico Linhares
* Rakefile: Link against winsock2 * ruby_build_config.rb: Add sockets to the engine for on-line gaming. * src/core.cpp: Windows needs to read mrb files as binaries. * windows_installer.nsi: write uninstaller before listing files seems to cause bugs.
2024-01-09fixt Remove another bug when computing text sizeFrederico Linhares
2024-01-06buil Use NSIS to create Windows installerFrederico Linhares
2024-01-05feat Add event to menu selectionFrederico Linhares
2024-01-05buil Use a newer version for mrubyFrederico Linhares
2023-12-22fixt Z key mappingFrederico Linhares
2023-12-22fixt Remove bug when computing text sizeFrederico Linhares
* src/texture.cpp: Fix number of arguments. * src/vk/texture.cpp: Fix image size when last character have a negative bearing.
2023-11-09feat Allow model's texture to be changedFrederico Linhares
2023-10-30refa Move texture sampler to texture objectFrederico Linhares
2023-10-27feat Create an interface to change field of viewFrederico Linhares
2023-10-09feat Render sprite in a 3D positionFrederico Linhares
2023-10-02refa Remove redundant framebuffersFrederico Linhares
* src/vk/framebuffer.hpp: Move to this class all the framebuffers.
2023-09-30refa Remove redundant descriptor setsFrederico Linhares
* src/vk/light.hpp: Move to this class, the descriptor sets used for lighting by the 3D graphics pipelines.
2023-09-30refa Remove redundant render passFrederico Linhares
* src/vk/render_pass.hpp: Both 2D pipelines used identical render passes. I merged both in a single render pass. * src/vk/renderer.cpp (Renderer::draw): Use only one render pass for both 2D graphics pipelines.
2023-09-29refa Move all descriptor sets to a new classFrederico Linhares
* src/vk/descriptor_set_layout.hpp: Moving all descriptor sets in the same class makes it easier to identify code duplication. * src/vk/graphics_pipeline_2d_solid_layout.cpp, src/vk/graphics_pipeline_2d_wired_layout.cpp, src/vk/graphics_pipeline_3d_layout.cpp: Remove redundant descriptor set layouts.
2023-09-28refa Remove redundant descriptor set layoutFrederico Linhares
* src/vk/graphics_pipeline_3d_layout.cpp: skeletal_model and static_model were identical, therefore, redundant.
2023-09-28styl Rename ODO structures to UDOFrederico Linhares
* src/vk/uniform_data_object.hpp: I do not remember why I named these structs ODO. UDO makes more sense as they represents "uniform data objects."
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