Archive for the ‘Read’ Category

Improve your game

In order to improve your game, you must study the endgame before everything else, for whereas the endings can be studied and mastered by themselves, the middle game and the opening must be studied in relation to the endgame.

–José Raúl Capablanca


Read Full Post »

Before trying to answer the question about how to read papers, I would like to share my experience about which papers to read. My general suggestion is to read as much as possible. The goal of reading papers is pretty simple: you should get a comprehensive understanding of the entire field you are working on, so that to prevent yourself from reinventing the wheels, and to draw inspirations from previous work, especially state of the art.

Every student/researcher in computer graphics may pay special attention to Ke-Sen Huang’s Home Page, which covers almost all the top conferences about computer graphics. I check the update of this page frequently and follow all the latest change there. But just following Ke-Sen’s page is not enough, there are also several major journals (such as TOG, TVCG, CG&A and CGF). Fortunately you can subscribe to the publishers of those journals and get notifications about the latest publications promptly via any RSS reader. Furthermore, for some important papers, it is worth taking a look at the reference lists in those papers as well as all the follow-up work by searching later publications that have cited them.

To read a paper, I think the key point is to get the big picture. Specifically, it’s much more important to figure out what the authors did and why they did this, compared to how they did. I would also suggest to be positive when reading a paper. Every paper got published for certain good reasons. Instead of thinking as “how they can publish such a bad paper”, it would be more helpful trying to find those good reasons.

Read Full Post »

New order

A citation from a book about programming in C++:

“We must bear in mind, then, that there is nothing more difficult and dangerous, or more doubtful of success, than an attempt to introduce a new order of things in any state.  For the innovator has for enemies all those who derived advantages from the old order of things, whilst those who expect to be benefited by the new institutions will be but lukewarm defenders.  This indifference arises in part from fear of their adversaries who were favoured by the existing laws, and partly from the incredulity of men who have no faith in anything new that is not the result of well-established experience.  Hence it is that, whenever the opponents of the new order of things have the opportunity to attack it, they will do it with the zeal of partisans, whilst the others defend it but feebly, so that it is dangerous to rely upon the latter.”

Niccolò Machiavelli (1469-1527)
The Prince, Chapter 6

Read Full Post »

This paper introduced a procedural noise that offers accurate spectral control, setup-free surface mapping, anisotropic filtering and fast evaluation at the same time.

The noise is formulated as a random pulse process and the Gabor kernel is chosen as the pulse, which has compact support in spatial domain for fast procedural evaluation, as well as compact support in frequency domain for precise spectral control. An interactive tool has been developed for noise design, which allows the user to determine noise pattern by tuning intuitive parameters in frequency domain, such as magnitude, orientation and bandwidth.

Various noise patterns have been created showing that this technique is really useful, and the accompanying video has proven that the design tool is indeed user friendly.

This paper is published on SIGGRAPH 2009 and can be found here or under the project webpage.

Read Full Post »

This paper presents a system to simulate and render photorealistic fire with high resolution, which can be used for feature film.

The algorithm pipeline goes as follows:

  1. Coarse particle/grid simulation for large-scale motion

    The artist can control the behavior of fire by directing a particle system, which is used as input to a 3D coarse grid simulator. Some standard grid-based simulation steps are performed for incompressibility and vorticity confinement. The update of velocity is then projected back to particles.

  2. View-specific refinement on GPUs

    The coarse particle attributes are projected onto evenly spaced planes parallel to the camera viewing plane. The high-resolution 2D Navier-Stokes equations are solved on each image plane independently on multiple GPUs. And the camera-oriented slices can be used for volume rendering finally.

    The refinement pass takes advantage of some important observations about visual perception of fire, which lead to the fact that camera-facing sprites work well for fire and smoke.

Although the underlying techniques are fairly complex, the system is easy to use, and indeed produces appealing results of fire efficiently.

This paper is published on SIGGRAPH 2009 and can be found here.

Read Full Post »

This paper presents a method to generate 3D solid textures from 2D images, which applies to solid textures composed of discrete particles.

The 3D particles density is estimated from 2D image via a so-called “unfolding” process, based on a fundamental relationship in stereology. The particle distribution is then synthesized from random initialization, followed by simulated annealing to resolve collisions. Although the algorithms only works for limited kinds of textures, the final results appear realistic and beautiful, especially after adding fine details, which can be obtained as noisy color variation by some other solid synthesis algorithm.

This paper is published on SIGGRAPH 2004 and can be found here.

Read Full Post »