<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Split-E technical blog</title>
    <link>https://split-e.net/blog/</link>
    <atom:link href="https://split-e.net/blog/feed.xml" rel="self" type="application/rss+xml" />
    <description>Technical articles from Split-E on rendering, shader systems, GPU work and the SETech engine, written by the people who build it.</description>
    <language>en</language>
    <lastBuildDate>Thu, 24 Sep 2026 00:00:00 +0000</lastBuildDate>
    <item>
      <title>From wavelengths to pixels: spectral rendering in SETech</title>
      <link>https://split-e.net/blog/spectral-light-transport/</link>
      <guid isPermaLink="true">https://split-e.net/blog/spectral-light-transport/</guid>
      <pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate>
      <author>selmously@split-e.net (Shady El Mously)</author>
      <description>The physics behind dispersion, diffraction and thin-film interference, and the shader passes that bring eight wavelength bands to the screen.</description>
    </item>
    <item>
      <title>Every sector builds alone: streaming a walkable city from live OpenStreetMap</title>
      <link>https://split-e.net/blog/streaming-live-openstreetmap/</link>
      <guid isPermaLink="true">https://split-e.net/blog/streaming-live-openstreetmap/</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate>
      <author>selmously@split-e.net (Shady El Mously)</author>
      <description>How SETech streams worlds by sector, and how World Alone builds each sector from live OpenStreetMap data so neighbours agree without ever seeing each other.</description>
    </item>
    <item>
      <title>Describe a class once: C++ reflection, AngelScript bindings and an engine that AI agents can drive</title>
      <link>https://split-e.net/blog/reflection-angelscript-ai-agents/</link>
      <guid isPermaLink="true">https://split-e.net/blog/reflection-angelscript-ai-agents/</guid>
      <pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate>
      <author>selmously@split-e.net (Shady El Mously)</author>
      <description>How one macro block per C++ class feeds SETech&#x27;s serializers, editor panels and AngelScript bindings, and why that same description is what an AI agent needs.</description>
    </item>
    <item>
      <title>We deleted our WebGL build: what compute shaders on WebGPU gave a C++ engine in the browser</title>
      <link>https://split-e.net/blog/webgl-to-webgpu-compute/</link>
      <guid isPermaLink="true">https://split-e.net/blog/webgl-to-webgpu-compute/</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate>
      <author>selmously@split-e.net (Shady El Mously)</author>
      <description>Why SETech dropped its WebGL backend, what compute shaders on WebGPU made possible in a single-threaded WebAssembly build, and the silent failures on the way.</description>
    </item>
    <item>
      <title>One declaration, two compilers: a reflection-free shader resource layout across five graphics APIs</title>
      <link>https://split-e.net/blog/shader-resource-layout/</link>
      <guid isPermaLink="true">https://split-e.net/blog/shader-resource-layout/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate>
      <author>selmously@split-e.net (Shady El Mously)</author>
      <description>How SETech declares shader resources, constant buffers and vertex layouts once, compiles them as HLSL and as C++, and binds on five APIs with no reflection.</description>
    </item>
  </channel>
</rss>
