to post messages and comments.

На обновлённой 8.1 заметил лютые проседания fps и фризы в играх, использующих dx_11. Карта HD5850 toxic, дрова разные пробовал (сейчас последняя бетка, всё то же самое). Надеюсь, кто-нибудь сделает то, чего не смог гугл, и подскажет куда копать :(

Кстати, я тут начал писать небольшую библиотеку-обертку над Direct3D 10/11

На плюсцах, но с COM-интерфейсом(т.е. использовать можно хоть из лиспа).

Может, кому полезно будет. Сорцы вот тут:
github.com
Там есть и пример — в директории Triangle.

Сколько не сижу на венде, не пишу под ней и для неё, всё диву даюсь как на этом ещё кто-то сидит, как оно стало популярно и как вообще MS хватает терпения писать и поддерживать такое, простите, дерьмище. Дерьмище, оно же ВСЁ, всё что пишут MS.
Чуть больше конкретики:
Все знают, что не редко приложение может терять контекст, устройство Direct3D. После его потери, необходимо произвести восстановление как ресурсов, так и самого устройства. Алгоритм прост:
1) Удалить D3D ресурсы(Release или OnLostDevice)
2) Восстановить устройство(Reset)
3) Восстановить ресурсы(с нуля создать или OnResetDevice)

Но вот есть одна проблема. Если хоть ОДИН из ресурсов не будет удалён до Reset, но будет использован для рендера до потери устройства, то Reset будет невозможен, а иногда даже может вызывать Access Violation Exception, который, обычно, не хендлится приложением, так как это SEH-исключение.
А знаете что хуже всего? Отловить где же и почему это исключение появилось — не реально. Как и не реально узнать, какой ресурс, а главное где, не был релизнут. Приходится отрубать куски кода, пока не заработает.

Не все знают, но функция c_str() возвращает всегда новый объект, при этом он живёт только в текущем скоупе. Вызвали в функции, вышли из ней — и всё, указатель уже инвалиден. В связи с этим может появиться такой вот баг с DrawText:
1) Создаётся строка wstring до рендерринга.
2) Начинается рендерринг
3) Вызывается DrawText(str.c_str())
4) Включается какой-нибудь хитрый дебаггер.
5) Выход из тела функции рендерринга.
6) Рендерринг текста во внутреннем цикле D3D.
7) Эксепшн.

Как и обещал, выкладываю готовую D3D9 прокси-длл — github.com
Суть проста:
Одна функция для хукинга — первый аргумент — оффсет функции в vtable(можно взять из enum'а в common.h), вторая — ссылка на функцию-хук.
Одна для анхукинга — то же самое, но без ссылки на функцию.
Пока всё очень скомканно и только для функции EndScene, но этого хватает.

Это будет статья о рисовании реалистичной водички на D3D11.
на основе вот этого кода:
github.com

Я поделил статью на три части и запостил первую на хабр, в которой описываю архитектуру D3D.

Было бы печально если бы статья просто пропала, например.

жуйк, есть игрушка 2001 года. Хочу ее запустить в окне. Сама она этого не умеет. Alt-Enter, она даже не "альттабица". Пробовал ключики для ярлыка, типа -w -window и пр. Пробовал софт AKA D3DWindower (виснет), и DxWind. С последним я по крайней мере добился того, чо узнал где оно падает при попытке создаться в окне. Создание IDirect3D2 вываливается, а потом просит проверить наличиие прямогоХ 5. Собствено в фуллскрине все ок. Может кто знает, куда еще ковырнуть, уж шибко не охота поднимать под это дело виртуалку...

Джава и C# это как OpenGL и DirectX: вроде как джава кроссплатформенная, её любят многие члены FOSS-коммьюнити, она хорошая и даёт что нужно, но при этом, C# моднее, красивее, удобнее, фичастее, современнее.

Direct3D 10/11 Is Now Natively Implemented On Linux!

It's a pity Luca Barbieri or any Mesa / Gallium3D developers are not at Oktoberfest as they are deserving of more than a few Maß of Augustiner. In fact, today a new Gallium3D state tracker was pushed into Mesa and it's perhaps the most interesting state tracker for this open-source graphics driver architecture yet. It's a state tracker that exposes Microsoft's DirectX 10/11 API on Linux! And it's already working and can be hooked into Wine!

phoronix.com

... Thanks to the great design of Direct3D 10/11 and closeness to Gallium ...Это просто разорвало меня на куски

Грядёт DirectX 10/11 поверх Gallium3D.
Gallium3D — это драйверная архитектура для ускорения различного спектра API, от OpenGL ES и OpenVG, и до OpenGL и OpenCL.
Со слов Майкла Ларабэля (Michael Larabel) стало известно, что с помощью данной прослойки через какое-то время будет возможно поддерживать и Microsoft's DirectX API.