Home Segmentation Demo Pipeline Demo Final Report Milestone Report Proposal

Proposal

Alexander Hong, Catherine Lu, Connie Chen

Summary

We will be implementing a real-time watercolor-esque NPR shader on top of the project 4 codebase. This will be done using layers of watercolor shaders to approximate various effects of the physical medium, including color bleeding, edge darkening, paper textures, and pigment granulation.

Problem Description

We want to implement a real-time watercolor-esque shader because watercolor is a difficult medium to replicate due to the complex interactions between the pigment, water, and paper texture. We want to explore shaders beyond that of the basic Phong shader in project 4, to gain a stronger understanding of shaders as a whole and implement an artistic shader rather than just realistic shaders. Implementing a watercolor shader is important because it is difficult to properly emulate the appearance of watercolors computationally--it requires simulating the complex effects of how pigments spread on paper. Watercolor shaders, especially real-time, are challenging because it is difficult to appear convincing without a decent amount of post-processing and composited effects. In this project, we will try to solve the problem of creating a convincing real-time watercolor shader to 3D objects by approximating the effects of edge darkening, granulation, paper textures, and pigment granulation with several intensity calculations in order to recreate the look of wet-on-wet and wet-on-dry watercolor techniques.

Goals and Deliverables

What We Plan to Deliver

Following Luft and Deussen 2006, we plan to implement the effects of watercolor glazing, shape and flow of pigment, edge darkening, and pigment granulation. Glazing is the result of layering thin washes of pigment to get a transparent and blended look that is very distinctive of watercolor. This along with simulating the shape of the layers by simplifying and abstracting the photorealistic model to create a more blurred image is the basis of the watercolor effect. Furthermore, edge darkening, which is caused by the flow of pigment towards the edge of a patch of wet pigment as it is drying, will be implemented using a Gaussian filter. Finally, we will account for pigment granulation, the variations in pigment intensity caused by the texture of the paper. We will create this effect by modulating the color according to an intensity texture that imitates the paper structure, as described by Luft and Deussen. These characteristics are the most significant effects to produce a watercolor-like image.

On top of these watercolor effects, we will composite a Phong based model. Several layers include the diffuse color layer, the specular highlights, and the shadows, each separately calculated with the watercolor shader. This model, along with an additional layer for shadows, will emulate the appearance of a watercolor painting.

Our deliverables for this section would be images rendered with the described watercolor effects, watercolor glazing, shape and flow of pigment, edge darkening, and pigment granulation, as well as the lighting models. We hope our results will at least be comparable to the work of the papers we are referencing, that is a shader that successfully imitates the transparency and bleed effects of watercolor pigments. The images we will create will be still scenes of geometric objects or common objects with the shader applied to transform the scenes into watercolor paintings.

We will measure the performance of our system by measuring the initial render times for scenes with different levels of complexity (based on number of polygons).

Our project and analysis will focus on answering the problems associated with creating convincing NPR shaders, especially with complex fluid-based mediums like watercolor, and optimizations necessary to speed up such a shader to allow for real-time rendering.

What We Hope to Deliver

If we get ahead of schedule, we would like to try extending the code to support custom texture maps, rather than only flat colors. This would challenge our shader to properly account for variations in patterns or colors on the texture maps while generating the watercolor maps. It may also be useful to add a basic GUI to adjust parameters for better artistic direction, such as the intensity of darkened edges, the “wetness” of regions, or the texture of the paper itself. An alternative reach goal would be porting our shader to programs that support GLSL shaders like Blender.

Schedule

Week 1 (4/13)


Week 2 (4/20) Prepare for the milestone submission.
Week 3 (4/27)
Milestone deliverable due 4/28

Week 4 (5/4)
Final presentation due 5/7
Prepare for presentation.
Week 5 (5/11)
Final deliverable due 5/12

Resources

Papers
The main paper our project will be based off of by Luft and Deussen:
Luft, T., Deussen, O. Real-Time Watercolor for Animation. J Comput Sci Technol 21, 159–165 (2006).
https://doi.org/10.1007/s11390-006-0159-9

Other resources:
Art-directed Watercolor Rendered Animation
Computer-Generated Watercolor

Hardware and Software Resources