Blog

About fast 2D CDF construction

In a path tracer, sampling a light source that is driven by a texture, such as a HDR map, requires mapping a 2d random number to texels of the map, with a probability that is proportional to the brightness of those texels. The mathematical tool in use to do that is called the Cumulative Distribution…

DNND 3: the U-Net Architecture

This is episode three of a miniseries on the vast world of Deep Neural Networks. I start by exploring the Intel® Open Image Denoise open-source library (OIDN) and create a CUDA/CUDNN-based denoiser that produces high-quality results at real-time frame rates. Throughout the series, I narrate the story in first person. In episode two, I took…

DNND 2: Tensors and Convolution

This is the second episode of a miniseries in the vast world of Deep Neural Networks, where I start from Intel® Open Image Denoise open-source library (OIDN) and create a CUDA/CUDNN-based denoiser that produces high-quality results at real-time frame rates. In this series, I narrate the story in first person. The first episode was focused…

DNND 1: a Deep Neural Network Dive

This is the first episode of a mini-series where I invite you to join me on a journey of discovery in the vast world of Deep Neural Networks. We will be exploring the Deep Neural Network in the Intel® Open Image Denoise open source library (OIDN) and learning some basic concepts of Convolutional Neural Networks.…

Anatomy of a task scheduler

In designing a task scheduler, it is fundamental to consider how it would impact your code. I find that some articles on tasking systems put emphasis on the innerworkings, how to achieve lightweight synchronization and context switches, while I offer a different perspective on the subject.

Axis of comfort

There are many ways to step out of your comfort zone. The comfort zone is not a 2d map with concentric circles!

Undo, the art of – Part 1

People seem to think that implementing a solid undo system in a program is hard work, and yes for the most part that can be true, but it doesn’t have to be. In this blog post I explore the design of undo/redo and provide some guidelines that simplify such a task. I’ll touch on the…

Offline to Realtime: Manipulators

In my new system design I allow to draw anything and give free range of what a manipulator may be and how it may behave. The infrastructure in Gesture::Input and Gesture::Graphics comes together to create the design.

Offline to Realtime: Gesture Graphics

Today I am writing about the second part of Gesture, the graphics component that allows me to draw on screen. Gesture::Graphics is not meant to draw a 3d scene, it is rather some infrastructure for immediate mode GUI

Something went wrong. Please refresh the page and/or try again.


Follow My Blog

Get new content delivered directly to your inbox.