Dr. Connelly Barnes have led the research on patchbased algorithms over the years. Some of his most famous patchbased research are: PatchMatch (SIGGRAPH 2009, EECV 2010, CAF) Image Melding (SIGGRAPH 2012) Patchbased HDR video (SIGGRAPH Asia 2013) Synthesis of Complex (SIGGRAPH 2015) PatchTable (SIGGRAPH 2015) Artistic Media Digital BasRelief (SIGGRAPH 2007) RealBrush (SIGGRAPH 2013) DecoBrush…
Dotted Drawing / Sketch Effect
After lunch, I want to replicate the sketch shader I wrote for the PencilvsCamera project. Additionally, I wrote a onepass 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…
04 Order of Spherical Harmonics
Spherical Harmonics is widely used in Computer Graphics. They are analogue to Fourier basis on a sphere, consists of a set of orthogonal functions to represent functions defined on the surface of a sphere. However, they are very tricky to implement due to lots of constants and integral functions. Here is a realtime visualization that…
Yet another shader for image fadeIn effect
Taken iq’s background transparent code and Dr. Neyret’s advice: This shader can be used for rendering popup images in a 3D environment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
// Image FadeIn Effect, CC0 // Forked from iq's invisible shader with transparent background: [url]https://www.shadertoy.com/view/XljSRK[/url] float backgroundPattern( in vec2 p ) { vec2 uv = p + 0.1*texture2D( iChannel2, 0.05*p ).xy; return texture2D( iChannel1, 16.0*uv ).x; } vec3 getBackground(in vec2 coord) { float fa = backgroundPattern( (coord + 0.0) / iChannelResolution[0].xy ); float fb = backgroundPattern( (coord  0.5) / iChannelResolution[0].xy ); return vec3( 0.822 + 0.4*(fafb) ); } float getFadeInWeight(vec2 uv) { float edge = 0.3 * abs(sin(0.5)); // taken FabriceNeyret2's advice vec4 v = smoothstep(0., edge, vec4(uv, 1.  uv) ); return v.x * v.y * v.z * v.w; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; vec3 bg = getBackground(fragCoord); vec3 col = texture2D(iChannel0, uv).rgb; float alpha = getFadeInWeight(uv); fragColor = vec4(mix(bg, col, alpha), 1.0); } 
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 stateoftheart on realtime 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 
// forked and remixed from Prof. Neyret's https://www.shadertoy.com/view/ltBSDV // Foveated Rendering via Quadtree: https://www.shadertoy.com/view/Ml3SDf# void mainImage( out vec4 o, vec2 U ) { float r = 0.1, t = iGlobalTime, H = iResolution.y; vec2 V = U.xy / iResolution.xy; U /= H; // foveated region : disc(P,r) vec2 P = .5 + .5 * vec2(cos(t), sin(t * 0.7)), fU; U *= .5; P *= .5; // unzoom for the whole domain falls within [0,1]^n float mipmapLevel = 4.0; for (int i = 0; i < 7; ++i) { // to the infinity, and beyond ! :) //fU = min(U,1.U); if (min(fU.x,fU.y) < 3.*r/H) { o; break; } // cell border if (length(P  vec2(0.5))  r > 0.7) break; // cell is out of the shape //  iterate to child cell fU = step(.5, U); // select child U = 2.0 * U  fU; // go to new local frame P = 2.0 * P  fU; r *= 2.0; mipmapLevel = 0.5; } o = texture2D(iChannel0, V, mipmapLevel); } 
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…
September 2017 M T W T F S S « Aug 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Clock
World
Random Posts
Share
Slideshow

Recent Posts
Twitter
My TweetsRecent Comments
 Week 5: Being a Digital Curator – Site Title on Quick Tutorial on Refereces Management using Mendeley / Endnote / Word / ShareLaTeX
 starea on Tutorial of Ray Casting, Ray Tracing and Ray Marching
 Ron Francis on Tutorial of Ray Casting, Ray Tracing and Ray Marching
 starea on Tutorial of Ray Casting, Ray Tracing and Ray Marching
 mal on Tutorial of Ray Casting, Ray Tracing and Ray Marching
Archives
 August 2017
 April 2017
 March 2017
 February 2017
 January 2017
 December 2016
 November 2016
 October 2016
 September 2016
 June 2016
 April 2016
 March 2016
 February 2016
 December 2015
 November 2015
 October 2015
 September 2015
 August 2015
 July 2015
 June 2015
 May 2015
 September 2012
 October 2010
 May 2010
 July 2008
Categories
Meta