Что такое рендеринг изображения. Что такое рендеринг? И что такое рендер? Словарь разработчиков компьютерных игр! Основные типы рендеринга

" itemprop="image">

В продолжении ликбеза по компьютерной графике как для программистов, так и для художников хочу поговорить о том что такое рендеринг . Вопрос не так сложен как кажется, под катом подробное и доступное объяснение!

Я начал писать статьи, которые являются ликбезом для разработчика игр. И поторопился, написав статью про , не рассказав что же такое рендеринг. Поэтому эта статья будет приквелом к введению в шейдеры и отправным пунктом в нашем ликбезе.

Что такое рендеринг? (для программистов)

Итак, Википедия дает такое определение: Ре́ндеринг (англ. rendering - «визуализация») - термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.

Довольно неплохое определение, продолжим с ним. Рендеринг — это визуализация. В компьютерной графике и 3д-художники и программисты под рендерингом понимают создание плоской картинки - цифрового растрового изображения из 3д сцены.
То есть, неформальный ответ на наш вопрос «Что такое рендеринг?» — это получение 2д картинки (на экране или в файле не важно). А компьютерная программа, производящая рендеринг, называется рендером (англ. render) или рендерером (англ. renderer).

Рендер

В свою очередь словом «рендер» называют чаще всего результат рендеринга. Но иногда и процесс называют так же (просто в английском глагол — render перенесся в русский, он короче и удобнее). Вы, наверняка, встречали различные картинки в интернете, с подписью «Угадай рендер или фото?». Имеется ввиду это 3D-визуализация или реальная фотография (уж настолько компьютерная графика продвинулась, что порой и не разберешься).

Виды рендеринга

В зависимости от возможности сделать вычисления параллельными существуют:

  • многопоточный рендеринг — вычисления выполняются параллельно в несколько потоков, на нескольких ядрах процессора,
  • однопоточный рендеринг — в этом случае вычисления выполняются в одном потоке синхронно.

Существует много алгоритмов рендеринга, но все их можно разделить на две группы по принципу получения изображения: растеризация 3д моделей и трасировка лучей. Оба способа используются в видеоиграх. Но трасировка лучей чаще используется не для получения изображений в режиме реального времени, а для подготовки так называемых лайтмапов — световых карт, которые предрасчитываются во время разработки, а после результаты предрасчета используются во время выполнения.

В чем суть методов? Как работает растеризация и трасировка лучей? Начнем с растеризация.

Растеризация полигональной модели

Сцена состоит из моделей, расположенных на ней. В свою очередь каждая модель состоит из примитивов.
Это могут быть точки, отрезки, треугольники и некоторые другие примитивы, такие как квады например. Но если мы рендерим не точки и не отрезки, любые примитивы превращаются в треугольники.

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

*возможно следующей статьёй будет обещанный мной разбор графического пайплайна, напишите в комментариях нужен ли такой разбор, мне будет приятно и полезно узнать скольким людям интересно это всё. Я сделал отдельную страничку где есть список разобранных тем и будущих —

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

Сложная модель персонажа состоит из мельчайших треугольников и растеризатор генерирует из неё вполне достоверную картинку. Почему тогда заморачиваться с трассировкой лучей? Почему не растеризовать и все? А смысл вот в чем, растеризатор знает только своё рутинное дело, треугольники — в пиксели. Он ничего не знает об объектах рядом с треугольником.

А это значит что все физические процессы которые происходят в реальном мире он учесть не в состоянии. Эти процессы прямым образом влияют на изображение. Отражения, рефлексы, тени, подповерхностное рассеивание и так далее! Все без чего мы будем видеть просто пластмассовые модельки в вакууме…
А игроки хотят графоний! Игрокам нужен фотореализм!

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

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

Трасировка лучей (англ. ray tracing )

Помните о корпускулярно волновом дуализме? Напомню в чем суть: свет ведёт себя и как волны и как поток частиц — фотонов. Так вот трассировка (от англ «trace» прослеживать путь), это симуляция лучей света, грубо говоря. Но трассирование каждого луча света в сцене непрактично и занимает неприемлемо долгое время.

Мы ограничимся относительно малым количеством, и будем трассировать лучи по нужным нам направлениям.
А какие направления нам нужны? Нам надо определять какие цвета будут иметь пиксели в результирующей картинке. Тоесть количество лучей мы знаем, оно равно количеству пикселей в изображении.

Что с направлением? Все просто, мы будем трассировать лучи в соответствии с точкой наблюдения (то как наша виртуальная камера направлена). Луч встретится в какой-то точке с объектом сцены (если не встретится, значит там темный пиксель или пиксель неба из скайбокса, например).

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

Рендеринг для художников

Но рендеринг это не только программная визуализация! Хитрые художники тоже используют его. Так что такое рендеринг с точки зрения художника? Примерно то же самое, что и для программистов, только концепт-художники выполняют его сами. Руками. Точно так же как рендерер в видео-игре или V-ray в Maya художники учитывают освещение, подповерхностное рассеивание, туман и др. факторы, влияющие на конечный цвет поверхности.

К примеру картинка выше, поэтапно прорабатывается таким образом: Грубый скетч — Лайн — Цвет — Объем — Рендер материалов.

Рендер материалов включает в себя текстурирование, проработку бликов — металлы, например, чаще всего очень гладкие поверхности, которые имеют четкие блики на гранях. Помимо всего этого художники сталкиваются с растеризацией векторной графики, это примерно то же самое, что и растеризация 3д-модели.

Растеризация векторной графики

Суть примерно такая же, есть данные 2д кривых, это те контуры, которыми заданы объекты. У нас есть конечное растровое изображение и растеризатор переводит данные кривых в пиксели. После этого у нас нет возможности масштабировать картинку без потери качества.

Читайте дальше

  • — простое объяснение сложных и страшных шейдеров
  • — Полезный обзор частиц и подборка видео-уроков, по созданию спецэффектов в Unity3d

Послесловие

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

  • 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 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. 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. 4 (10), 15-22.)
  • 1984 Alpha compositing (Porter, T. Duff, T. (1984). Compositing digital images. 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.)
  • Википедия Подробнее

Материал из CADобзор.

Ре́ндеринг (rendering - «визуализация») в компьютерной графике - это процесс получения изображения по модели с помощью компьютерной программы. Здесь модель - это описание трёхмерных объектов на строго определённом языке или в виде структуры данных. Такое описание может содержать геометрические данные, положение точки наблюдателя, информацию об освещении. Изображение - это цифровое растровое изображение. Проще говоря, рендеринг - создание плоского изображения (картинки) по разработанной 3D сцене. Синонимом в данном контексте является Визуализация .

Это один из наиболее важных разделов в компьютерной графике, и на практике он тесным образом связан с остальными. Обычно, программные пакеты трехмерного моделирования и анимации включают в себя также и функцию рендеринга. Существуют отдельные программные продукты, выполняющие рендеринг.

В зависимости от цели, различают пре-рендеринг, как достаточно медленный процесс визуализации, применяющийся в основном при создании видео, и рендеринг в реальном режиме, применяемый в компьютерных играх. Последний часто использует 3D-ускорители.

Методы рендеринга (визуализации)

На текущий момент разработано множество алгоритмов визуализации. Существующее программное обеспечение может использовать несколько алгоритмов для получения конечного изображения.

Трассирование каждого луча света в сцене не практично и занимает неприемлемо длительные периоды времени. Даже трассирование малого количества лучей, достаточного, чтобы получить изображение, занимает чрезмерное количество времени, если не применяется аппроксимация (семплирование).

Вследствие этого, было разработано четыре группы методов, более эффективных, чем моделирование всех лучей света, освещающих сцену:

  • Растеризация (rasterization) и метод сканирования строк (scanline rendering). Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя.
  • Метод бросания лучей (ray casting). Сцена рассматривается, как наблюдаемая из определенной точки. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пикселя на двумерном экране. При этом лучи прекращают свое распространение(в отличие от метода обратного трассирования), когда достигают любого объекта сцены либо ее фона. Возможно используются какие-то очень простые техники добавления оптических эффектов или внесения эффекта перспективы.
  • Глобальная иллюминация (global illumination, radiosity ). Использует математику конечных элементов, чтобы симулировать диффузное распространение света от поверхностей и при этом достигать эффектов «мягкости» освещения.
  • Трассировка лучей (ray tracing) похож на метод бросания лучей . Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пиксела на двумерном экране. Но при этом луч не прекращает свое распространение, а разделяется на три компоненты, луча, каждый из которых вносит свой вклад в цвет пиксела на двумерном экране: отраженный, теневой и преломленный. Количество таких разделений на компоненты определяет глубину трассирования и влияет на качество и фотореалистичность изображения. Благодаря своим концептуальным особенностям метод позволяет получить очень фотореалистичные изображения, но при этом он очень ресурсоемкий и процесс визуализации занимает значительные периоды времени.

Передовое программное обеспечение обычно совмещает в себе несколько техник, чтобы получить достаточно качественное и фотореалистичное изображение за приемлемые затраты вычислительных ресурсов.

Математическое обоснование

Реализация механизма рендеринга всегда основывается на физической модели. Производимые вычисления относятся к той или иной физической или абстрактной модели. Основные идеи просты для понимания, но сложны для применения. Как правило, конечное элегантное решение или алгоритм более сложны и содержат в себе комбинацию разных техник.

Основное уравнение

Ключом к теоретическому обоснованию моделей рендеринга служит уравнение рендеринга. Оно является наиболее полным формальным описанием части рендеринга, не относящейся к восприятию конечного изображения. Все модели представляют собой какое-то приближенное решение этого уравнения.

Неформальное толкование таково: Количество светового излучения (L o) исходящего из определнной точки в определенном направлении есть собственное излучение и отраженное излучение. Отраженное излучение есть сумма по всем направлениям приходящего излучения (L i) умноженого на коэффициент отражения из данного угла. Объединяя в одном уравнении приходящий свет с исходящим в одной точке, это уравнение составляет описание всего светового потока в заданой системе.

Программное обеспечение для рендеринга - Рендеры (Визуализаторы)

  • RenderMan (PhotoRealistic или PRMan)
  • Gelato (разработка прекращена всвязи с покупкой NVIDIA , mental ray)
  • Entropy (продажи прекращены)
  • BMRT (Blue Moon Rendering Tools) (распространение прекращено)
  • Holomatix Renditio (интерактивный рейтрейсер)
Пакеты трехмерного моделировая, имеющие собственные рендеры
  • 3ds Max (Scanline)

Таблица сравнения своиств рендеров

рендеры совместим с 3ds Max совместим с Maya совместим с SOFTIMAGE совместим с Houdini совместим с LightWave совместим с Blender совместим с SketchUp совместим с Cinema 4D biased, unbiased scanline raytrace алгоритмы Глобальное освещение или свои алгоритмы 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 Болгария 1135 (Super Bundle) 999 (Bundle) 899 (Standart) 240 (Educational) 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 - - Metropolis Light Transport + + + + + + + 1.61 2007 (?) 2979 оф. сайт Maxwell Render Испания 995 Next Limit
Fryrender + + + + + - + + unbiased - - Metropolis Light Transport + + + + + + + 1.91 2006 (?) 110 оф. сайт Испания 1200 Feversoft
Indigo + + + + - + + + unbiased - - Metropolis Light Transport + + + + + + + 1.0.9 2006 - Metropolis Light Transport Indigo Renderer ? 0 Открытое программное обеспечение ?

См. также

Хронология важнейших публикаций

  • 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 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. 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. 4 (10), 15-22.)
  • 1984 Alpha compositing (Porter, T. Duff, T. (1984). Compositing digital images. 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.)

Многие элементы визуального окружения современного человека сегодня создаются с помощью программ компьютерной графики. Без визуализаций, сделанных 3D-художниками, не может обойтись ни архитектурная или дизайнерская студия, ни производители компьютерных игр.

Технология создания подобного изображения - фотореалистического или имитирующего различные художественные техники - состоит из нескольких технологических этапов. Рендер - это важнейший из них, часто заключительный, от которого зависит конечный результат.

Происхождение термина

Слово "рендер" (или "рендеринг") пришло, как и многое, связанное с IP-технологиями, из английского языка. Происходит оно от старофранцузского rendre , означающего "делать", "дать", "возвратить", "вернуть". Более глубокие корни этого глагола восходят к древней латыни: re - префикс, означающий "назад", и dare - "давать".

Отсюда - один из смыслов современного термина. Рендер - это в том числе процесс воссоздания плоскостного изображения на основе трехмерной модели, содержащей сведения о физических свойствах объекта - его форме, фактуре поверхности, освещенности и так далее.

Рендер и визуализация

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

Имеется синоним, близкий по значению и чаще применяемый в обычной среде, хотя и более громоздкий, - визуализация. Среди профессионалов архитектурной или игровой компьютерной графики сегодня принято иметь узкую специализацию: есть те, кто занимается моделингом - создает трехмерные объекты, и те, кто обеспечивает рендеринг готовой сцены - выставляет освещение, выбирает точку зрения и настраивает, а потом и запускает рендер-программу.

Определения

Это слово имеет несколько значений:

  • Рендер, или рендеринг, - отрисовка, процесс получения технического или художественного плоскостного на основе трехмерных цифровых моделей, созданных при помощи специальных программных пакетов - Blender, 3D Max, CINEMA, Maya и др.
  • Рендер - это, собственно, результат такого процесса - растровая а также изображение героев и окружения в компьютерных играх или созданные тридэшниками видеофайлы, используемые при производстве фильмов - обычных или анимационных.
  • Рендер, или рендерер, - так называют специальный софт, с помощью которого и происходит преобразование 3D-моделей в изображение. Такие программы могут быть встроены в графический пакет или применяться в виде отдельных приложений: RenderMan, Mental Ray, V-ray, Corona, Brasil, Maxwell, FinalRender, Fryrender, Modo и многие другие. Рендеры, как и все, связанное с цифровыми технологиями, постоянно обновляются. Они отличаются алгоритмами, применяемыми для обсчета физических характеристик моделей и их окружения. На их основе создаются целые системы рендеринга, позволяющие создавать свои материалы, светильники, камеры и т. п.

Типы рендера: online и пререндеринг

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

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

Методы просчета сцены

Выбор способов получения изображения зависит от конкретной задачи и часто от и опыта визуализатора. Разрабатываются всё новые системы рендера - или узкоспециализированные, или универсальные. Сегодня в основе самых распространенных программ-рендеров лежат три основных вычислительных метода:

  • Растеризация (Scanline) - метод, при котором изображение создается просчетом не отдельных точек-пикселей, а целых граней-полигонов и крупных участков поверхностей. Текстуры, определяющие свойства объектов, как и свет в сцене, зафиксированы в виде неизменных данных. Получаемое изображение часто не отражает перспективных изменений освещенности, и т. д. Чаще применяется в системах для просчета сцен в играх и в видеопродакшене.
  • Трассировка лучей (Raytracing) - физика сцены просчитывается на основе лучей, исходящих из объектива виртуальной камеры и анализа взаимодействия каждого луча с объектами, с которыми он встречается в сцене. В зависимости от количества и качества таких «отскоков» имитируется отражение или его цвет, насыщенность и т. д. Качество получаемой картинки по сравнению с растеризацией значительно выше, но за её реалистичность приходится платить повышенным расходом ресурсов.
  • Расчет отраженного света (Radiosity) - каждая точка, каждый пиксель изображения наделяется цветом, который не зависит от камеры. На него влияют глобальные и местные источники света и окружение. Такой метод позволяет рассчитать появление на поверхности модели цветовых и световых рефлексов от рядом расположенных объектов.

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

Последовательность рендера

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

Это же относится и к способам освещения сцены. Настройка естественного и искусственного света, свойств собственной и падающей тени, силы рефлексов, эффектов самосвечения - следующий этап создания визуализации сцены. Как настроить рендер, зависит от используемого софта и от производительности системы. В каждом пакете и программе-визуализаторе есть свои тонкости и нюансы.

Например, Corona Renderer обладает возможностью регулирования настроек непосредственно в ходе проявления итоговой картинки. В режиме онлайн можно изменять мощность светильников, регулировать цветность, резкость изображения.

Постобработка результатов рендера

Для конкретной задачи логично применять особенные методики визуализации. В архитектуре требуются другие изобразительные средства, чем при создании технической иллюстрации. Рендер экстерьера, например, часто требует от исполнителя владения графическими пакетами по работе с растровыми изображениями, самый популярный из которых - Adobe Photoshop. Причем не всегда это делается для повышения фотореалистичности. Современные тенденции в архитектурной подаче предусматривают имитацию ручной графики - акварели, гуаши, черчения тушью и т. д.

Качественная постобработка рендера обычно начинается с выбора нужного формата файла, получаемого после окончания работы программы. Принято готовое изображение сохранять послойно, задействуя отдельные цветовые каналы. Это позволяет добиться высокого результата при сведении всех слоёв в общее изображение, используя более точную и тонкую цветовую настройку.

Рендер и производительность системы

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

Как ускорить рендер и улучшить итоговый результат, если ресурсов не хватает? Можно изменить настройки программы, уменьшив до разумных величин разрешение текстур материалов и финишного изображения, изменив параметры светильников так, чтобы свет и тени обсчитывались более крупными участками, без излишней деталировки и т. д. Если есть сеть, можно использовать пакетный рендер, когда для обсчета изображения привлекаются мощности других компьютеров.

Рендер-ферма

Сегодня возможно использование мощностей удаленных компьютерных кластеров, оказывающих услуги по пакетной обработке 3D-файлов. Это высокопроизводительные системы, способные за короткий срок визуализировать самые сложные и насыщенные сцены. Они справятся с любыми визуальными эффектами даже при создании видеофайлов большой длительности.

Связавшись с поставщиком таких услуг, список которых всегда можно найти в Интернете, согласовав стоимость и условия подготовки файлов, можно существенно сэкономить на скорости работы и добиться необходимого уровня качества итогового изображения. В распоряжении таких компаний бывает до нескольких тысяч процессоров и сотни терабайт оперативки. Рендер-ферма рассчитывает стоимость работ, исходя из объема исходного файла и срока выполнения визуализации. Например, стоимость одного кадра разрешением 1920х1080, для рендеринга которого на стандартном оборудовании потребуется 3 часа, составляет около 100 рублей. Сцена просчитывается в течение 8 минут.

Правильный выбор

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

Научитесь рендерить быстрей и эффективней с помощью советов от мастеров своего дела!

Кому-то процесс рендеринга может показаться скучным и неинтересным по сравнению с другими этапами работы с 3D, но от этого он не становится менее важным. Сегодня огромное значение имеет скорость и качество работы исполнителя, при этом время не должно тратиться впустую. Отрендеренные кадры или секвенции всегда можно перерендерить на свежую голову, но от этого вы не потратите меньше времени на них. Поэтому необходимо понимать, что вы работаете правильно.

«Normal-пас добавит отрендеренной картинке еще больше света. Каждый канал можно использовать как дополнительный источник света», — Carlos Ortega Elizalde.

Совет №1: Рендерьте все по пасам

«Иногда нужно «подтянуть» уже отрендеренную картинку. Поэтому я рендерю по отдельности все элементы (фон, передний план, персонаж и пр.), и затем свожу все вместе в Photoshop. Далее я тонирую изображение с помощью корректирующих слоев, таких как selective color, hue/saturation и levels. Также при необходимости я использую виньетирование и размытие. И держусь подальше от ползунка chromatic aberration, который в последнее время используется слишком часто и не к месту», — Andrew Hickinbottom .

Работа со слоями помогает взглянуть на работу по-новому

Совет №2: Normal-пасы

«Normal-пас добавит отрендеренной картинке еще больше света. Каждый канал можно использовать как дополнительный источник света. И, хотя, это не физически корректный свет, такой подход помогает подчеркнуть важные детали и вытянуть пересвеченные или засвеченные участки изображения, имитируя rim- или bounce-светильники. Это экономит массу времени и усилий. Такой подход можно также использовать для отрендеренных анимационных секвенций в программах для композитинга», — Carlos Ortega Elizalde .

Советы, помогающие сэкономить время, очень важны

Каждая деталь, добавленная в процессе моделирования, текстурирования или освещения, сыграет на руку рендеру Carlos Ortega Elizalde

Совет №3: Не ленитесь создавать specular-пас…

«Для того, чтобы отрендерить specular-пас в Keyshot, я использую материал wax с translucency 0 и максимально выкрученной specularity, для SColor и Subsurface Color я использую черный цвет. Задний фон я также делаю черным, для освещения сцены использую HDRI Urban», — Luca Nemolato .

Пасы Keyshot используются для еще большего улучшения картинки

Совет №3: … и пас кожи

«Для того чтобы получить хороший пас кожи в Keyshot, я использую метариал Human Skin с translucency 0.7 (значение translucency также зависит от модели), roughness 0.8, затем я загружаю Texture-карту и Normal-карту. Сцену я обычно освещаю с помощью HDRI Factory», — Luca Nemolato.

Кожа стоит потраченного на нее времени, поэтому экспериментируйте, пока не получите удовлетворительный результат

Совет №4: Рендерьте только важные эелементы

«Обычно разрешение у иллюстраций для печати должно быть достаточно высоким, поэтому для финального рендера я использую разрешение в 6-8k. Для такого рендера нужны текстуры с очень высоким разрешением, что значительно замедляет работу Maya и Hypershade. Текстуры с таким разрешением нужны только для финального рендера, поэтому для тестовых рендеров я изменяю размер текстур, поскольку для работы со светом и материалами мне не нужно высокое разрешение», — Alex Alvarez .

Текстуры для этой сцены весят несколько ГБ. После уменьшения размера текстур время тестового рендера во время настройки света сократилось на 75%

Совет №5: Сначала все тестируйте

«Перед тем, как переходить к финальному рендеру, делайте несколько тестовых с низким разрешением, также проверьте, что все настройки корректны, освещение выставлено правильно, на картинке не появляются непонятные пятна или засветы. Например, для начала я рендерю с разрешением 800 х 800, которое затем увеличиваю до 1800 х1800, для финального рендера я использую разрешение 5000 х 5000, также отдельно рендерю пасы, важные на этапе поста. Картинку я сохраняю в формате HDR, поскольку хочу иметь возможность отредактировать и настроить экспозицию», — Sérgio Merêces .

Быстрый тест спасет вас от многих часов ожидания

Совет №6: Цветокоррекция

«Рендеры в формате RAW обычно выглядят не лучшим образом, но все меняется, если у вас есть возможность подредактировать картинку в Photoshop, Fusion или NUKE. При этом для важных элементов изображения можно провести цветокоррекцию, расфокусировать их, добавить шума или, наоборот, фокуса, резкости, наименее важные части изображения можно сделать более темными», — Toni Bratincevic .

Затемнение, осветление или тонирование изображения для получения лучшего результата

Вернитесь назад к концепту, если вы недовольны рендером. Как говорит Toni Bratincevic: «Если референс по факту является хорошо проработанным концептом с корректной композицией, получение качественного рендера превращается в вопрос времени и технических скиллов, с помощью которых вы будете моделировать, текстурировать и освещать сцену».

Совет №7: Используйте пасы

«Используйте рендер-пасы для всего блестящего, светящегося или прозрачного. Отдельно рендерьте задний фон, передний план и пр., что позволит более гибко работать с картинкой на композе. Прячьте все, что хоть как-то не относится к рендеру, т.е. отключайте у таких элементов тени и их участие в GI, не используйте отражения для небольших объектов. Для всего, достаточно далекого от камеры, используйте matte painting», — Francesco Giroldini .

Различные пасы добавляют картинке выразительности

Совет №8: Используйте ID matte

"ID matte - дешевый и сердитый способ изменить картинку после рендера. Назначьте элементам в сцене самый обычный красный или голубой цвета, отрендерьте их с той же камеры как beauty-пас, это поможет более эффективно работать с элементами на композе», — Francesco Giroldini.

Никогда не поздно что-то исправить

Рендерьте только то, что действительно нужноFrancesco Giroldini

Совет №9: Постарайтесь увидеть всю картинку

«Финальный рендер составляет 90% от картинки, остальные 10% приходятся на пост, что решит, будет ли ваша картинка более CGI или фотореалистичной. В свободное время изучите минусы рендерера, которым вы пользуетесь, и возможности получения с помощью него более реалистичной картинки. Такие элементы как блики, световой ореол, свечение, зерно и контраст добавляются уже на посте. Такие инструменты как Magic Bullet Looks легки в использовании и позволяют работать в режиме реального времени, что делает процесс имитации какого-либо эффекта более быстрым по сравнению с рендерером», — Alex Alvarez.

Различные варианты изображения, полученные с помощью Photoshop и Magic Bullet

Так выглядел финальный рендер работы «Meadow» в mental ray, который Alex Alvarez затем обработал Alex Alvarez

Эти текстуры Alex Alvarez исключил из финального рендера Alex Alvarez

Совет №10: Рендеру время, потехе час

При условии корректно выполненной работы вы будете несказанно рады финальному рендеру, а законченному продукту обрадуетесь еще больше. А если нет, то задумайтесь о следующем проекте. В следующий раз вы будете еще более искусно моделить, текстуры будут невесомы, свет ослепительным, а рендер идеальным. В следующий раз у вас получится воссоздать картинку из головы. А если нет? Что ж, попробуйте еще раз, а потом еще раз, и еще раз.

«Используйте рендер-пасы для всего блестящего, светящегося или прозрачного» Francesco Giroldini