Omar Shehata

Writing

I enjoy writing tutorials on computer graphics.

I write to help myself & others understand how the world works. Computer graphics just happens to involve a lot of learning about the natural world. I've also written on sound (Why does the same note sound different on a piano vs a violin?) and image compression (Unraveling the JPEG).

I write across Medium and Dev.to. I used to write for Envato Tuts+.

Featured articles

Unraveling the JPEG

I explain how JPEG images work with interactive diagrams for each layer of compression.

The article allows you to edit the raw bytes of the image at various stages of compression and see the changes in real time.

See tweet thread with highlights. FastCompany wrote a feature on it. HN discussion.

See also my JPEG Sandbox, an interactive tool to see the individual DCT components in any JPEG image.

How to render outlines in WebGL

Explains how to render outlines as a post process. Includes a ThreeJS and a PlayCanvas implementation. See GitHub repo.

Build a compute rasterizer with WebGPU

A step by step guide for building a rasterizer using WebGPU compute shaders.

I wrote this to serve as a template for exploring compute-based rendering techniques which can be much faster for certain use cases, like point cloud rendering. See GitHub repo.

A Geometric Intuition for Linear Discriminant Analysis

An interactive article about finding patterns in high dimensional data by projecting it down to lower dimensions.

I wanted to guide the reader towards discovering the solution on their own. The article supports dragging & dropping CSV files into any diagram to explore your own examples. See teacher's guide.

Solving gimbal lock in N-dimensions

This article clears up a common misconception about what causes gimbal lock and how to fix it.

It shows how to solve gimbal lock without using quaternions, and how it can be generalized to higher dimensions.

Reflections

These are non technical articles reflecting on life. I write a lot of these in my "notebook". Below are some featured selections.

On inspiration and determination

How to reconcile the excitement about pursuing too many things and the focus needed to finish anything.

The best zoom call I've ever been in

About an incredible interactive ice breaker performance created by Lars Jan at the New-Public Festival.

How Ice Boy taught me to value work ethic over skill

Reflecting on what it takes to win a game jam.

Talks

!!Con - How to Look at a 4D Cube

My talk at !!Con 2019 in New York City, about what it means to look at a 4-dimensional cube.

Computer Graphics & Faith

I gave a chapel talk about how I see learning computer graphics as a form of worship in Islam, in that it encourages this deep appreciation of the awe-inspiring beauty & complexity of our world.