aboutsummaryrefslogtreecommitdiff
path: root/src/vulkan_utils.hpp
Commit message (Collapse)AuthorAgeFilesLines
* added textures for the hardware renderervimene2026-01-131-5/+9
| | | | | | | | | | | | | | | | | - removed "using" directive in .hpp - reverse order of arguments for quaternion rotation, i.e. q.rot(v) instead of v.rot(q), where q is a quaterinon and v a vector - pass the inverse of the view matrix to render_and_present_frame, to allow light calculation in shaders (we used to just pass the matrix of the quaternion of the transformation, i.e. discard scaling and translations) - added another mesh and texture (viking_room) for testing purposes - added transparent background option - added Quaternion::look_towards(), which is the equivalent of Matrix4::look_at() but only for rotations - various improvement to .obj parsing - load texture coordinates from .obj file - merged duplicate vertices in Mesh::linearize_indices()
* starting to merge vulkan with the enginevimene2025-12-291-10/+6
| | | | | | | | | | | | | - refactored scene_main to be able to share code between software and hardware renderers, while still sharing code between terminal software renderer and graphical software renderer - made the hardware renderer use scene objects vertices and transforms, instead of hardcoded ones - made the hardware renderer use the scene's camera - made .obj parser create Vector3 instead of Vector4, which didn't made sense - removed unnecessary std:: - lots of small changes
* added depth buffervimene2025-12-281-2/+2
|
* finished adding texturesvimene2025-12-271-1/+8
|
* added uniform buffers, small tweaksvimene2025-12-241-0/+6
| | | | | | | | | | - fixed aspect ratio being the inverse of what it's supposed to be - use std::chrono::high_resolution_clock instead of system_clock - convert ellapsed time to float representing seconds - renamed engine::math::Matrix4::projection to perspective - use [0,1] instead of [-1,1] for the range of z values, to be aligned with vulkan - added engine::math::Matrix4::{look_at,transpose}
* added {vertex,index} buffersvimene2025-12-221-1/+41
|
* create present queue and lots of code refactoringvimene2025-12-201-0/+24
- wait idle on present queue instead of graphics queue - assume only one bit of VkDebugUtilsMessageSeverityFlagBitsEXT is set; it seems to be always the case - rename every _create_info to _ci - print less debug information, by reducing debug output to warning and up, and by removing printing of all of devices properties - make as much blocks and lambdas as possible to contain every variable to a small scope - use designator lists everywhere - rename device to physical_device, and logical_device to device