aboutsummaryrefslogtreecommitdiff
path: root/src/fb
Commit message (Collapse)AuthorAgeFilesLines
* added textures for the hardware renderervimene2026-01-134-15/+11
| | | | | | | | | | | | | | | | | - 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()
* fixed wrong header guardvimene2026-01-122-6/+6
|
* added back the software renderervulkanvimene2025-12-311-3/+9
|
* renamed .h to .hppvimene2025-12-104-14/+14
|
* various improvementsvimene2025-01-022-11/+25
| | | | | | | | | | - 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-312-2/+2
| | | | | 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-315-76/+55
| | | | | | | | | | | - 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-111-0/+1
| | | | | | | | - 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
* fixed perspective, added planevimene2023-12-091-2/+4
|
* fixed perspective calculationsvimene2023-12-092-12/+3
|
* added renderer, improved various thingsvimene2023-12-055-241/+37
| | | | | | | - 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-034-12/+12
|
* added namespaces, made every function in engine.cpp static and added ↵vimene2023-11-264-32/+44
| | | | warnings' flags
* add options to choose render modevimene2023-11-231-1/+5
|
* code refactoringvimene2023-11-224-0/+362