aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* started working on implementing texturesvimene2025-12-264-19/+174
|
* added STBI libraryvimene2025-12-263-10/+7
|
* transpose matrix representationvimene2025-12-263-55/+52
| | | | | map values[i * 4 + j] to values[i + j * 4], meaning that values[1] is now the second line, first column, instead of first line, second column
* added uniform buffers, small tweaksvimene2025-12-246-17/+188
| | | | | | | | | | - 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-223-30/+289
|
* added in-flight frames, window resizing and minimizationvimene2025-12-211-211/+336
| | | | | | | | | | | - made every swapchain image have it's own render finished semaphore - renamed draw fence to in-flight fence (fence_draw to fences_in_flight) - made present complete semaphores and in-flight fences "per in-flight frames", meaning that if we have at most 2 in-flight frames, we use 2 present complete semaphores and 2 in-flight fences - recreate swapchain when needed - more refactoring - added fps counter
* still more code refactoringvimene2025-12-201-97/+85
|
* added scores to improve physical device selection, and more refactoringvimene2025-12-201-88/+146
| | | | see e3a465293b for details about refactoring
* create present queue and lots of code refactoringvimene2025-12-203-701/+727
| | | | | | | | | | | | | - 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
* added rendering and presentationvimene2025-12-201-75/+172
|
* added command buffers and their recordsvimene2025-12-181-12/+141
|
* added basic graphics pipeline and shadersvimene2025-12-183-21/+281
|
* started working on presentationvimene2025-12-171-171/+371
| | | | | | | | - fixed missing error code checks - use physical device features instead of setting everything to false - prefer a single queue if it can do graphics and presentation, instead of just picking the first graphics queue and the first presentation queue
* added logical devices and queuesvimene2025-12-151-14/+119
|
* added physical device selectionvimene2025-12-131-5/+166
|
* removed old header filevimene2025-12-131-1/+1
|
* check if file exists in obj_parser.cppvimene2025-12-131-0/+4
|
* renamed .h to .hppvimene2025-12-1027-91/+91
|
* improved autotools usagevimene2025-12-102-5/+43
|
* added validation layers to vulkanvimene2025-06-261-9/+119
|
* started working on vulkan supportvimene2025-01-161-94/+53
|
* improved keyboard and mouse controlsvimene2025-01-033-145/+208
|
* improved keyboard and mouse controlsvimene2025-01-035-53/+125
|
* various improvementsvimene2025-01-0214-116/+274
| | | | | | | | | | - cleaned up the computation of the camera's matrix - changed VertexData to being a struct which transmit data between the "vertex shader" and the "fragment shader" - started working on keyboard and mouse controls - added fov (field of view) - changed quaternion to euler angles conversion, from zyx to zxy - fixed computations of z coordinates in triangle rendering - improved naming in the triangle rasterizer
* added brightness to terminal frame buffersvimene2024-12-311-5/+11
|
* fixed parse_object by implementing custom parsersvimene2024-12-314-31/+94
| | | | | std::setlocale also change the parsing of floats with std::stof. It is also more future proof to use a parser specific to Wavefront .obj files.
* various improvementsvimene2024-12-3134-786/+823
| | | | | | | | | | | - added quaternions and rewrote all rotations to use them - added transforms to put all object transforms in a single place - added Wavefront .obj file parser - removed frame buffer's abstract class - improved vectors, matrices, triangles, vertices and vertices data by putting all code in header file - added vector's operations - changed from NULL to nullptr - miscellaneous improvements
* improved mesh definitionvimene2023-12-1114-242/+235
| | | | | | | | - In the context of mesh definition, splited indices into vertex index, normal index and vertex data index to be able to specify different normals and vertex data for different faces using the same vertex
* renamed tri{_deriv,}_vertex.{h,cpp} to tri{_deriv,}.{h,cpp}vimene2023-12-114-0/+0
|
* fixed perspective, added planevimene2023-12-098-73/+75
|
* fixed perspective calculationsvimene2023-12-0914-393/+467
|
* fixed missing `help' option in usagevimene2023-12-051-1/+1
|
* added renderer, improved various thingsvimene2023-12-0512-272/+264
| | | | | | | - Added renderer to unify frame buffers - Added FrameBuffer class as a parent for frame buffers' classes - Improved formatting in Makefile.am - Added const modifier in Matrix4's methods
* renamed MathVector{2,3,4} to Vector{2,3,4} and Mat4 to Matrix4 in engine::mathvimene2023-12-0317-188/+188
|
* renamed math_vector.{h,cpp} to vector.{h,cpp}vimene2023-12-032-0/+0
|
* fixed a small bugvimene2023-11-281-2/+2
|
* added scenes, camera and meshesvimene2023-11-2610-117/+168
|
* added namespaces, made every function in engine.cpp static and added ↵vimene2023-11-2617-80/+133
| | | | warnings' flags
* improved matrices, cube building and command parsingvimene2023-11-265-163/+124
|
* added matricesvimene2023-11-263-39/+136
|
* add options to choose render modevimene2023-11-232-255/+172
|
* improve SDL integrationvimene2023-11-231-12/+0
|
* code refactoringvimene2023-11-2215-60/+60
|
* removed all generated filesvimene2023-11-211-75/+0
|
* cleanupsvimene2023-11-211-19/+1
|
* renamed binary from 'main' to 'engine'vimene2023-11-211-0/+0
|
* started working on windows supportvimene2023-11-212-21/+32
|
* improved file structure for autotoolsvimene2023-11-206-712/+1
|
* started switching to autotoolsvimene2023-11-1920-0/+2403