Amin Aliari, 3D Programmer

I am currently a 3D Programmer at Ubisoft Toronto. Here, I mostly write about my hobby projects and topics related to computer graphics. More about me.
Face Editing Using Part‑Based Optimization of the Latent Space

Eurographics 2023 Publication

My latest work Face Editing Using Part‑Based Optimization of the Latent Space has just been released! We submitted this paper to Eurographics 2023, and it has been published in Computer Graphics Forum journal (Volume 42, Issue 2). In fact, this is my first publication ever. Therefore, and naturally, writing for the first time was very challenging for me, especially since I was a master’s student. However, I should mention that this work was done with some amazing collaborators that made my job much easier....

May 7, 2023 · 3 min
My Cornell(ish) Box!

Software Path Tracing on GPU

Source Code You can get the code from here. Any graphics programmer would, at some point, take a look at the fantastic Ray Tracing in One Weekend book and get motivated enough to roll out their own version. So…I did the same! However, mine took a little more than a “weekend” because I decided to implement it on GPU (DirectX 12, Vulkan) and also add features such as physically-based atmospheric scattering....

April 15, 2023 · 2 min
[Source Image](http://david.li/fluid)

Real-time Fluid Simulation on GPU.

Recently I was working on an SPH fluid simulation running on compute (DirectX 12, Vulkan). This was my final project for the Animation for Computer Games course at Concordia University. The source code, along with more details and videos.

October 1, 2022 · 1 min
[Bunny model by maxpanysh](https://sketchfab.com/3d-models/silent-ash-bc44272e8c1047148b33c913e659fcfa)

Adding Temporal Anti-Aliasing and God Rays to Mithra

I wanted to implement a proper anti-aliasing method for Mithra. There are different sources of aliasing. For instance, we have the classic jagged edges of triangles and other things such as specular ailising , which must be addressed, especially in a PBR setup. Anyways, I decided to implement UE4’s TAA method, which was introduced by Brian Karis a couple of years ago. God Rays When we implement TAA, we can see that the output converges in a couple of frames, and the edges would mostly look smooth and close to a super-sampled image....

May 9, 2021 · 2 min
Photo: The Last of Us Part II by Naughty Dog ©2019 Sony Interactive Entertainment.

Implementing and Optimizing a Motion Blur Effect

Source Code First things first! You can get the code from the link below. Follow the instructions to download the Sponza art assets. Source Code Recently, I was exploring different Motion Blur techniques being used in the industry. Now, I have decided to jot down the result of this research. At first glance, I found several per-pixel motion blur approaches, but they did not impress me. To explain why I was not satisfied with the results, I need to give you some context!...

October 25, 2020 · 6 min

Mithra Graphics Renderer

Mithra is a physically-based graphics renderer featuring many new and modern rendering techniques such as image-based lighting, shadow-mapping with tight projection, and more. I have also proposed and defended this renderer as my B.Sc. project at Amirkabir University of Technology (Tehran Polytechnic). This is a showcase of some of its main features. Hopefully, in the near future, I will share more about the development process in this blog.‍ Features Physically-based pipeline Cook-Torrance BRDF HDR Directional Lights Point lights Shadow mapping Diffuse irradiance Specular IBL (image-based lighting) Editor Mesh importer, supporting: glTF, fbx, obj Basic world editor and component property viewer Volumetric Fog Temporal Anti-Aliasing (TAA) Editor Features Live performance profiler Debug modes to see normals, ambient, metalness, roughness, etc....

July 1, 2020 · 1 min