Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перевод 2x-Point крана в 3x-Point сцены

Аноним
Давно думал сделать шашки на опенгл,чтобы трехмерные.Нарисовал доску,все есть для начала.Шашки расставил.
Но не знаю как кликать на нарисованную клетку.Надо перевести 2х мерные координаты курсора в 3х мерные кординаты опенгл сцены.И еще чтобы учитывались изменения x,y,z,потому что доска вращается.
Помогите с математикой.Жду советов,вычислений,и примеров.Будет код-доделаю шашки.
Исходник шашек есть на сайте в той же рубрике.
9
18 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Если интересует Object Picking, то теория здесь.
Практический пример можно получить здесь.
Аноним
мда,почитал,Нормальный учебник,но там примеры для директс.Если начу использовать эти коды вычислений то мне придется отлаживать прогу дня 3-4.((((
9
18 июня 2009 года
Lerkin
3.0K / / 25.03.2003
М-да... Спешишь куда?
Аноним
Представляешь,как буду регулировать формулы,чтобы сработало "тык" на клетку а...4? Никакого терпения не хватит.Тем болле директ читал пару часов,ниче там не знаю

Цитата:

D3DXVECTOR3 MGM_MakeRay(float FOV,float AspectRatio,WORD MouseX,WORD MouseY,float range)
{
D3DXVECTOR3 LineEnd,CameraSpacePos;
float NMouseX,NMouseY,det;
D3DXMATRIX matView;

NMouseX=1.0 - 2.0*MouseX/640;
NMouseY=1.0 - 2.0*MouseY/480;

//is FOV in radians
CameraSpacePos.y=(NMouseY*tan(FOV/2.0));
CameraSpacePos.x=((-NMouseX/AspectRatio)*tan(FOV/2.0));

LineEnd.x=range*CameraSpacePos.x;
LineEnd.y=range*CameraSpacePos.y;
LineEnd.z=range;

lpDevice->GetTransform(D3DTRANSFORMSTATE_VIEW,(D3DMATRIX *)&matView);
D3DXMatrixInverse(&matView,&det,&matView);
D3DXVec3TransformCoord(&LineEnd,&LineEnd,&matView);
return LineEnd;
}



Пугают выражения типа D3DXVec3TransformCoord,D3DXVECTOR3 MGM_MakeRay

3ддхд6д7) ну на фиг

9
19 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: gongex
Представляешь,как буду регулировать формулы,чтобы сработало "тык" на клетку а...4? Никакого терпения не хватит.Тем болле директ читал пару часов,ниче там не знаю


DX3D сам не знаю, но пол-минуты в хелпе по нему дают представление о том, что такое D3DXVECTOR3. Еще 5 секунд, и уже в курсе, что делает D3DXVec3TransformCoord (хотя название и параметры уже дают примерное представление). Ну, а повторить функциональность для собственного типа координат - дело техники.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог