Вниз
Скачать: CL | DM;

Проецирование 3Д в 2Д.   Найти похожие ветки 

← →
@!!ex_   (2007-06-22 17:19) [0]

Возник какой то странный косяк.
http://www.gamedev.ru/images/?id=21619

http://www.gamedev.ru/images/?id=21615

http://www.gamedev.ru/images/?id=21614

Когда объект сверху экрана, то практически не заметно, что не правильно рисуется.
Когда объект внизу экрана, выделение смещается на половину размера...
Причем в фулскрине все правильно считается.


← →
Dib@zol   (2007-06-22 18:19) [1]

Если я правильно понял, при перемещении автомобиля на некоторый вектор N изображение "прицела" смещается на m пикселей в направлении вектора. Зависимость m от N походу прямая. Поэтому при разрешении, меньшем "эталонного" (сиречь фул-скрина) и возникает подобный баг. => Введи коэффициенты, которые при выборе разрешения будут просчитывать отношения scrX/etalX и scrY/etalY соответственно, и домножай смещение "прицела" на эти коэффициенты.

ЗЫ Если я не угадал, объясни КАК реализуется его отрисовка.


← →
@!!ex_   (2007-06-22 18:33) [2]

Берется Bound Box машины. Его точки проецируются на экран.
Выбирается прямоугольник, влкючабщий все 8 спроецированных точек.
Рисуется. получается, что рисуется не там где должен, смещен относительно машины.


← →
Dib@zol   (2007-06-22 18:59) [3]

А может лучше так?

Берутся 4 нижние точки Bound-box"a (канешна если это AABB а не OBB), от них строятся перпендикуляры к поверхности видимости (те. грани фрустума) с длиной, равной высоте AABB. От полученных 4-х точек строятся края прицела.

А если OBB - ща подумаю...


← →
Dib@zol   (2007-06-22 19:01) [4]

И вапще - засвети плиз код визуализации прицела. А то хреново так вслепую предполагать.


← →
@!!ex_   (2007-06-22 20:39) [5]

Все. разобрались.
Вот тут решение:
http://www.gamedev.ru/code/forum/?id=66829&page=3#32



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
4-1218778799
VitAngel
2008-08-15 09:39
2009.10.04
Администратор Домена


2-1249321361
linox
2009-08-03 21:42
2009.10.04
регистр при фильтрации


9-1182594213
Max_
2007-06-23 14:23
2009.10.04
DirectX


2-1248752568
xyz
2009-07-28 07:42
2009.10.04
переключение между формами программы


6-1207630477
_DATA_
2008-04-08 08:54
2009.10.04
Отправка данных через сокет в отдельном потоке




   Наверх