Rendering a Realistic Hawk Head with Feathers
Jiayi Chong (firstname.lastname@example.org)
Oded Wurman (email@example.com)
Birds are fascinating creatures. They are also beautiful to look at. Part of the beauty of birds
comes from feathers. The feathers of birds come in all shapes and sizes and have distinct, intricate
Rendering a hawk's head will pose a challenging enough problem for the final project since we will have to
tackle the following problems in great detail:
- Generation of Feather Geometry
- How should we model the feather geometry? The appearance model of a feather cannot be captured by just a simple
rendering model alone. Objects like fur and feathers have a unique look to them not only because of the way they react
to different lighting conditions but also because of the way they are geometrically structured. We will attempt to generate
feather geometry based on the Siggraph 2002 paper "Modeling and rendering of realistic feathers" by Chen, Xu, Guo and Shum.
- Rendering of Feathers
- How should we go about rendering the generated feathers? We will be looking at various fur or feather rendering algorithms for ideas. The
Siggraph 1989 paper "Rendering fur with three dimensional textures" by Kajiya and Kay comes to mind. "Modeling and rendering of realistic feathers" by Chen, Xu, Guo and Shum also touches on the rendering aspect. They mention about rendering the feathers using a microgeometry approach. Hence we will be looking at the Siggraph 1992 paper "Predicting reflectance functions from complex surfaces" by Westin, Arvo and Torrance since they talk about the microgeometry approach for rendering complex objects.
- Feather Growing Algorithm
- How should we grow our generated feathers over a bird head model? In fact, do we have to generate or process the head model in a certain way in order for feather growing to actually work? This seems to be a challenging problem in itself. We will most probably have to develop our own feather growing tools(since there are none on the market) that will allow us to visualize and grow the feathers onto our bird head model.
Preliminary Implementation Ideas
- New Pbrt Classes
- We will most probably need to derive a new integrator class capable of feather rendering since rendering models like Kajiya-Kay behave
differently from the default integrators in pbrt. We might also have to add in a new feather materials class that will allow us to render the
- OpenGL Tools
- We will have to use visualization extensively to test our feather generation and growing framework. OpenGL visualization will cut down the amount of time needed to find bugs and aid in the generation of complicated feather geometry.