• 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
  • Comparison: MagicLeap vs. HoloLens vs. Oculus Rift
    Comparison: MagicLeap vs. HoloLens vs. Oculus Rift

Yet another shader for image fade-In effect

Taken iq’s background transparent code and Dr. Neyret’s advice: This shader can be used for rendering pop-up images in a 3D environment.


Real Artifacts

An interesting page listing photographys from the real world that seems like computer graphical artifacts 🙂 http://graphics.cs.williams.edu/realartifacts/   Finally catched the SIGGRAPH deadline! Hooray!  

[Summary] Dr. Izadi’s Holoportation Talk on UIST 2016

Finally the talk on Holoportation is publicly available on YouTube. This is a very useful talk which gives big pictures of the state-of-the-art on real-time 3D reconstruction. For the future? Infrastructure FoV Headset removal Compression Interestingly, someone in the UIST 2016 conference mentioned about the problem of mobility. And this is the mobile Holoportation which…

Foveated Rendering via Quadtree

Today, I wrote a shader for foveated rendering uisng Prof. Neyret’s QuadTree: https://www.shadertoy.com/view/Ml3SDf The basic idea is:  Calculate the depth of the QuadTree using the distance between the current coordinate to the foveat region Use the depth as the mipmap level to sample from the texture Code below:


Weta Workshop Made the Magic Leap Demo

A year and a half ago, I wrote a blog post talking about Comparison amongst MagicLeap vs. HoloLens vs. Oculus Rift, in which I said about MagicLeap: Finally, the Magic Leap sounds more promising to me. However, I don’t think the technical product will come until 1~2 years later, let alone the consumer product. All these information…

Bilateral Filter to Look Younger on GPU

Bilateral filter can be used to smooth the texture while preserving significant edges / contrast. Below shows a live demo in ShaderToy. Press mouse for comparison. Thanks to mrharicot’s awesome bilateral filter: https://www.shadertoy.com/view/4dfGDH With performance improvement proposed by athlete. With gamma correction by iq: https://www.shadertoy.com/view/XtsSzH   Skin detection forked from carlolsson’s Skin Detection https://www.shadertoy.com/view/MlfSzn#

Interactive Poisson Blending on GPU

Recently, I implemented two fragment shaders for interactive Poisson Blending (seamless blending).  Here is my real-time demo and code on ShaderToy: Press 1 for normal mode, press 2 for mixed gradients, press space to clear the canvas. Technical Brief I followed a simplified routine of the Poisson Image Editing paper [P. Pérez, M. Gangnet, A….

C++ Code Backup for Render-To-Texture (Mult-pass Rendering)

I have found that many code for multipass rendering is complex and redundant to understand, so I would like to write a post for further reference. The key to multi-pass rendering is, instead of rendering to screen (frame buffer 0), reorient the rendering target to a framebuffer (e.g. frame buffer 1), bind the output of the…

[Summary] Indoor Scene Understanding and Dynamic Scene Modeling

Dr. Yasutaka Furukawa from Washington University in St. Louis presented an excellent talk on Indoor Scene Understanding and Dynamic Scene Modeling today. ABSTRACT I will present our recent 4 projects on indoor scene understanding or dynamic scene modeling: 1) 3D sensing technologies has brought revolutionary improvements to indoor mapping, For example, Matterport is an emerging company, which lets everybody…

Libraries, Textbooks, Courses, Tutorials for WebGL

WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 3D computer graphics and 2D graphics within any compatible web browser without the use of plug-ins. WebGL is a great tool for quick demos and video rendering. In the past year, I have created Social Street View, Video Fields, and VRSurus using WebGL. Additionally,…