Friday 14 November 2008

Honours Project Worksheet — #3

Introduction
The overall aim of the project is to create a fairly realistic looking model of hair and fur which can be rendered in real-time and could be used in a game environment.

To do this, I will investigate particle based hair systems, then several variations on the shell and fin optimization (Hoppe et al). This includes the more common overlapping polygonal strip approach.


Motivation
This is an area which has been somewhat neglected in game graphics, possibly due to the perceived difficulty of the subject. Most current methods of creating 'realistic' hair depend entirely on the skill and time of the artist. More advanced techniques have already been used in games, such as Shadow of the Colossus and Black&White, however they have never been widely adopted.

By implementing a procedural method of hair generation, coupled with some very clever optimization as presented by Hoppe et al, I believe it is possible to take a massive step forward in the visual quality of hair and fur in games.


Research question
"Can hair and fur be added into a real-time, 3d, game environment? If so, what techniques can be used, and how effective are they?"

Addressing the Question
Firstly, a basic 3D framework will be built as a testing environment. This will most likely be done on top of DirectX9, although OpenGL remains a possibility at this point.

Once the basics are in place I will begin implementing and testing the various techniques I have researched. I will then compare the results in terms of visual quality and framerate in order to determine which, if any, of these techniques are suitable for 3d games.

Resource Requirements
A standard, modern PC with either DirectX or OpenGL SDK installed. No special requirements.

-----

References and Bibliography

Lengyel, J. Praun, E. Finkelstein, A. Hoppe, H. Real-Time Fur over Arbitrary Surfaces
http://research.microsoft.com/~hoppe/fur.pdf

Sheppard, G. 2004 Real-time Rendering of Fur http://www.gamasutra.com/education/theses/20051028/sheppard_01.shtml

SCEI. 2006. Shadow of the Colossus. Playstation 2. SCEI.

Lionhead Studios. 2001. Black&White. Electronic Arts Feral Interactive

Friday 24 October 2008

Worksheet 2 with notes

At this point, I'm fairly settled on my question, and I'm moving on to researching specifics and methodology.

1. Can hair and/or fur be added into a real-time, 3d, game environment? If so, what techniques can be used, and how effective are they?

2.

a) Real-time hair and fur rendering techniques and their application in games.

b) Current technology and techniques.

c) Implement and test different techniques.

3. Compare results with regard to realism, rendering cost and overall speed.

Notes:
  • May be a bit broad an area, could read up on a few and pick three of four to do a comparison on.
  • Have you thought about what these test would be? And how you would you create a program environment to do these tests.
  • How would you test the speed of the algorithms’, how long it would take for the program to complete? May also have to take into account the more realistic the method then the longer rendering will take.


Monday 29 September 2008

Initial research topic ideas

Topic: Real-time hair and fur rendering for 3D characters

Issues: One of the final steps toward 'photo-realistic' characters. Very difficult to implement in real-time. Several real-time techniques currently used in games, though non give very good results. A few highly realistic techniques available, but are rarely used in games.

Practical: Investigate current techniques as used in film and games. Assess each technique for cost/benefits. See if realistic techniques can be adapted/optimised for current graphics hardware. Attempt to find optimal technique for real-time game characters.


Particle method:

http://en.wikipedia.org/wiki/Particle_system#Snowflakes_versus_hair

http://blenderartists.org/forum/showthread.php?t=40299


Shell and fin style method:

http://research.microsoft.com/~hoppe/fur.pdf

http://www.gamasutra.com/education/theses/20051028/sheppard_01.shtml

http://edusworld.org/ew/ficheros/2006/paginasWeb/making_of_sotc_files/

Welcome to VOODOOCODE

Hello, welcome my 4th year blog. This is where I'll be keeping all the news, info and development journals for my honours project. I'll try to keep it easy to follow and amusing, as far as possible.


"voodoo programming: n.

1. The use by guess or cookbook of an obscure or hairy system, feature, or algorithm that one does not truly understand. The implication is that the technique may not work, and if it doesn't, one will never know why. Almost synonymous with black magic, except that black magic typically isn't documented and nobody understands it. Compare magic, deep magic, heavy wizardry, rain dance, cargo cult programming, wave a dead chicken, SCSI voodoo.

2. Things programmers do that they know shouldn't work but they try anyway, and which sometimes actually work, such as recompiling everything."

(Taken from the Jargon File - http://catb.org/esr/jargon/html/index.html)