Рендеринг
Материал из Википедии — свободной энциклопедии
Ре́ндеринг (англ. rendering — «визуализация») в компьютерной графике — это процесс получения изображения по модели с помощью компьютерной программы. Здесь модель — это описание трёхмерных объектов на строго определённом языке или в виде структуры данных. Такое описание может содержать геометрические данные, положение точки наблюдателя, информацию об освещении. Изображение — это цифровое растровое изображение. Проще говоря, рендеринг — создание плоского изображения (картинки) по разработанной 3D сцене. Синонимом в данном контексте является Визуализация.
Это один из наиболее важных разделов в компьютерной графике, и на практике он тесным образом связан с остальными. Обычно, программные пакеты трехмерного моделирования и анимации включают в себя также и функцию рендеринга. Существуют отдельные программные продукты, выполняющие рендеринг.
В зависимости от цели, различают пре-рендеринг, как достаточно медленный процесс визуализации, применяющийся в основном при создании видео, и рендеринг в реальном режиме, применяемый в компьютерных играх. Последний часто использует 3D-ускорители.
Содержание |
[править] Методы рендеринга (визуализации)
На текущий момент разработано множество алгоритмов визуализации. Существующее программное обеспечение может использовать несколько алгоритмов для получения конечного изображения.
Трассирование каждого луча света в сцене не практично и занимает неприемлемо длительные периоды времени. Даже трассирование малого количества лучей, достаточного, чтобы получить изображение, занимает чрезмерное количество времени, если не применяется аппроксимация (семплирование).
Вследствие этого, было разработано четыре группы методов, более эффективных, чем моделирование всех лучей света, освещающих сцену:
- Растеризация (англ. rasterization) и метод сканирования строк (англ. scanline rendering). Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя.
- Метод бросания лучей (англ. ray casting). Сцена рассматривается, как наблюдаемая из определенной точки. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пикселя на двумерном экране. При этом лучи прекращают свое распространение(в отличие от метода обратного трассирования), когда достигают любого объекта сцены либо ее фона. Возможно используются какие-то очень простые техники добавления оптических эффектов или внесения эффекта перспективы.
- Глобальная иллюминация (англ. global illumination, radiosity). Использует математику конечных элементов, чтобы симулировать диффузное распространение света от поверхностей и при этом достигать эффектов «мягкости» освещения.
- Трассировка лучей (англ. ray tracing) похож на метод бросания лучей. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пиксела на двумерном экране. Но при этом луч не прекращает свое распространение, а разделяется на три компоненты, луча, каждый из которых вносит свой вклад в цвет пиксела на двумерном экране: отраженный, теневой и преломленный. Количество таких разделений на компоненты определяет глубину трассирования и влияет на качество и фотореалистичность изображения. Благодаря своим концептуальным особенностям метод позволяет получить очень фотореалистичные изображения, но при этом он очень ресурсоемкий и процесс визуализации занимает значительные периоды времени.
Передовое программное обеспечение обычно совмещает в себе несколько техник, чтобы получить достаточно качественное и фотореалистичное изображение за приемлемые затраты вычислительных ресурсов.
[править] Математическое обоснование
Реализация механизма рендеринга всегда основывается на физической модели. Производимые вычисления относятся к той или иной физической или абстрактной модели. Основные идеи просты для понимания, но сложны для применения. Как правило, конечное элегантное решение или алгоритм более сложны и содержат в себе комбинацию разных техник.
[править] Основное уравнение
Ключом к теоретическому обоснованию моделей рендеринга служит уравнение рендеринга. Оно является наиболее полным формальным описанием части рендеринга, не относящейся к восприятию конечного изображения. Все модели представляют собой какое-то приближенное решение этого уравнения.
Неформальное толкование таково: Количество светового излучения (Lo) исходящего из определнной точки в определенном направлении есть собственное излучение и отраженное излучение. Отраженное излучение есть сумма по всем направлениям приходящего излучения (Li) умноженого на коэффициент отражения из данного угла. Объединяя в одном уравнении приходящий свет с исходящим в одной точке, это уравнение составляет описание всего светового потока в заданой системе.
[править] Программное обеспечение для рендеринга - Рендеры (Визуализаторы)
- RenderMan (PhotoRealistic или PRMan)
- 3Delight
- Gelato (разработка прекращена всвязи с покупкой NVIDIA, mental ray)
- AIR
- RenderDotC
- ART
- AQSIS
- Pixie
- Angel
- Entropy (продажи прекращены)
- BMRT (Blue Moon Rendering Tools) (распространение прекращено)
- mental ray
- V-Ray
- finalRender
- Brazil R/S
- BusyRay
- Turtle
- Holomatix Renditio (интерактивный рейтрейсер)
- Maxwell Render
- Fryrender
- Indigo Renderer
- LuxRender
- YafRay
- POV-Ray
- Sunflow
- Kerkythea
-
- Пакеты трехмерного моделировая, имеющие собственные рендеры
[править] Таблица сравнения своиств рендеров
рендеры | совместим с 3ds Max | совместим с Maya | совместим с Softimage | совместим с Houdini | совместим с LightWave | совместим с Blender | совместим с ScetchUp | совместим с Cinema 4D | biased, unbiased | scanline | raytrase | алгоритмы Global Illumination или свои алгоритмы | Depth of Field | Motion Blur (vector pass) | Displasment | Area Light | Glossy Reflect/Refract | SSS | Stand Alone | текущая версия | год выпуска | библиотека матерьялов | основан на технологии | noramal mapping | IBL | Psyhical sun | официальный сайт | страна производитель | стоимость $ | основное преимущество | компания производитель |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RenderMan | + | + | - | - | - | - | - | - | biased | + | очень медленный | + | очень быстрый | быстрый | + | + | + | 13.5,2,1 | 1987 | - | США | 3500 | Pixar | ||||||||
mental ray | встроен | встроен | встроен | встроен | - | - | - | - | biased | + | + | Photon, Final Gather (Quasi-Montecarlo) | + | + | + | + | + | + | + | 3.6 | 1986 | 33 My mentalRay | Германия | 195 | mental images (c 2008 NVIDIA) | ||||||
Gelato (разработка прекращена) | + | + | - | - | - | - | - | - | biased | + | + | + | быстрый | быстрый | + | + | + | 2.2 | 2003 | - | США | 0 | NVIDIA | ||||||||
V-Ray | + | предрелизная версия, доступна для скачивания на официальном сайте | - | - | - | - | + | + | biased | - | + | Light Cash, Photon Map, Irradiance Map, Brute Force (Quasi-Montecarlo) | + | + | медленный, 2d и 3d | + | + | + | 2005 года (сырая) | 1.5 RC5 | 2000 | около 1300 vray-materials | Болгария | Super Bundle 1135 Bundle 999 Standart 899 Educational 240 | Chaos Group | ||||||
finalRender | + | + | - | - | - | - | - | + | biased | - | + | Hyper Global Illumination, Adaptive Quasi-Montecarlo, Image, Quasi Monte-Carlo | + | + считает вектор пасс | медлленный | + | + | + | - | Stage-2 | 2002 | 30 оф. сайт | Германия | 1000 | cebas | ||||||
Brazil R/S | + | - | - | - | - | - | - | - | biased | - | + | Quasi-Montecarlo, PhotonMapping | + | + | - | + | + | + | - | 2 | 2000 | 113 оф. сайт | США | 735 | SplutterFish | ||||||
Turtle | - | + | - | - | - | - | - | - | biased | - | + | Photon Map, Final Gather | + | + | быстрый | + | + | + | - | 4.01 | 2003 | - | liquidlight | Швеция | 1500 | Baking высокая скорость (не очень высокое качеcтво) | Illuminate Labs | ||||
Maxwell Render | + | + | + | - | + | - | + | + | unbiased | - | - | + | + | + | + | + | + | + | 1.61 | 2007 (?) | 2979 оф. сайт | Maxwell Render | Испания | 995 | Next Limit | ||||||
Fryrender | + | + | + | + | + | - | + | + | unbiased | - | - | + | + | + | + | + | + | + | 1.91 | 2006 (?) | 110 оф. сайт | Fryrender | Испания | 1200 | Feversoft | ||||||
Indigo Renderer | + | + | + | + | - | + | + | + | unbiased | - | - | Metropolis Light Transport | + | + | + | + | + | + | + | 1.0.9 | 2006 | - | Metropolis Light Transport | Indigo Renderer | ? | 0 | Открытое программное обеспечение | ? |
[править] См. также
- Ray tracing
- Шейдер
- Алгоритмы использующие z-буфер и Z-буферизация
- Нефотореалистичный рендеринг
- Алгоритм художника
- Алгоритмы построчного сканирования like Reyes
- Алгоритмы глобального освещения
- Излучательность
[править] Хронология важнейших публикаций
- 1968 Ray casting (Appel, A. (1968). Some techniques for shading machine renderings of solids. Proceedings of the Spring Joint Computer Conference 32, 37—49.)
- 1970 Scan-line algorithm (Bouknight, W. J. (1970). A procedure for generation of three-dimensional half-tone computer graphics presentations. Communications of the ACM)
- 1971 Gouraud shading (Gouraud, H. (1971). Computer display of curved surfaces. IEEE Transactions on Computers 20 (6), 623—629.)
- 1974 Texture mapping (Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces. PhD thesis, University of Utah.)
- 1974 Z-buffer (Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces. PhD thesis)
- 1975 Phong shading (Phong, B-T. (1975). Illumination for computer generated pictures. Communications of the ACM 18 (6), 311—316.)
- 1976 Environment mapping (Blinn, J.F., Newell, M.E. (1976). Texture and reflection in computer generated images. Communications of the ACM 19, 542—546.)
- 1977 Shadow volumes (Crow, F.C. (1977). Shadow algorithms for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242—248.)
- 1978 Shadow buffer (Williams, L. (1978). Casting curved shadows on curved surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 270—274.)
- 1978 Bump mapping (Blinn, J.F. (1978). Simulation of wrinkled surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286—292.)
- 1980 BSP trees (Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). On visible surface generation by a priori tree structures. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124—133.)
- 1980 Ray tracing (Whitted, T. (1980). An improved illumination model for shaded display. Communications of the ACM 23 (6), 343—349.)
- 1981 Cook shader (Cook, R.L. Torrance, K.E. (1981). A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307—316.)
- 1983 Mipmaps (Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1—11.)
- 1984 Octree ray tracing (Glassner, A.S. (1984). Space subdivision for fast ray tracing. IEEE Computer Graphics & Applications 4 (10), 15—22.)
- 1984 Alpha compositing (Porter, T. Duff, T. (1984). Compositing digital images. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 253—259.)
- 1984 Distributed ray tracing (Cook, R.L. Porter, T. Carpenter, L. (1984). Distributed ray tracing. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137—145.)
- 1984 Radiosity (Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Modelling the interaction of light between diffuse surfaces. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213—222.)
- 1985 Hemi-cube radiosity (Cohen, M.F. Greenberg, D.P. (1985). The hemi-cube: a radiosity solution for complex environments. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31—40.)
- 1986 Light source tracing (Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes)
- 1986 Rendering equation (Kajiya, J.T. (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143—150.)
- 1987 Reyes algorithm (Cook, R.L. Carpenter, L. Catmull, E. (1987). The reyes image rendering architecture. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95—102.)
- 1991 Hierarchical radiosity (Hanrahan, P. Salzman, D. Aupperle, L. (1991). A rapid hierarchical radiosity algorithm. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197—206.)
- 1993 Tone mapping (Tumblin, J. Rushmeier, H.E. (1993). Tone reproduction for realistic computer generated images. IEEE Computer Graphics & Applications 13 (6), 42—48.)
- 1993 Subsurface scattering (Hanrahan, P. Krueger, W. (1993). Reflection from layered surfaces due to subsurface scattering. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 (), 165—174.)
- 1995 Photon mapping (Jensen, H.J. Christensen, N.J. (1995). Photon maps in bidirectional monte carlo ray tracing of complex objects. Computers & Graphics 19 (2), 215—224.)
- 1997 Metropolis light transport (Veach, E. Guibas, L. (1997). Metropolis light transport. Computer Graphics (Proceedings of SIGGRAPH 1997) 16 65—76.)
Это незавершённая статья о компьютерной графике. Вы можете помочь проекту, исправив и дополнив её. |