• 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

Social Street View wins the Best Paper Award in Web3D 2016

I am thrilled to announce that Social Street View has won the Best Paper Award at Web3D 2016, which was held next to SIGGRAPH 2016 in late August! Please visit the project website for more details: http://www.socialstreetview.com I also published my slides and videos.  

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


Hopf Fibration

According to Wikipedia:  In the mathematical field of differential topology, the Hopf fibration (also known as the Hopf bundleor Hopf map) describes a 3-sphere (a hypersphere in four-dimensional space) in terms of circles and an ordinary sphere. Discovered by Heinz Hopf in 1931, it is an influential early example of a fiber bundle. Technically, Hopf found a many-to-one continuous function (or “map”) from the 3-sphere onto the 2-sphere such that each distinct point of the 2-sphere comes from…

Dotted Drawing / Sketch Effect

After lunch, I want to replicate the sketch shader I wrote for the Pencil-vs-Camera project. Additionally, I wrote a one-pass shader for dotted drawing / sketch post processing effect, which I think is more aesthetically pleasing. Dotted Drawing Demo Click on the play button in the left bottom corner of the embedded ShaderToy window below, to…

Unified Gnomonic and Stereographic Projections

Gnomonic projection, or rectilinear projection, together with stereographic projection, are two most commonly used projection in rendering 360 degree videos, or other VR applications. Recently, I found the inverse converting function from screen coordinates to the two projections can be unified within a single function. It’s not really surprising since both projection uses spherical lens,…

Equirectangular, Gnomonic Projections, and Cubemaps

Background According to MathWorld, the gnomonic projection is a nonconformal map projection obtained by projecting points P_1 (or P_2) on the surface of sphere from a sphere’s center O to point P in a plane that is tangent to a point S (Coxeter 1969, p. 93). In a gnomonic projection, great circles are mapped to…