<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Computer Graphics on Jar of Light</title><link>https://ali-rj.pages.dev/tags/computer-graphics/</link><description>Recent content in Computer Graphics on Jar of Light</description><generator>Hugo -- 0.155.0</generator><language>en-us</language><lastBuildDate>Fri, 05 Sep 2025 05:21:43 +0330</lastBuildDate><atom:link href="https://ali-rj.pages.dev/tags/computer-graphics/index.xml" rel="self" type="application/rss+xml"/><item><title>Gandom Rasterizer</title><link>https://ali-rj.pages.dev/posts/gandom-rasterizer/</link><pubDate>Fri, 05 Sep 2025 05:21:43 +0330</pubDate><guid>https://ali-rj.pages.dev/posts/gandom-rasterizer/</guid><description>&lt;p&gt;Gandom is a software rasterizer that mimics algorithms which are behind graphics APIs and even what are implemented physically on GPU dies.
In this project, I have implemented the processes used by graphics APIs
and GPUs to render and synthesize an image for display,
implemented entirely in code running on a CPU. For the performance issues
I leveraged SIMD instructions (AVX2) to improve its performance.
I implemented key algorithms of the graphics pipeline,
such as triangle clipping, back-face culling, and scanline rasterization.&lt;/p&gt;</description></item><item><title>Anahita Render Engine</title><link>https://ali-rj.pages.dev/posts/anahita-render-engine/</link><pubDate>Wed, 28 Jun 2023 05:43:23 +0330</pubDate><guid>https://ali-rj.pages.dev/posts/anahita-render-engine/</guid><description>&lt;p&gt;This is a renderer that I have developed for the bachelor&amp;rsquo;s degree project. In the beginning, I used the Blinn-Phong rendering model for it and now I am working on implementing a physically-based rendering model. For controlling the objects in the scene from light sources to complicated mesh objects and for the sake of debugging, I also implemented a GUI using Dear ImGui.&lt;/p&gt;
&lt;div style="text-align: center;"&gt;
&lt;img src="https://ali-rj.pages.dev/images/anahita/anahita-sample0.png" alt="sponza" style="width: 100%;"&gt;
&lt;/div&gt;
&lt;p&gt;Here you can load meshes to the scene through GUI that under the hood uses the Assimp library and besides that, you can control each object&amp;rsquo;s attributes. There is a scene graph that controls all objects on the scene and in addition to these, you can add and configure different sources of light on the scene. Unfortunately, the shaders are hard-coded for now, but I plan to take care of that too in the future. Below the GUI there is a log widget that shows warnings errors and all other sorts of messages that you may need.&lt;/p&gt;</description></item></channel></rss>