| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This commit add mipmaps, but for now, mipmaps are generated on the gpu
at runtime. We should generate them in advance.
- added mipmaps for the hardware renderer
- renamed stb_image.c to stb_image.cpp
- add compiler flag to stb_image.cpp to prevent warning
- added pipe notation for various objects to have all clipping functions
be left to right. We need this for the time being because dot notation
would considerably complicate the current implementation
- small improvements
|
| |
|
|
|
|
|
|
| |
- unified terminal and graphical software renderer shaders
- added vertex shaders for software renderers
- removed VertexData
- moved shaders from frame buffers to their own class
- added FrameBufferConcept and ShadersConcept
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is still a lot of work needed to refactor it properly.
- use the Sutherland–Hodgman algorithm, with some minor changes
- made clipping more general, allowing clipping of any coordinate,
before and after division by w
- compute the z coordinate only at the fragment stage instead of each
time clipping creates / moves a vertex, in addition to the fragment
stage
- added VectorCoords to choose at compile-time different coordinates
based on a template argument
- added transpose struct to allow shuffling of vectors coordinates
- added math::utils::lerp which interpolate linearly a float
- added Vector{2,3,4}::map() which maps a vector from one range to
another
- added template parameter to DerivedVertex (and therefore
TriangleDerived) to allow choosing which dimension to use
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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()
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|