Pull to refresh

Новый DirectX?

Lumber room
Куда ж новее-то? Десятую версию «директа» только топ-железо поддерживает, а уже вышедших игр под него раз два и обчелся. Но, несмотря на это Microsoft уже нацелилась на обновления. Причем речь идет не о правке багов и оптимизации производительности, а о появлении новой «функциональности». Появится новый DirectX 10.1 ближе к концу осени.

Беда в том, что для установки Direct3D 10.1 потребуется наличие как самой Windows Vista, так и установка обновления для нее Service Pack 1. Да и видеокарты (серии GeForce 8800 и Radeon 2900) возможности, добавленные в новой версии DirectX, не поддерживают.

Куда, интересно, Microsoft смотрит? Игроделы и так уже должны выпускать (или адаптировать) свои продукты под две системы (XP и Vista) и, в некоторых случаях, под две версии DirectX (9 и 10). Поэтому, скорее всего, незначительные (уже анонсированные) изменения — 32-битные операции с плавающей точкой, поддержка блендинга для пикселей экзотических целочисленных форматов и пр. — вряд ли будут использованы при создании или доработке движков игр.

via Absolute Games
Total votes 13: ↑10 and ↓3 +7
Views 266
Comments 41

VirtualBox научился аппаратно ускорять Direct3D

Lumber room
Открытый виртуализатор научился аппаратно ускорять Direct3D API во внешней системе. В окружении linux ускорение D3D осуществляется с использованием библиотеки WineD3D, то есть через непосредственную трансляцию вызовов DirectX в вызовы OpenGL. Тривиальный патч доступен для скачивания.

www.virtualbox.org/attachment/ticket/2940/vbox_opengl_workarounds.diff -тривиальный патч.

www.phoronix.com/scan.php?page=news_item&px=NzAyNA обзор на Phoronix.

Что ж… Виндокапец наступает…
Total votes 25: ↑14 and ↓11 +3
Views 388
Comments 16

Использование Direct3D совместно с Qt

Qt *
Однажды, у меня появилась необходимость использования Direct3D совместно с Qt. После нескольких дней поисков в интернете, я нашел всего лишь какие-то обрывки информации. Полноценного описания механизма использования Direct3D не было нигде. В результате, после долгих изысканий я добился того, чего хотел:)
Под катом находится инструкция «сближения“ Direct3D и Qt, а так же код виджета, который можно использовать as is
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 6.6K
Comments 10

Почти нативный Direct3D в VirtualBox

Configuring Linux *
Совсем недавно обновилась замечательная виртуальная машина с открытым исходным кодом от InnoTek/Sun/Oracle (нужное подчеркнуть) — среди прочих фишек в VirtualBox 3.0 была заявлена более или менее внятная поддержка DirectX 8/9 на уровне драйвера виртуального графического адаптера в гостевой Windows-машине. По хорошему, это должно было означать что сбылась мечта идиота геймера: можно гонять в любые win-игрушки не осуществляя рандомных подпрыгиваний с бубном и высушенной куриной лапкой. На деле все естественно оказалось не так просто, под катом предлагается микро-howto, позволяющее запускать в виртуальной машине DirectX-игрушки

UPD: Спасибо за карму, перенес в блог Linux для всех
Читать дальше →
Total votes 88: ↑82 and ↓6 +76
Views 43K
Comments 76

Готовит ли Microsoft WebX?

IT-companies
Disclaimer: данная статья является сугубо плодом воображения автора.

Попробуем заняться гаданием на кофейной гуще и сопоставим некоторые факты:

1. На презентации IE9 (см. подробный отчет на Хабре) было неоднократно заявлено о GPU-акселерации — в частности:
1а) рендеринга SVG;
1б) рендеринга текста через Direct2D.
2. На той же презентации ни разу не прозвучало слово «canvas». Меж тем, какие-то слухи о поддержке canvas в сеть утекают.
3. Существует проект WebGL, который поддерживают ряд производителей браузеров. WebGL — это порт библиотеки OpenGL на javascript (ну, по правде, не совсем так, но не важно), который позволяет использовать объект canvas для отображения 3d-графики в браузере.

Сделаем небольшой шаг вперед
Total votes 45: ↑29 and ↓16 +13
Views 368
Comments 74

Firefox 4.0b7

Firefox
Встречайте новую, седьмую бета-версию четвёртого Файерфокса. Переведу её основные отличия от предыдущей бета-версии, изложенные в заметках к выпуску (там же вы можете и скачать новую бету):
  • Используется JägerMonkey — новый и более быстрый вариант интерпретатора джаваскриптов. На форуме Mozilla Россия приводились следующие столбчатые диаграммы сравнения его производительности с предыдущими версиями:
     
    [диаграммы]
     
  • Поддержка WebGL по умолчанию включена в операционных системах Windows и Mac OS X, хотя и полагается покамест на то, что графическая подсистема компьютера понимает OpenGL. Поддержка других видеокарт под Windows (особенно производимых Intel), а также поддержка Линукса отложена до одной из последующих бета-версий.
     
  • Некоторые операции отрисовки будут аппаратно ускорены при помощи Direct3D 9 в Windows XP, Direct3D 10 в Windows Vista и 7, а также OpenGL на Mac OS X.
     
  • Типографика браузера отныне включает поддержку целого ряда возможностей OpenType: лигатуры, кернинг, шрифтовые варианты.
     
  • Реализация HTML5 Forms API упростит создание форм и проверку правильности их заполнения.
От себя добавлю ещё, что всё это лишь наиболее заметные пользователю и веборазработчику, но далеко не единственные перемены в новой версии.

Читать дальше →
Total votes 108: ↑95 and ↓13 +82
Views 747
Comments 119

Разработчики Firefox прилагают усилия для поддержки стереовидео («трёхмерного кино») в формате WebM (для тега video языка HTML5), сперва на видеокартах nVidia

Firefox
Об этом ещё нигде не заявляли гласно и официально. (Во всяком случае, я не слыхал ещё.) Однако, если самостоятельно пойти и хорошенько поискать, то отыскиваются самые недвусмысленные свидетельства: прямо сейчас в среде разработчиков полным ходом идёт работа над тем, чтобы тег <video> в языке HTML5 оказался пригодным в том числе и для показа стереовидеозаписей (они же «трёхмерное кино», они же «3D-видео») — по меньшей мере, на современных видеокартах nVidia.

Хорошо известно, что интернетный видеоформат WebM (активно продвигаемый Google, например) основан на контейнере «Matroska». Так вот: оказывается, разработчики контейнера ещё летом 2010 года начали оживлённую переписку (вот пример письма) по вопросу о стандартизации упаковки стереовидеозаписей в этот контейнер. В настоящее время этот процесс, по-видимому, достиг своих итогов и позволяет разрабатывать конкретные программные реализации.

И реализации не замедлили появиться!

Содержимое патчей и переписки по нескольким «багам», перешедшим в состояние «FIXED» в багзилле Фонда Мозиллы ([584255], [584259], [617220]), позволяет воочию убедиться в том, что куски NvD3D-специфичного кода (подразумевающего работу Direct3D на видюхах nVidia) ужé приземлились в разные бета-версии браузера Firefox 4 (в том числе — в последнюю, десятую бету), причём с расчётом как на DirectX 9, так и на DirectX 10.

Таким образом, грядущее вебовидение будет стереоскопическим — а не только плоским, как многие думали.

Интересно, как далеко эта эволюция может дойти. Вряд ли ход её ограничится одним только элементом <video>. Прозреваю такой аналог CSS-свойства «z-index», который будет управлять не порядком наложения слоёв, а действительной аппликатою элемента. Опять же есть ещё и WebGL…
Total votes 14: ↑9 and ↓5 +4
Views 593
Comments 2

Почему Firefox 4 не отказывается от Windows XP?

Firefox
Translation
Одной из самых обсуждаемых тем в связи с выходом Internet Explorer 9 на прошлой неделе было решение компании Microsoft оставить поддержку только Windows Vista и Windows 7. Это значит, что новый браузер не работает со старой операционной системой Windows XP.

Многие соглашаются с решением Microsoft — включая технологические медиа PCWorld и Ars Technica. В конце концов, системе Windows XP уже почти десять лет. Десять лет! Её заплесневелая система безопасности соревнуется только с неспособностью поддерживать некоторые из самых современных графических технологий.
Читать дальше →
Total votes 97: ↑75 and ↓22 +53
Views 4.1K
Comments 166

Что такое Ogre 3D и как его едят

Game development *
Sandbox
Ogre 3D – это кросс-платформенное SDK для создания графических приложений. Она имеет довольно обширные возможности, такие как полная поддержка OpenGL и Direct3D, полная совместимость с платформами Windows, Linux, Mac OS X и iOS, поддержка широкого выбора файловых форматов, продвинутая система частиц, программирования GPU и всех шейдерных языков высокого уровня и многое другое.

Если стало интересно, то прошу под кат.
Читать дальше →
Total votes 54: ↑46 and ↓8 +38
Views 24K
Comments 23

История противостояния OpenGL и Direct3D

Game development *
Translation
Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.

Зарождение конфликта
Total votes 213: ↑204 and ↓9 +195
Views 25K
Comments 132

Рисуем воду на Direct3D. Часть 1. Архитектура графического конвейера и API

Working with 3D-graphics *
Sandbox
В этой статье, разделенной на несколько частей, я в общих чертах объясню архитектуру современных версий Direct3D(10-11), а также покажу, как с помощью этого API нарисовать вот такую вот сцену кораллового рифа, основным достоинством которой является простая в реализации, но красивая и относительно убедительно выглядящая вода:
image

Читать дальше →
Total votes 50: ↑42 and ↓8 +34
Views 11K
Comments 21

Разработка системы частиц на платформе DirectX 9. Часть I

Programming *Game development *
Tutorial
Данный пост будет о том, как разработать свою собственную, и достаточно производительную (на моем компьютере спокойно отрисовывается и анимируется 1 000 000 частиц в реальном времени), систему частиц. Писать будем на языке C++, в качестве платформы будет использован DirectX 9.

Вторая часть доступна здесь.

Пример одного из кадров визуализации (кликабельно):


Читать дальше →
Total votes 56: ↑51 and ↓5 +46
Views 15K
Comments 14

Разработка системы частиц на платформе DirectX 9. Часть II

Programming *Game development *
Tutorial
Этот пост является 2-ой и последней частью статьи о разработке системы частиц на DirectX 9. Если вы еще не читали первую часть, то рекомендую с ней ознакомиться.

В этой части статьи будет рассмотрено: работа со спрайтами, вершинные и пиксельные шейдеры, эффекты, пост-эффекты. В частности для реализации пост-эффекта — приём рендера в текстуру.
Читать дальше →
Total votes 48: ↑43 and ↓5 +38
Views 12K
Comments 40

Unbiased DirectX Рендеринг на GPU, CPU и в облаке

GPGPU *
Как создать рендерер, который бы работал даже на компьютере вашей бабушки? Изначально перед нами стояла немного другая задача — создать unbiased рендер для всех моделей GPU: NVidia, ATI, Intel.
Хотя идея такого рендера для всех видеокарт витала в воздухе давно, до качественной реализации, тем более на Direct3D, дело не доходило. В своей работе мы пришли к весьма дикой связке и дальше расскажем, что нас к ней привело и как она работает.

renderbro resource combined
Читать дальше →
Total votes 83: ↑79 and ↓4 +75
Views 43K
Comments 55

В Wine добавили нативную поддержку Direct3D 9

Configuring Linux **nix *
Когда-то давно, в далеком-далеком 2010 году, один человек сделал поддержку Direct3D 10/11 State Tracker в Wine, но она была достаточно плохой, ее забросили и не включили в основную ветку. А вчера, Christoph Bumiller сделал поддержку Direct3D 9 State Tracker и написал об этом в список рассылки Wine, код проходит все wined3d9 тесты.
Причины, побудившие его сделать это, таковы:
  • Gallium не был готов для D3D11, да и до сих пор не готов, зато готов для D3D9
  • Автор не видит мотивирующих приложений, использующих Direct3D 10/11
  • Работа автора написана на C вместо C++, и не использует хаки темплейтов, чтобы заставить gcc генерировать COM-compatible vtables

Что самое важное — Direct3D 9 State Tracker работает уже сейчас.
Автор погонял Skyrim, Civilization 5, Anno 1404 и StarCraft 2 и отметил прибавку в FPS до 2 раз, но бенчмарков еще нет.
Читать дальше →
Total votes 100: ↑95 and ↓5 +90
Views 42K
Comments 103

Valve открыла исходники транслятора Direct3D в OpenGL

Working with 3D-graphics *
Компания Valve открыла исходники транслятора Direct3D -> OpenGL, выложив его на Github. Код предоставляется «as is» и не поддерживается, однако они (судя по странице проекта) принимают патчи. При этом код вряд ли соберется в том виде, в котором он выложен, и, вдобавок, в нем имеются фрагменты, написанные конкретно под движок Source Engine.
Транслятор поддерживает ограниченное подмножество Direct3D 9.0c, умеет транслировать байткод HLSL в GLSL и имеет некоторую поддержку SM3.

Оригинал новости здесь: http://www.xakep.ru/post/62185/
Total votes 39: ↑32 and ↓7 +25
Views 19K
Comments 20

Рендеринг диаграмм: не так просто, как кажется

Abnormal programming *Programming *
Что сложнее: отрендерить сцену со взрывающимися вертолётами или нарисовать унылый график функции y=x2? Да, верно, вертолёты взрывать дорого и сложно — но народ справляется, используя для этого такие мощные штуки, как OpenGL или DirectX. А рисовать график, вроде, просто. А если хочется красивый интерактивный график — можно его нарисовать теми же мощными штуками? Раз плюнуть, наверное?

А вот и нет. Чтобы заставить унылые графики вменяемо выглядеть и при этом работать без тормозов, нам пришлось попотеть: едва ли не на каждом шагу подстерегали неожиданные трудности.
Какие?
Total votes 69: ↑66 and ↓3 +63
Views 27K
Comments 58

Использование Direct3D с высокоуровневыми библиотеками компонентов VCL/LCL

Programming *Delphi *
Sandbox
Данная публикация адресуется новичкам в области программирования компьютерной графики, желающим использовать графическую библиотеку Microsoft DirectX. Сразу оговорюсь:
— затронутая тема, наверняка, относится и к OpenGL, но я это не проверял опытным путём (созданием приложений под OpenGL), поэтому в заголовке упоминаю только Direct3D;
— приводимые здесь примеры кода относятся к языкам Delphi/FreePascal, но перечисленные «рецепты» по большому счету универсальны в пределах целевой ОС (Windows) — их можно применять к любому языку программирования и, с высокой вероятностью — к любой высокоуровневой библиотеке компонентов, помимо VCL (Delphi) и LCL (Lazarus);
— данная публикация не затрагивает тему создания каркасного приложения Direct3D и методов работы с графическими библиотеками DirectX и OpenGL; все эти вещи хорошо освещены в других источниках, и мне практически нечего к этому добавлять.

Итак, ближе к теме. При разработке приложений с трёхмерной графикой для построения каркаса учебного (а тем более — рабочего) приложения обычно рекомендуется использовать чистый Win32 API… Но если очень хочется использовать в своих приложениях ещё и преимущества высокоуровневых библиотек компонентов, тогда добро пожаловать под кат.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 9.9K
Comments 21

Интеграция Oculus Rift в десктопное Direct3D приложение на примере Renga

АСКОН corporate blog Game development *CAD/CAM *Development for AR and VR *Development for Windows *
Всем привет! В этой статье хочу разобрать процесс подключения шлема виртуальной реальности к десктопному приложению под Windows. Речь пойдет об Oculus Rift.

Архитектурная визуализация — очень благодатная тема для различного рода экспериментов. Мы решили не отставать от тренда. В одной из следующих версий наших BIM-систем (напомню, что я работаю в компании Renga Software, совместном предприятии АСКОН и фирмы «1С»): Renga Architecture — для архитектурно-строительного проектирования и Renga Structure — для проектирования конструктивной части зданий и сооружений, появится возможность хождения по проектируемому зданию в шлеме виртуальной реальности. Это очень удобно для демонстрации проекта заказчику и оценки тех или иных проектных решений с точки зрения эргономики.

image

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 3.6K
Comments 4

Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11

Programming *C++ *Game development *Visual Studio *Development for Windows *
Tutorial


На Хабре уже есть много статей про использование вычислительных шейдеров с Unity, однако статью о использовании вычислительного шейдера на "чистом" Win32 API + DirectX 11 найти затруднительно. Однако эта задача ненамного сложнее, подробнее — под катом.


Для этого будем использовать:


  • Windows 10
  • Visual Studio 2017 Community Edition с модулем "Разработка классических приложений на C++"
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 9.3K
Comments 17
1