Visual Basic 2008 и DirectX

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 08.10.2008 (Ср) 8:54

День добрый. Никогда не занимался 3D графикой, но недавно загорелся.
Скачал DX SDK и VB 2008 Express. (на VB не писал ничего уже года три... 1С поломало сознание :mrgreen: )
Конкретно примеров для VB 2008 нашел только один и без текстурирования. С источниками света, камерой, и стандартными заготовками типа Box более ли менее разобрался...
Но вот с текстурированием возникли проблемы... :(
Вопрос в следующем- как вывести хотя бы два полигона с натянутой на них текстурой.

Или может у кого-нибудь есть комментированный пример простенького движка? Для ознакомления.(именно на 2008, переводить с 2005 не получается) буду очень благодарен. :oops:
...или как-то так...

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 08.10.2008 (Ср) 9:12

Master_Zolan
Здесь в основном все используют VB6 и DX8, был SDK для MDX1 и vb.NET 2003, но для vb.NET 2005 уже не было, и даже примеры для 2003 на 2005 работают некорректно, я описывал проблему, глянь в этой теме:
viewtopic.php?f=2&t=37510
Может на 2008 заработает лучше?
Скинь, если не сложно, тот пример, что ты нашел, и еще скажи, в SDK по прежнему только примеры для C++ и C#?

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 08.10.2008 (Ср) 9:23

http://www.gotdotnet.ru/LearnDotNet/VBNET/500739.aspx
не глянул, там 2005 :D, но я насколько помню, ни одной строчки кода не правил- запустилось...

SDK август этого года... Примеры только на С++, шарпа я не заметил...
...или как-то так...

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 08.10.2008 (Ср) 12:57

Блин, в обед посмотрел, по сути нет особо инфы по DX SDK и VB2005, VB 2008... а инфы на русском так вообще- одна статья (все та же).
Надо копать... есть ещё люди, которые на этих платформах работают?
Может будем инфу искать, переводить... и все это складировать в одном месте? :shock:

Интересно- найдутся ли идейные союзники, моему начинанию?
...или как-то так...

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Visual Basic 2008 и DirectX

Сообщение DODge » 08.10.2008 (Ср) 16:56

Master_Zolan писал(а):... есть ещё люди, которые на этих платформах работают?

Есть :)

Master_Zolan писал(а):... Может будем инфу искать, переводить... и все это складировать в одном месте?

Это врядли, кому это надо? Разве что если Mikle перейдёт на новую платформу и напишет книгу как про VB6(повторюсь, что врядли, а жаль)

Master_Zolan писал(а):... Интересно- найдутся ли идейные союзники, моему начинанию?

Смотря что ты хочешь начинать! :)
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 09.10.2008 (Чт) 9:49

DODge писал(а):что врядли

Не так уж и вряд ли, только сначала нужно нужно найти работоспособное сочетание. Новый пример тормозит так же, как и те, которые писал я. Я, естественно, выкинул из кода ограничение скорости и поставил счетчик FPS. Но это все в vb2005 Express, пробовал Professional - та же история.
Master_Zolan
Посмотри примеры по ссылке из второго поста, особенно FPS_Test, как на vb2008, тоже тормозит?

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 09.10.2008 (Чт) 16:14

с этим примером у меня тормозов не наблюдается... с работы приду гляну фпс...
...или как-то так...

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 09.10.2008 (Чт) 19:18

Вот еще один пример...
http://www.cad-angebote.de/vb2008directx9_tutorial.html
...или как-то так...

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 09.10.2008 (Чт) 19:45

http://www.wretch.cc/blog/kanrin0829/11860063
:D :D :D

Нарыл только что!!! Работает!!! то что и хотел узнать!!!
...или как-то так...

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 10.10.2008 (Пт) 9:18

Master_Zolan писал(а):с этим примером у меня тормозов не наблюдается... с работы приду гляну фпс...

Там 30 FPS, ограничено в самом примере, "с виду" это уже не тормоза, посмотри мой пример, это важно.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Visual Basic 2008 и DirectX

Сообщение DODge » 11.10.2008 (Сб) 0:48

Народ, о чём вы говорите? :shock: Эти все примеры корявые, и написаны людьми с "кривыми руками". Я, к примеру, сижу на 2008-ом уже чуть больше года... У меня в проекте рисуется территория, дальностью в несколько километров с кучей объетов на ней (деревья, дома, и много чего мелкого), в придачу идёт анимация персов как минимум из 20 штук с 3000+ поликами на каждом... И сколько вы думаете кадров?
До 150!!!
А вы ещё говорите о каком-то там квадратике...

Система (к сведению):
Core 2 Duo 6300 (1800x2)
2048 Mb
NV GF 9600GT 512 Mb
WinXP SP2
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 11.10.2008 (Сб) 8:54

DODge писал(а):Народ, о чём вы говорите? :shock: Эти все примеры корявые, и написаны людьми с "кривыми руками".

Если ты так крут, объясни, почему в тех примерах тормоза, хотя бы в моем, по ссылке из п.2. Там всего страница кода.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Visual Basic 2008 и DirectX

Сообщение DODge » 11.10.2008 (Сб) 23:35

Ну во-первых я не так уж крут, просто тот проект коммерческий и о таких ошибках речи быть не может. Во-вторых, Mikle, со всем к тебе уважением, человек, который многим новичкам здесь помог, сам допускаешь такие простые ошибки. Я о той теме о быстродействии, что ты указал (Tutorial.rar). Там же невооружённым взглядом видно причину "тормозов", хоть там и стоит SwapEffect в режиме Discard, но это не значит смена буфферов будет неимоверно высокой. По умолчанию, при таком создании девайса включена вертикальная синхронизация... добавь к перечислению подобную строчку
Код: Выделить всё
presentParams.PresentationInterval = PresentInterval.Immediate
и я думаю счётчик превысит значение в 10.000
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 12.10.2008 (Вс) 16:14

Ну что, счетчик действительно взлетел до нескольких тысяч...
Те примеры писали люди с "кривыми руками" из Майкрософт, это туториалы к первому MDX, коими приходится пользоваться, поскольку ко второму для VB не сделали SDK. Я только счетчик FPS добавил. На VB2003 это все летало без PresentInterval, как и на DX8, PresentInterval влиял только на быстродействие в полноэкранном режиме, кроме того, пока он не был включен, FPS был порядка 33-35, ну никак не похоже на частоту кадров, даже мысли не возникало.
Так что первая проблема на пути MDX решена.

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

ХЭЛП ми

Сообщение Master_Zolan » 13.10.2008 (Пн) 13:05

Там 30 FPS, ограничено в самом примере, "с виду" это уже не тормоза, посмотри мой пример, это важно.


Посмотрел- 72-75

Помогите плиз. Я уже несколько раз переписывал, исправлял готовые примеры- есть ли у кого-нить пример кода.

Полноэкранный режим (не понял как ставить.)

Есть куб на каждой грани своя текстура.
Внутри куба - камера.
Мышкой камеру можно вращать, просматривая внутринние грани с текстурами.


у меня обязательно что-нить не получается. :(
...или как-то так...

Bazilius
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 14.11.2003 (Пт) 16:07
Откуда: Пермь

Re: Visual Basic 2008 и DirectX

Сообщение Bazilius » 14.10.2008 (Вт) 0:24

Примеры кода для VB.NET и DirectX можно найти здесь: http://www.apress.com/book/catalog?category=33 - просто находите книгу по использованию DX, переходите по ссылке и на левой стороне странички (раздел Book Extras) выбираете ссылки на исходники, прилагающиеся к книге (Source Code). Для примера, исходники можно взять здесь - Beginning .NET Game Programming in VB .NET (http://www.apress.com/book/downloadfile/1856) - нашел в куче примеров, как сделать полный экран. Единственное, что открывал исходники в SharpDevelope, а не в VisualStudio.
Можно еще попробовать и VB+XNA: http://ilovevb.net/web/Default.aspx, http://ilovevb.net/Web/blogs/vbxna/default.aspx, http://www.alanphipps.com/VisualBasicdotNET-XNA.html. Правда, Xbox не поддерживает VB.NET, поэтому, на мой взгляд, особой целесообразности нет.
P.S.: Проверил в VS2008EE - работает.
In the grim darkness of the far future, there is only war!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 14.10.2008 (Вт) 8:53

Кто может скинуть .chm файл из SDK для C#, MDX версии 2.0?
Качать целый SDK мне сложновато, хотя, при возможности, конечно, скачаю.
Для vb там SDK уже нет, а использовать MDX1.1 версию больше не хочу, только в заблуждение вводит.
Вчера решил плотно присесть на MDX, весь день переводил свой старый проект с DX8, чем дальше проникаюсь - тем больше нравится, сложностей с MDX практически не возникает, больше сложности с самим vb.NET, но все это преодолимо, а, главное, интересно.

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Re: Visual Basic 2008 и DirectX

Сообщение StimorolD3DX » 14.10.2008 (Вт) 9:20

Xbox не поддерживает VB.NET, поэтому, на мой взгляд, особой целесообразности нет

Жжош, Xbox даже незнает что такое VB.NET и C#.

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 14.10.2008 (Вт) 9:22

Кто может скинуть .chm файл из SDK для C#, MDX версии 2.0?

вечером сбросить попробую.

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


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

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 14.10.2008 (Вт) 9:37

Master_Zolan
Я уже давал примеры, тем есть и текстурирование. Добавь строку, как писал DODge, в остальном примеры рабочие.
Box вполне можно затекстурить разными текстурами, потому, что там не 8, а 24 вертекса. Шесть квадратов делать не нужно. Чтобы видеть Box изнутри - поменяй culling или отключи. Делаешь SkyBox?

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 14.10.2008 (Вт) 10:07

Я уже давал примеры, тем есть и текстурирование. Добавь строку, как писал DODge, в остальном примеры рабочие.
Box вполне можно затекстурить разными текстурами, потому, что там не 8, а 24 вертекса. Шесть квадратов делать не нужно. Чтобы видеть Box изнутри - поменяй culling или отключи.

Спс, попробую...

Box вполне можно затекстурить разными текстурами

А как это сделать?

Делаешь SkyBox?

Почти =)
Нет, изначальная задумка- панорамный фотоквест (типа Дракулы, но не рендер, а именно фото)...
...или как-то так...

Bazilius
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 14.11.2003 (Пт) 16:07
Откуда: Пермь

Re: Visual Basic 2008 и DirectX

Сообщение Bazilius » 14.10.2008 (Вт) 10:45

StimorolD3DX писал(а):
Xbox не поддерживает VB.NET, поэтому, на мой взгляд, особой целесообразности нет

Жжош, Xbox даже незнает что такое VB.NET и C#.

Ууупс, имелось ввиду Xbox 360...
In the grim darkness of the far future, there is only war!

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 14.10.2008 (Вт) 20:36

Куб сделал, изнутри его видно...
Box вполне можно затекстурить разными текстурами


а как? хоть примерно...
...или как-то так...

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Visual Basic 2008 и DirectX

Сообщение DODge » 14.10.2008 (Вт) 21:50

Mikle писал(а):Вчера решил плотно присесть на MDX, весь день переводил свой старый проект с DX8, чем дальше проникаюсь - тем больше нравится, сложностей с MDX практически не возникает, больше сложности с самим vb.NET, но все это преодолимо, а, главное, интересно.

Mikle, целиком и полностью поддерживаю твои начинания. К слову, года полтора назад, узнав вообще о существовании .NET технологий, я реально вначале в них сильно сомневался, но когда уже пришлось на них пересесть по некоторым причинам, я открыл для себя кучу возможностей (имеется ввиду среда разработки, DX9 и его преимущества перед 8-м). Так что и тебе успехов, и быть может, Книга про Visual Basic 2008 & DirectX9 не миф :)
Mikle писал(а):Кто может скинуть .chm файл из SDK для C#, MDX версии 2.0?

У меня на рабочем компе было где-то, причём для VB. Откуда он вообще взялся, врядли смогу сказать. Постараюсь найти.
Master_Zolan писал(а):а как? хоть примерно...

Здесь, на форуме, очень много примеров, правда, конечно на VB & DX8. Просто поищи, почитай, всё же есть :)
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 15.10.2008 (Ср) 12:54

Master_Zolan
Конвертируешь формат вертекса в XYZ_Norm_Tex1,
локаеш вертексный буфер, заполняеш tu и tv, конвертируешь в XYZ_Tex1.
Конверт идет два раза потому, что по нормали легко определить к какой грани принадлежит треугольник, что необходимо для заполнения текс. координат. После заполнения нормали уже не нужны.
Для рендера вызываешь не DrawSubset, а DrawIndexedPrimitives для каждой грани, подставляя нужную текстуру. Еще можно шесть текстур склеить в одну, тогда будет достаточно одного DrawSubset.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Visual Basic 2008 и DirectX

Сообщение DODge » 18.10.2008 (Сб) 23:08

Mikle
Извини, походу я обманулся (т.к. ни разу не пользовался), ссылки на помощь DX9 по VB перенаправлялись на C++ вариант. Но если всё ещё интересно, хелпы то в архивах весят по ~10 Мб.
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 19.10.2008 (Вс) 10:00

SDK для плюсов у меня есть. Я хотел шарповские - переводить легче.

Master_Zolan
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 07.10.2008 (Вт) 12:11
Откуда: г. Ростов-на-Дону

Re: Visual Basic 2008 и DirectX

Сообщение Master_Zolan » 22.10.2008 (Ср) 8:40

Всем привет. Ну вобщем так или иначе, но у меня получилось то, что хотел... но как это бывает естественно, родились вопросы...
Код: Выделить всё
' Инициализация Direct3D в окне программы
        Direct3D_PresentParameters.Windowed = True
        Direct3D_PresentParameters.SwapEffect = SwapEffect.Discard
        Direct3D_PresentParameters.EnableAutoDepthStencil = True
        Direct3D_PresentParameters.AutoDepthStencilFormat = DepthFormat.D16
        Direct3D_Device = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, CreateFlags.SoftwareVertexProcessing, Direct3D_PresentParameters)
        Direct3D_Device.Transform.Projection = Matrix.PerspectiveFovLH(CSng(Math.PI) / 4, 4 / 3, 1, 100)


Как я понимаю- Direct3D_PresentParameters.AutoDepthStencilFormat = DepthFormat.D16 - 16 битная цветность... как поставить 32?
я ставил DepthFormat.D32... но тогда на следующей строчке программа вылетает.
И кстати- как сделать "фулскрин" который бы потом на место все настройки графики для винды ставил.

И вот ещё вопрос по поводу камеры... в моем случае камера свободно вертится внутри куба... т.к. это в конечном итоге должен быть панорамный квест, то как вообще можно реализовать взаимодействия с участками на гранях куба?
...или как-то так...

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Visual Basic 2008 и DirectX

Сообщение Mikle » 22.10.2008 (Ср) 13:00

DepthFormat - это формат Z-буфера, он бывает D16 и D24S8, второй для стенсила.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Visual Basic 2008 и DirectX

Сообщение DODge » 22.10.2008 (Ср) 22:52

Master_Zolan писал(а):Как я понимаю - Direct3D_PresentParameters.AutoDepthStencilFormat = DepthFormat.D16 - 16 битная цветность... как поставить 32?
я ставил DepthFormat.D32... но тогда на следующей строчке программа вылетает.

Попытаюсь объяснить почему вылетает. AutoDepthStencilFormat - это не глубина цветопередачи, а формат "третьей координаты" (как правильно подметил Mikle), так называемой "offscreen surface", в которой хранится, в прямом смысле слова, дальность расположения пикселя от камеры. Таким образом записывая в каждый пиксел наименьшее расстояние до камеры, мы видим правильное "перекрытие" полигонов в автоматическом режиме (слово "Auto" в названии).
D16 - самый распостанённый его вариант, появившийся в первых видеокартах с аппаратным T&L (transforming & lighting)
D32 - естесственно покажет самые качественные результаты рендеринга, и снизит до минимума такое явление как "Z-fighting". Проблема в том, что даже не все самые мощные карты поддерживают такой формат (если не изменяет память, только с >= 1Gb видеопамяти на борту)

Master_Zolan писал(а):И кстати- как сделать "фулскрин" который бы потом на место все настройки графики для винды ставил.

Код: Выделить всё
Direct3D_PresentParameters.Windowed = False

Только не забудь потом заполнить поля в том же перечислении, начинающихся с ".BackBuffer*** ", а если хочешь запускать фуллскрин с настройками рабочего стола, то воспользуйся соответствующими полями из "Direct3D.Manager.Adapters(0).CurrentDisplayMode".

Master_Zolan писал(а):И вот ещё вопрос по поводу камеры... в моем случае камера свободно вертится внутри куба... т.к. это в конечном итоге должен быть панорамный квест, то как вообще можно реализовать взаимодействия с участками на гранях куба?

Используй сферическую систему координат (или как там её...), короче не стандартной (ортогональной) системой.
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

След.

Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList