Articles

Image Blending

The image blending is a mix between two images with a special equation. Here are represented short code implementations of blending premultiplied RGBA float images with values in the range [0; 1].

Colour Adjustments

You can produce lots of colour corrections and image effects using a limited set of adjustments. Here I tried to explain shortly some of them with examples.

Colour spaces

Colour spaces allow making wonderful effects processing an image in a specified space or processing different channels in a different way. Here are collected descriptions of the main colour spaces and some useful links.

Colour gradients

Separated colour gradient usually can't be an interesting effect, but combining several gradients or images and gradients can produce really amazing results. Now here are represented implementations of some colour gradient generation algorithms..

Autocorrection

The auto-correction allows enhancing colours of an image automatically. Now using deep-learning algorithms is very popular, but here I implement such algorithm based only on histogram information.

Sampling & Filtering

Texture sampling is the act of retrieving data from a texture. Texture filtering is the algorithm by which a pixel or group of pixels within the texture are fetched (and possibly combined) in order to produce the result of a sampling of a texture (here).


Tutorials

WebGL Background Intro

Here is described how to prepare the necessary infrastructure for using WebGL background.

WebGL Background #1

Procedurally generated background of the web-page based on Perlin noise with parallax effect. I explained here only the main points without infrastructure details.

WebGL Background #2

Procedurally generated background based on animated noise and hexagonal pattern.

Basic iOS app using CreateML

I made this tutorial for students who had practice in the company I work. You can find the same information (and even more on Apple's website), but you also can look through that tutorial.


Talks

Metal: Introduction (RU)

Working with Apple Metal from the very beginning. No CG theory or math - only API, but with examples.

Metal: Optimisation (RU)

Optimization of apps that use Apple Metal. What and when we need to optimize, how to do that, and where to check the results of that.

Metal: Tools (RU)

Tools you can use for profiling and debugging your Metal-powered apps. Standard tools like Metal System Trace and GPU Frame Capture, and manual approaches for debugging.


Projects

Procedural Textures

OSX application for procedural generating textures using a node-graph builder.

Twitter Banhammer

Set of scripts for blocking twitter accounts by name, key-words, bot-node.

Tiamat

Cellular automata simulation app for iOS. It started as a sandbox to try SwiftUI and nothing more, but later I decided to implement it as a published app.