• Interactive Poisson Blending on GPU
    Interactive Poisson Blending on GPU
  • 404 Not Found In Two Triangles
    404 Not Found In Two Triangles
  • Simplest and Fastest GLSL Edge Detection using Fwidth
    Simplest and Fastest GLSL Edge Detection using Fwidth

My CUDA Helper for Visual Studio

CUDA Helper for Visual Studio

My CUDA Helper for Visual Studio  


Implementing Instagram Filters: Brannan, Earlybird

This series illustrate my shaders on Shadertoy.com, which renders Instagram filters in real time. Brannan Filter Brannan filter emphasizes the grey and green colors, and paints a metallic tint upon the photos. Click the mouse for comparison. I write this shader to stylize your photos in batch on my own ShaderToy renderer 🙂 (To be…

[Solution] Leetcode 719. Find K-th Smallest Pair Distance

Given an integer array, return the k-th smallest distance among all the pairs. The distance of a pair (A, B) is defined as the absolute difference between A and B. Input: nums = [1,3,1] k = 1 Output: 0 Explanation: Here are all the pairs: (1,3) -> 2 (1,1) -> 0 (3,1) -> 2 Then the 1st…

Some random summaries on deferred rendering

Here are some random thoughts and summaries on deferred rendering pipeline. Deferred shading is generally faster than forward shading According to Unity3D, As a general rule, Deferred Rendering is likely to be a better choice if our game runs on higher-end hardware and uses a lot of realtime lights, shadows and reflections. Forward Rendering is…

Some issues in VR – A personal note

Vergence-accommodation conflict Vergence movements are closely connected to accommodation of the eye. Under normal conditions, changing the focus of the eyes to look at an object at a different distance will automatically cause vergence and accommodation, sometimes known as the accommodation-convergence reflex. Visual odometry Match moving VR in practice GPU-based rendering (almost) as usual (OpengGL,…

My Chatbot in WeChat Platform

It is nothing related with AR and VR. But in the era of AI, who wouldn’t want to develop a cute chatbot? Feel free to scan the QR code below to follow our cute pet 🙂  Most of the code is based upon Python. I have developed the following functionalities. AIML matching Dictionary Idiom Wikipedia…

PostProcessing: Brightness, Contrast, Hue, Saturation, and Vibrance

Real-time image manipulation is always fascinating. With the power of the modern GPU, it is possible to achieve the postprocessing effects all in a single shader. Remember that in GLSL, matrix are column major. Brightness is a float between [-1, 1], directly adding to the RGB Contrast is a float between [0, 1, ∞], directly…

[Leetcode] 691. Stickers to Spell Word

Leetcode 691 is an interesting problem, I didn’t notice that T <= 15. BFS is good enough (and even faster) for this, but dynamic programming with bit compression is the ultimate solution with more words.


[Summary] PatchTable: Efficient Patch Queries for Large Datasets and Applications

Dr. Connelly Barnes have led the research on patch-based algorithms over the years. Some of his most famous patch-based research are: PatchMatch (SIGGRAPH 2009, EECV 2010, CAF) Image Melding (SIGGRAPH 2012) Patch-based HDR video (SIGGRAPH Asia 2013) Synthesis of Complex (SIGGRAPH 2015) PatchTable (SIGGRAPH 2015) Artistic Media Digital Bas-Relief (SIGGRAPH 2007) RealBrush (SIGGRAPH 2013) DecoBrush…

Code Golf: Halftone Image

 This is a code golf with the help of Dr. Neyret and coyote. Demo   Code