Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Статьи / San Base: Авангард компьютерной графики (2 стр)

San Base: Авангард компьютерной графики (2 стр)

Автор:

Tom’s Hardware: Вы используете графические карты в вашей работе. Можете рассказать, что за видео карты Вы используете и зачем?

Сан Басе: Большинство современных графических процессоров недостаточно мощны для генерации картин в реальном времени, и только последние разработки программируемых видео карт имеют эту технологическую возможность. Вместо использования видеокарт для построения трехмерных изображений, как это делают видеоигры, моя технология работает внутри самой видеокарты, используя ее на самом низком уровне, посредством т.н. шейдеров. Это намного повышает производительность. Алгоритмы для прорисовки выводят изображение с помощью пиксельной программы вывода (пиксельного шейдера). Другими словами программа использует графический процессор, прорисовывая пиксель за пикселем в любых желаемых разрешениях с самым высоким уровнем детализации. Это пример использования видеокарт, который  называется “использование графического процессора для процессорных вычислений” (GPGPU). Архитектура построена таким образом, что нет ограничений на разрешение, и я могу сделать изображение очень большим, вплоть до 80—100 мегапикселей, что уже пригодно для печати на настоящем холсте.

Tom’s Hardware: Какой API интерфейс (интерфейс прикладного программирования) Вы используете, и почему Вы выбрали движком к скринсейверам, которые представлены на вашем WEB-сайте, именно DirectX 9 версии?

Сан Басе: Сначала я пробовал работать на OpenGL, но в настоящее время для скринсейверов я использую DirectX 9. На самом деле мои динамические картинки хорошо поддерживаются OpenGL. Первоначально я разрабатывал ядро используя только OpenGL, однако вскоре я столкнулся с проблемами совместимости со старыми широко распространенными видеокартами. Во-первых, язык OpenGL (GLSL) немного отличается на видеокартах Nvidia и ATI (AMD), что приводит к различиям в работе приложений на картах этих разных производителей. Во-вторых, огромной проблемой  было заставить шейдеры работать на старых медленных моделях видеокарт. Во многих ситуациях OpenGL переключается на программную реализацию  вместо аппаратной, что резко ухудшает производительность.

Tom’s Hardware: Вы упоминали, что GPGPU является сердцем вашей технологии. Вы используете какой-то специальный GPGPU язык, такой как Brook или CUDA, или какой-нибудь другой набор для разработчика (SDK)?

Сан Басе: Нет, я не использую никакие специальные инструменты для программирования шейдеров.  В GPGPU-направлении используется GPU (блок обработки графики) для различных видов вычислений и это может быть прекрасным инструментом для API графики, в которой применяются сложные эффекты. Но я не использую это готовое GPGPU решение потому, что нет 100% совместимости с различным «железом», собственно это и было причиной разработки мной своего собственного ядра.

Взглянем немного глубже

Изображение

Tom’s Hardware: Могли бы вы объяснить, на чем основано ядро визуализации и как работают ваши динамические картины?

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

Tom’s Hardware: На сколько большие шейдеры вы применяете?

Сан Басе: Все зависит от картины. Например, в самом большом шейдере я использовал около 500 команд. Это допустимо при использовании шейдеров модели 3.0 в DirectX 9. По ходу генерации изображения реальное количество выполняемых команд может быть даже существенно больше чем 500. В одной картине задействовано несколько десятков шейдеров.

Tom’s Hardware: Какие плюсы вы получили, перейдя от модели 2.x шейдеров к 3.0 и от 3.0 к 4.0?

Сан Басе: Модель шейдеров 3.0 добавила динамики в процессе контроля, появилось больше  градиентных команд и других объектов по сравнению со старыми 2.х и 2.b шейдерами. Однако я столкнулся с ограничением по количеству команд для видеокарт в DirectX 9, поэтому я собираюсь перейти на шейдеры модели 4.0 в DirectX 10, сразу, как только она станет доступна. Модель 4.0 позволит делать шейдеры практически неограниченными по длине и по сложности, это очень важно для дальнейшего развития этой технологии.

Динамика, выразительность и художественный подход

Изображение

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

Как-то проходила дискуссия между художниками одного форума о том, могут ли методы работы Сан Басе считаться искусством. Пока эта тема была на форумах, некоторые художники уже вступили в противоборство с компьютерными «творцами». Они не считают искусством работы, которые Сан Басе сгенерировал, а рассматривают это скорее как компьютерную визуализацию, реализованную программным кодом. Используя тот же набор критериев, можно спорить и о работах знаменитого художника Джейсона Полока, который выливал краску на холст, лежащий на земле. Работы Поллока написаны в стиле, который он называет «Активная Живопись» и это справедливо считается высоким искусством, хотя он совершенно не контролировал каждую каплю краски на холсте.  Но и «Динамическая Живопись» Сан Басе не менее заслуживает это определение.

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

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

Tom’s Hardware: С того дня, когда ваш компьютер стал генерировать изображение, какой стала ваша роль, как художника?

Сан Басе: Как художник, я создаю основную концепцию рисунка, выбираю цвета, формы и принципы их развития. Даже самые современные компьютеры не обладают «чувствами», это не искусственный интеллект. Компьютер не может создать и оценить изображение, он просто выполняет определенные команды. Компьютер — это просто инструмент в руках художника.

Далеко не секрет, что многие художники, которые придумали запоминающийся стиль, используют его многие годы, рисуя похожие по характеру картины и не особо утруждая себя творческими исканиями. Я просто автоматизировал этот процесс. Динамическая Живопись обладает такой особенностью, как невероятно высокая производительность, что позволяет генерировать несколько картин в минуту вместо 2-3 в неделю, т.е. гораздо больше, чем может нарисовать любой художник. Самой сложной задачей является разработка идеи и сюжета динамической картины, которые может выполнить только человек, а вот уже после этого компьютер может автоматически генерировать ее вариации.

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

Tom’s Hardware: Как Вы считаете, ваша технология является частью компьютерной графики или больше традиционной формой искусства?

Сан Басе: Компьютерная графика это термин, которому соответствуют  два понятия: цифровое искусство и цифровая анимация. Цифровое искусство может быть компьютерно сгенерированным, таким, как фракталы, или это может быть сканированная фотография, или нарисованное изображение в векторной графике. Примером цифровой анимации может быть компьютерная мультипликация и видео игры. Общий знаменатель между компьютерной графикой и тем, что делаю я — это «компьютерное железо», разница в реализации.

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

Страницы: 1 2 3 Следующая »

8 ноября 2007

2001—2018 © GameDev.ru — Разработка игр