2. Lander J. The Ocean Spray in Your Face//Game Developer Magazine. 1998. Vol. 5, № 7. P. 13-19 (http://www.darwin3d.com/gdml998.htm).

3. Lasseter J. Principles of Traditional Animation Applied to 3D Computer Animation// Computer Graphics (Proc. SIGGRAPH-87). 1987. July. P. 35-44.

4. Parent R. Computer Animation: Algorithms and Techniques. San Francisco: Morgan Kaufmann Publishers, 2001 (http://www.cis.ohio-state.edu/-parent/ book/outline, html).

5. Reeves W. T. Particle Systems - A Technique for Modeling a Class of Fuzzy Objects//ACM Transactions on Graphics. 1983. Vol. 2, № 2. P. 91-108.

6. Reeves W. Т., Blau R. Approximate and Probabilistic Algorithms for Shading and Rendering Structured Particle Systems//Computer Graphics (Proc. SIGGRAPH-85). 1985. July. P. 313-322.

7. Thomas F., Johnston O. Disney Animation - The Illusion of Life. New York: Abbeville Press, 1981.

8. Thomas F., Johnston O. The Illusion of Life - Disney Animation. Revised Ed. Hyperion, 1995.

9. Watt A. H., Watt M. Advanced Animation and Rendering Techniques: Theory and Practice. Reading, MS: Addison-Wesley, 1992.

Сглаживание процедурных текстур

Неровности, дефекты изображения, отблески, «ступеньки», стробоскопический эффект и «бегущие муравьи» - все это проявления основного проклятия компьютерной графики - алиасинга'. Любой пользователь часто видит такие дефекты изображения. В неподвижных изображениях алиасинг сложнее заметить, и он редко причиняет неудобства. Но при движении объекта зубчатый край бросается в глаза, отвлекая внимание от всего остального. С самого рождения компьютерной графики прилагаются колоссальные усилия для устранения этой проблемы, что выражается в разработке программ сглаживания {антиалиасинга).

В этой главе не описаны в подробностях все причины возникновения алиасинга и методы борьбы с ним. Здесь рассматриваются ситуации, при которых может возникнуть алиасинг, и средства языка шейдеров OpenGL для борьбы с ним. Зная все это, можно с легкостью избавляться от алиасинга в собственных шейдерах.

14.1. Причины алиасинга

Человеческий глаз устроен так, что хорошо различает края объектов на изображении. Благодаря этому свойству мы оцениваем форму и представление объекта, распознаем буквы и слова, и при этом зрение работает очень хорошо, так как постоянно упражняется.

Компьютерный экран довольно сильно ограничен и состоит из конечного числа дискретных элементов (пикселов). В каждый момент времени пиксел может быть только одного цвета. Поэтому на экране невозможно точно показывать части изображения, размер которых меньше экранного пиксела, - например, края объекта.

При сочетании этих двух свойств - способности глаза различать края и невозможности правильного представления края на экране - и возникает проблема алиасинга. Вообще-то алиасинг появляется при воспроизведении сигнала с недостаточной частотой дискретизации. На компьютерном экране, где есть ограничение по частоте (пикселы), практически всегда частота будет недостаточной для отображения некоторых частей изображения, поэтому алиасинг на экране будет всегда, выраженный в большей или меньшей степени. Его можно сделать незаметным или превратить в какую-либо менее заметную проблему, например в размытость или шум.


⇐ вернуться назад | | далее ⇒