summaryrefslogtreecommitdiff
path: root/src/vk
AgeCommit message (Collapse)Author
2024-04-16refa Simplify code for rendering 3d objectsFrederico Linhares
2024-03-23fixt Make skeletal mesh work properlyFrederico Linhares
2024-03-23refa Use quaternion for orientationFrederico Linhares
2024-01-09fixt Remove another bug when computing text sizeFrederico Linhares
2024-01-06buil Use NSIS to create Windows installerFrederico 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-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-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-04-24fixt Improve text renderingFrederico Linhares
2023-04-20feat Create text rendering systemFrederico 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-11-09feat create method Rectangle#drawFrederico Linhares
2022-10-21feat Skip frame if image is not available.Frederico Linhares
2022-10-10feat Move configuration from YAML file to gameFrederico Linhares
2022-10-04buil Use SDL_MAIN_HANDLED to compile engine on WindowsFrederico 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-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-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.