Форум: "Игры";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];
ВнизLightmap Найти похожие ветки
← →
VolanD666 (2006-03-24 16:40) [0]Привет, мастера!
У меня проблема, связанная с не стыковкой карты освещенности на двух треугольниках: http://www.gamedev.ru/images/?id=10484.
Подскажите, плиз, как это исправить!
← →
VolanD666 (2006-03-24 16:43) [1]Код для получения UV веторов такой:
D3DXVECTOR3 vec1, vec2, vec3;
float l1, l2, l3, mLenght, lV;
float Dot;
// Получаем нормаль
CreateNormal( &(*trInfo).Normal, (*tp0).XYZ, (*tp1).XYZ, (*tp2).XYZ );
// Получаем вектора-стороны треугольника
vec1=(*tp1).XYZ-(*tp0).XYZ;
vec2=(*tp2).XYZ-(*tp1).XYZ;
vec3=(*tp0).XYZ-(*tp2).XYZ;
// Получаем длины сторон треугольника
l1=D3DXVec3Length( &vec1 );
l2=D3DXVec3Length( &vec2 );
l3=D3DXVec3Length( &vec3 );
// Находим максимальную длину
mLenght=max( l1, max( l2, l3 ) );
// Если первая сторона самая длинная
if ( mLenght==l1 ){
(*trInfo).StartPoint=(*tp0).XYZ;
(*trInfo).U=vec1;
D3DXVec3Normalize( &vec1, &vec1 );
D3DXVec3Normalize( &vec3, &vec3 );
Dot= D3DXVec3Dot( &vec1, &vec3 );
lV= sqrt( 1-Dot*Dot )*l3;
D3DXVec3Cross( &(*trInfo).V, &(*trInfo).Normal, &(*trInfo).U );
D3DXVec3Normalize( &(*trInfo).V, &(*trInfo).V );
(*trInfo).V*=lV;
// Устанавливаем текстурные координаты
(*tp0).Tex2=D3DXVECTOR2( 0.0f, 0.0f );
(*tp1).Tex2=D3DXVECTOR2( 1.0f, 0.0f );
(*tp2).Tex2=D3DXVECTOR2( fabs( Dot )*l3/l1 , 1.0f );
}
Может ошибка здесь?
← →
XProger © (2006-03-24 17:08) [2]ах ты подлый сипиписьник ;)
Вообщем, эти 2 треугольника, должны образовывать прямоугольный многоугольник, а не трапецию ;)
← →
VolanD666 (2006-03-24 17:37) [3]Что- то я не совсем понял. Это же два разных треугольника сразными текстурами даже... :)
← →
VolanD666 (2006-03-24 17:37) [4]Что- то я не совсем понял. Это же два разных треугольника сразными текстурами даже... :)
Builder must die...
← →
VolanD666 (2006-03-24 17:38) [5]Сорри, за дубль...
← →
XProger © (2006-03-24 17:52) [6]Всмысле, может у тебя такая бяка
http://www.gamedev.ru/forum/?group=0&topic=11108
← →
VolanD666 (2006-03-24 18:35) [7]Нееет, у меня не трапеции! Эта картинка состоит из двух треугольников, на каждый из них наложена отдельная текстура, при этом текстурные координаты вычисляются правильно ( я проверял )...
← →
XProger © (2006-03-24 19:25) [8]VolanD666, т.е. текстура лайтмэпа треугольника подобна самому треугольнику?
← →
VolanD666 (2006-03-24 19:38) [9]Ага.
← →
VolanD666 (2006-03-25 14:10) [10]Просто я только начал разбираться с lightmap. И пока их не научился паковать, поэтому пока для каждого треугольника создается своя текстура и свои текстурные координаты...
← →
Текстур (2006-03-28 03:57) [11]Как рассчитываются лайтмэпы на Дельфи? Дайте кто-нибудь статью с примером?
← →
VolanD666 (2006-03-28 06:44) [12]Если OpenGL, то сюды http://boogesoft.narod.ru/Projects.html,
а сама статья на GameDev.ru
← →
Текстур (2006-03-30 06:51) [13]А как на GLScene, а не на OpenGL?
И где на gamedev статья?
← →
VolanD666 (2006-03-31 07:08) [14]http://www.gamedev.ru/articles/?id=30102
← →
Лайт (2006-04-02 02:43) [15]Как правильно расспоожить треугольники на битмэпе? Они же все разные. Большие, маленькие. И наклонены по-разному. Может кто нибудь дать алгоритм на Дельфи?
← →
VolanD666 (2006-04-02 15:49) [16]http://www.blackpawn.com/texts/lightmaps/default.html
← →
Нетерпение (2006-04-03 01:53) [17]Нашёл лайтмэпы для GLScene, только не пойму как их заставить работать. Что-то с ними не то. Млин, ну неужели до сих пор их никто не сделал нормально?
← →
VolanD666 (2006-04-03 06:23) [18]
> не пойму как их заставить работать
Написать самому :)
← →
Жирный (2006-04-07 04:46) [19]> VolanD666 (02.04.06 15:49) [16]
> http://www.blackpawn.com/texts/lightmaps/default.html
А с кодом на Дельфи?
← →
VolanD666 (2006-04-07 06:29) [20]Жирный, там рассказывается про упаковку lightmap, достаточно понять теория и можно самому код написать :-)
← →
Подчёркнутый (2006-04-08 03:34) [21]Зачем самому писать велосипед?
← →
XProger © (2006-04-08 08:07) [22]Подчёркнутый, чтобы моск работал
← →
VolanD666 (2006-04-08 15:46) [23]:-)
← →
Курсив (2006-04-09 03:37) [24]Ну, так напиши, да запости.
← →
Light (2006-07-27 04:10) [25]
> VolanD666 (02.04.06 15:49) [16]
> http://www.blackpawn.com/texts/lightmaps/default.html
После проведения линий A B C D дальше то где проводить линии?
Если все полигоны как 1, то они и лягут все вдоль одного борта, а если как 2, то вдоль другого. Если же класть в центр, то они выложатся по диагонали. Короче как добиться квадратичности? Кто нибудь вообще пытался до меня это запрограммироват, что там написано? И как успехи?
← →
Light (2006-07-28 05:21) [26]Короче этого никто не делал?
← →
VolanD666 (2006-07-28 18:41) [27]После добавления очередного lightmapa в дерево надо вставить ( в свободное место ) структуру типа:
A
/ \
B *
/ \
1 *
*- пустые места, оставшиеся после деления
A, B- линии разделения
1- сам lightmap
← →
Light (2006-07-29 04:11) [28]
> VolanD666 (28.07.06 18:41) [27]
>
> После добавления очередного lightmapa в дерево надо вставить
> ( в свободное место ) структуру типа:
Ненадо повторять то, что написано в статье.
Ты лично это делал?
Если да, то как линии дальше проводил?
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.046 c