<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>lisyarus blog</title>
		<link>https://lisyarus.github.io/blog</link>
		<description>I write stuff about math, simulation, graphics, gamedev, and programming</description>
		<language>en-us</language>
		<atom:link href="https://lisyarus.github.io/blog/feed.xml" rel="self" type="application/rss+xml" />

		<item>
			<title>Making your own programming language is easier than you think (but also harder)</title>
			<pubDate>06 May 2026 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/making-your-own-programming-language.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/making-your-own-programming-language.html</guid>
			<description></description>
		</item>

		<item>
			<title>It's OK to compare floating-points for equality</title>
			<pubDate>14 Apr 2026 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/its-ok-to-compare-floating-points-for-equality.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/its-ok-to-compare-floating-points-for-equality.html</guid>
			<description></description>
		</item>
		
		<item>
			<title>A silly diffuse shading model</title>
			<pubDate>31 Dec 2025 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/a-silly-diffuse-shading-model.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/a-silly-diffuse-shading-model.html</guid>
			<description></description>
		</item>

		<item>
			<title>Particle Life simulation in browser using WebGPU</title>
			<pubDate>25 May 2025 12:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/particle-life-simulation-in-browser-using-webgpu.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/particle-life-simulation-in-browser-using-webgpu.html</guid>
			<description></description>
		</item>

		<item>
			<title>Estimating variance reduction in importance sampling</title>
			<pubDate>16 Mar 2025 12:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/estimating-variance-reduction-in-importance-sampling.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/estimating-variance-reduction-in-importance-sampling.html</guid>
			<description></description>
		</item>

		<item>
			<title>Simulating water over terrain</title>
			<pubDate>04 Feb 2025 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/simulating-water-over-terrain.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/simulating-water-over-terrain.html</guid>
			<description></description>
		</item>

		<item>
			<title>Exploring ways to mipmap alpha-tested textures</title>
			<pubDate>05 Jan 2025 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/exploring-ways-to-mipmap-alpha-tested-textures.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/exploring-ways-to-mipmap-alpha-tested-textures.html</guid>
			<description></description>
		</item>

		<item>
			<title>Implementing a tiny CPU rasterizer | Part 6: Adding some depth</title>
			<pubDate>11 Nov 2024 11:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-6.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-6.html</guid>
			<description></description>
		</item>

		<item>
			<title>Implementing a tiny CPU rasterizer | Part 5: Fixing issues with 3D</title>
			<pubDate>08 Nov 2024 11:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-5.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-5.html</guid>
			<description></description>
		</item>

		<item>
			<title>Implementing a tiny CPU rasterizer | Part 4: Changing perspective</title>
			<pubDate>08 Nov 2024 11:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-4.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-4.html</guid>
			<description></description>
		</item>

		<item>
			<title>Implementing a tiny CPU rasterizer | Part 3: Interpolating colors</title>
			<pubDate>01 Nov 2024 11:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-3.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-3.html</guid>
			<description></description>
		</item>

		<item>
			<title>Implementing a tiny CPU rasterizer | Part 2: Drawing a triangle</title>
			<pubDate>31 Oct 2024 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-2.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-2.html</guid>
			<description></description>
		</item>

		<item>
			<title>Implementing a tiny CPU rasterizer | Part 1: Clearing the screen</title>
			<pubDate>30 Oct 2024 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-1.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-1.html</guid>
			<description></description>
		</item>

		<item>
			<title>(Yet another) Introduction to quaternions</title>
			<pubDate>26 Oct 2024 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/introduction-to-quaternions.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/introduction-to-quaternions.html</guid>
			<description></description>
		</item>

		<item>
			<title>Transforming colors with matrices</title>
			<pubDate>10 Oct 2024 12:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/transforming-colors-with-matrices.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/transforming-colors-with-matrices.html</guid>
			<description></description>
		</item>

		<item>
			<title>Demystifying multiple importance sampling</title>
			<pubDate>25 Apr 2024 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/multiple-importance-sampling.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/multiple-importance-sampling.html</guid>
			<description></description>
		</item>

		<item>
			<title>3D shape matching with quaternions</title>
			<pubDate>26 Dec 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/3d-shape-matching-with-quaternions.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/3d-shape-matching-with-quaternions.html</guid>
			<description></description>
		</item>

		<item>
			<title>Computing forces in a system of beams, properly</title>
			<pubDate>29 Oct 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/structural-mechanics-2.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/structural-mechanics-2.html</guid>
			<description></description>
		</item>

		<item>
			<title>Computing forces in a system of beams</title>
			<pubDate>15 Oct 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/structural-mechanics.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/structural-mechanics.html</guid>
			<description></description>
		</item>

		<item>
			<title>So, you want to make a game engine</title>
			<pubDate>15 Sep 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/so-you-want-to-make-a-game-engine.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/so-you-want-to-make-a-game-engine.html</guid>
			<description></description>
		</item>

		<item>
			<title>Quaternion derivatives</title>
			<pubDate>13 Sep 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/quaternion-derivatives.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/quaternion-derivatives.html</guid>
			<description></description>
		</item>

		<item>
			<title>Complex numbers, Wirtinger derivatives and 2D inverse kinematics</title>
			<pubDate>03 Aug 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/complex-derivatives.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/complex-derivatives.html</guid>
			<description></description>
		</item>

		<item>
			<title>Porting my C++ game engine to Android</title>
			<pubDate>19 Jul 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/porting-for-android.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/porting-for-android.html</guid>
			<description></description>
		</item>

		<item>
			<title>Skeletal animation in glTF</title>
			<pubDate>03 Jul 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/gltf-animation.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/gltf-animation.html</guid>
			<description></description>
		</item>

		<item>
			<title>Uniqueness of matrix inverses</title>
			<pubDate>21 Jun 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/matrix-inverses.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/matrix-inverses.html</guid>
			<description></description>
		</item>

		<item>
			<title>Making a 2D soft-body physics engine</title>
			<pubDate>10 May 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/soft-body-physics.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/soft-body-physics.html</guid>
			<description></description>
		</item>

		<item>
			<title>How not to design a UI library</title>
			<pubDate>11 Mar 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/how-not-to-ui.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/how-not-to-ui.html</guid>
			<description></description>
		</item>

		<item>
			<title>Two-pass Gaussian blur coeffifients generator</title>
			<pubDate>24 Feb 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/blur-coefficients-generator.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/blur-coefficients-generator.html</guid>
			<description></description>
		</item>

		<item>
			<title>My favourite animation trick: exponential smoothing</title>
			<pubDate>21 Feb 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/exponential-smoothing.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/exponential-smoothing.html</guid>
			<description></description>
		</item>

		<item>
			<title>Super simple generic animation controller in C++</title>
			<pubDate>17 Feb 2023 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/animation-controller.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/animation-controller.html</guid>
			<description></description>
		</item>

		<item>
			<title>Building a quadtree in 22 lines of code</title>
			<pubDate>21 Dec 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/building-a-quadtree.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/building-a-quadtree.html</guid>
			<description></description>
		</item>

		<item>
			<title>The quest for perfect collisions</title>
			<pubDate>25 Oct 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/perfect-collisions.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/perfect-collisions.html</guid>
			<description></description>
		</item>

		<item>
			<title>C++ audio mixing library design</title>
			<pubDate>15 Oct 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/audio-mixing.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/audio-mixing.html</guid>
			<description></description>
		</item>

		<item>
			<title>C++ behavior trees library design</title>
			<pubDate>22 Aug 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/behavior-trees.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/behavior-trees.html</guid>
			<description></description>
		</item>

		<item>
			<title>A stupidly simple spatial data structure</title>
			<pubDate>16 Aug 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/expanding-nd-array.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/expanding-nd-array.html</guid>
			<description></description>
		</item>

		<item>
			<title>A simple texture atlas packing algorithm</title>
			<pubDate>06 Aug 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/texture-packing.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/texture-packing.html</guid>
			<description></description>
		</item>

		<item>
			<title>A better point light attenuation function</title>
			<pubDate>30 Jul 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/point-light-attenuation.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/point-light-attenuation.html</guid>
			<description></description>
		</item>

		<item>
			<title>Compute shaders in graphics: Gaussian blur</title>
			<pubDate>21 Apr 2022 18:00:00 GMT</pubDate>
			<link>https://lisyarus.github.io/blog/posts/compute-blur.html</link>
			<guid isPermaLink="true">https://lisyarus.github.io/blog/posts/compute-blur.html</guid>
			<description></description>
		</item>

	</channel>

</rss>