<feed xmlns='http://www.w3.org/2005/Atom'>
<title>engine.git/src, branch vulkan</title>
<subtitle>Small graphics engine.</subtitle>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/'/>
<entry>
<title>added back the software renderer</title>
<updated>2025-12-31T17:34:54+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-31T17:34:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=f9c6bd77af826423fba4aeec86b227ccd7102b4e'/>
<id>f9c6bd77af826423fba4aeec86b227ccd7102b4e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>starting to merge vulkan with the engine</title>
<updated>2025-12-29T20:21:09+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-29T20:21:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=8ab4780f134c33a9e11ac0fe0bd866e17d3ee650'/>
<id>8ab4780f134c33a9e11ac0fe0bd866e17d3ee650</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>added depth buffer</title>
<updated>2025-12-28T16:34:59+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-28T16:34:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=dd187445972989dc44428e8cf185964da9e5c0c4'/>
<id>dd187445972989dc44428e8cf185964da9e5c0c4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>finished adding textures</title>
<updated>2025-12-27T19:09:53+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-27T19:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=8874f4f4c6f95c2db7654c769e7747b3e3cf863a'/>
<id>8874f4f4c6f95c2db7654c769e7747b3e3cf863a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>started working on implementing textures</title>
<updated>2025-12-26T21:39:08+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-26T21:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=bdb86fa1d6f1d2f11e05a931db7597310b1fe9b5'/>
<id>bdb86fa1d6f1d2f11e05a931db7597310b1fe9b5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added STBI library</title>
<updated>2025-12-26T14:46:19+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-26T14:46:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=c0eeccb889c8ae969bbb6e44e87bc309ea5f146f'/>
<id>c0eeccb889c8ae969bbb6e44e87bc309ea5f146f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>transpose matrix representation</title>
<updated>2025-12-25T23:50:56+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-25T23:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=b21d32a0dd906404b0cdf7d6edf395ba63adba8b'/>
<id>b21d32a0dd906404b0cdf7d6edf395ba63adba8b</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>added uniform buffers, small tweaks</title>
<updated>2025-12-24T00:38:45+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-24T00:38:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=00370c21f107ff2a320fbdef170e24a8b5cda92a'/>
<id>00370c21f107ff2a320fbdef170e24a8b5cda92a</id>
<content type='text'>
- 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}
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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}
</pre>
</div>
</content>
</entry>
<entry>
<title>added {vertex,index} buffers</title>
<updated>2025-12-22T22:09:30+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-22T22:09:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=236b6a3160cd3d8c217a966aaa2795c779c13a91'/>
<id>236b6a3160cd3d8c217a966aaa2795c779c13a91</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added in-flight frames, window resizing and minimization</title>
<updated>2025-12-21T20:02:30+00:00</updated>
<author>
<name>vimene</name>
<email>vincent.menegaux@gmail.com</email>
</author>
<published>2025-12-21T20:02:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vimene.fr/engine.git/commit/?id=a90d440e5e02712a9718d3cb30fcc31687439893'/>
<id>a90d440e5e02712a9718d3cb30fcc31687439893</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
</feed>
