Новый язык упростит создание кинематографических эффектов

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

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

«Язык Cg заметно упростит обработку графики и создание различных кинематографических эффектов», — заявил сотрудник маркетинговой службы nVidia Джим Блэк.

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

«Крайне мало специалистов, способных писать программы на таком уровне, — пояснил Блэк. — Появление Cg не только позволит заметно расширить базу специалистов, которые смогут заниматься обработкой графики, но и упростит отладку для программистов, пишущих сегодня код на ассемблере».

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

Пакет Cg Toolkit можно загрузить с Web-сайта nVidia. Кроме того, он распространялся среди участников конференции европейских разработчиков The Gathering 2, проходившей в Лондоне.

Благодаря технологии Unified Driver Architecture (UDA), предложенной Nvidia, все инструментальные средства обладают прямой и обратной совместимостью. Кроме того, новый язык построен на основе архитектуры Unified Compiler Architecture, позволяющей запускать программы на любых графических процессорах (GPU), совместимых с Cg. Оптимизация с учетом особенностей конкретного процессора осуществляется исполняемой средой.

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

Представители nVidia не скрывают своего активного сотрудничества с Microsoft в ходе разработки нового языка и встраивания в него средств поддержки DirectX 9.0. Кроме того, по словам Блэка, NVidia тесно взаимодействует с корпорацией Apple, что гарантирует использование языком преимуществ Mac OS X.