Инфа по геометрии

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

Модератор: Mikle

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Инфа по геометрии

Сообщение Создатель » 18.07.2006 (Вт) 17:23

Вот только начал изучать азы dx9 на vb.net...Инфы по самой технологии пока хватает, но вот некоторые вещи остаются трудноватыми. Вот,например, как сделать чтобы камера поворачивалась в сторону движения мыши и т.д, вобщем вся система ориентации и перемещения в мире.
В основном тут геометрия и все выше написанное я как смог вычислил и реализовал, но как-то кривовато получилось и хотелось бы посмотреть, как это делают профи...Может есть у кого инфа (формулы или какие-то объяснения) об организации всего этого для dx9?
Заранее благодарен.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 18:57

Я напишу как оно есть в DirectX8 а в DirectX9 тоже самое только другие названия классов:
Если ты знаком с DirectInput то поймёшь что я написал:
Код: Выделить всё

Dim DI As DirectInput8
Dim Mouse As DirectInputDDevice8
Dim MState as DIMOUSESTATE
Сначала проводим инициализацию самой мыши:
Set DI = DX.DirectInputCreate()
Set Mouse =DI.CreateDevice("GUID_SySMouse")
Mouse.SetCommonDataFormat DIFORMATMOUSE
Mouse.SetCooperativeLevel hWnd, DISPL_BACKGROUND Or DISPL_NONEXCLUSIVE
Mouse.Acquire
Sensivity = 1

Вот как поворачивать камеру:
Mouse.GetDeviceStateMouse MState
Dim RotVec as D3DVECTOR
Dim rDiv as Single
rDiv = 100 / Sensivity
'RotVec это текущий угол поворота камеры
'Ограничим угол поворота камері вверх вниз
If RotVec.X > Pi / 2 Then RotVec.X = Pi/2
If RotVec.X < -Pi/2 Then RotVec.X = -Pi/2
RotVec.X = RotVec.X - CSng(MState.lY) / rDiv
RotVec.Y = RotVec.Y - CSng(MState.lX) / rDiv
RotVec.Z = 0
'Ставим позицию
D3DXMatrixTranslation matView,-CamPos.X,-CamPos.Y, -CamPos.z
D3DDevice.SetTranform D3DTS_View, matView
'И поворачиваем матрицы
D3DXMatrixRotationX matView, RotVec.X
D3DDevice.SetTransform D3DTS_VIEW, matView
D3DXMatrixRotationY matView, RotVec.Y
D3DDevice.MultiplyTransform D3DTS_VIEW, matView
#define ROFL 0xDDDD

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 18.07.2006 (Вт) 20:49

Хех,спасиб...буду разбираться. Я то пытался делать через углы между oy и oz, oz и ox (в левой системе коорд.). Через тригонометрию вычислял координаты обяекта, куда должна смотреть камера...(как оцените такой способ?)

Вот видно придется разбираться с матрицами.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 21:03

Создатель
Судя по всему ты ещё не разобрался с ДиректХ т.к. тут всё делаеться через матрицы... Даже наложение текстур... А вообще лучше не париться, а юзать rRenderer - мой дивжок...
Скачать его можно тут:
www.rrenderer.h16.ru/Files/SDK_Full.rar
А обсудить то что не получаеться тут:
www.fire-lines.com/partners/rrenderer/forum/
И вообще VB6 мне кажеться проще чем .NET... Так что юзай...
#define ROFL 0xDDDD

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 18.07.2006 (Вт) 21:14

Так в этом и весь смысл, я не хочу использовать чужой движок, самому охото понять что здесь и как...может быть потом и придется использовать что-то чужое, но тогда я хотя бы буду знать принципы и основные понятия...
Ну а насчет vb6 vs vb .net ...так эт отдельная тема =)

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 18.07.2006 (Вт) 21:19

www.rrenderer.h16.ru/Files/SDK_Full.rar

На новый сайт перезалить? А то сам никогда не сподобишся...
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 21:22

keks-n
Просто не успел файлы залить... На новый вот и даю ссылки старого! Форум на новом!
:)
Создатель
Я тоже начинал с iRender3D и вон со временем уже свой написал! Надо начинать с простого - двиг очень простой... Что не понятно подскажу, а потом у меня есть серия примеров для новичков написанная на ВБ6... так что давай регайся на форуме и качай двиг :D
#define ROFL 0xDDDD

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 18.07.2006 (Вт) 21:30

За неделю-то? Короче, SDK_Full залито и лежит в поддиректории Files
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 21:35

#define ROFL 0xDDDD

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 18.07.2006 (Вт) 21:42

Да, там... И качается быстрее, чем со старого хостинга.
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 21:58

keks-n
Это хорошо!
#define ROFL 0xDDDD

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 18.07.2006 (Вт) 22:02

DirectXManiac писал(а):keks-n
Просто не успел файлы залить... На новый вот и даю ссылки старого! Форум на новом!



Зачем ты на себя винишь. Это я не успел. Я должен был закачать.

Ссылки все будут выглядеть так:

www.fire-lines.com/partners/reget.php?file=xxxx

но попоже
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 23:23

Хакер
Ну это я так... :)
#define ROFL 0xDDDD

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 18.07.2006 (Вт) 23:28

Хакер
Ну это я так... :)
#define ROFL 0xDDDD

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

Сообщение Mikle » 17.09.2006 (Вс) 15:45

Я надеюсь adaltdorb1 будет забанен.

Правка:
Не успел написать - а пост уже удален. Модераторы работают оперативно!


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

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

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

    TopList