Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.09;
Скачать: CL | DM;

Вниз

Smooth shading ландшафта   Найти похожие ветки 

 
Ricks ©   (2005-09-25 01:36) [0]

Люди, подскажите, какаим образом лучше высчитать нормали для карты высот так, чтобы не было резких переходов на границах???


 
XProger ©   (2005-09-25 02:53) [1]


// Подготовка массива нормалей
SetLength(Normal, V_Count);
FillChar(Normal[0], V_Count*SizeOf(TVector), 0);

for i := 0 to F_Count - 1 do
begin
// Вычисляем нормаль к полигону
n := P_Normal(Vertex[Face[i][0]], Vertex[Face[i][1]], Vertex[Face[i][2]]);
// Прибавляем к нормалям в вершинах полигона
for j := 0 to 2 do
 Normal[Face[i][j]] := V_Add(Normal[Face[i][j]], n);
end;

// Нормализация
for i := 0 to V_Count - 1 do
Normal[i] := V_Normalize(Normal[i]);


 
Ricks ©   (2005-09-27 00:40) [2]

> XProger
То есть, просто их усреднять по текущему треугольнику?

Видимо надо уточнить, что у меня карта высот состоит из квадратов...
И мне нужно именно РАСЧИТАТЬ нормали, а не сгладить существующие...


 
XProger ©   (2005-09-27 04:08) [3]

Ricks, сколько плоскостей можно построить по 4 точкам? Следовательно, сколько нормалей будет у тебя на каждый квад? Куда их пихать?
Попытайся вникнуть в код и не задавать глупых вопросов...


 
!Trinix ©   (2005-09-27 08:06) [4]

Извините за флуд, но прошу зайти на мой сайт: gameislands.ru.
«Downloads» только для зарегистрированных пользователей!



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

Текущий архив: 2006.04.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
15-1142344093
Mozgan
2006-03-14 16:48
2006.04.09
Требуем конкурс для чайников!


15-1142683769
Petr V. Abramov
2006-03-18 15:09
2006.04.09
Юридический форум


2-1143207019
Max Ivanych
2006-03-24 16:30
2006.04.09
Как определить активное поле таблицы?


2-1143436391
pkm
2006-03-27 09:13
2006.04.09
Char и string.


9-1127551917
dRake
2005-09-24 12:51
2006.04.09
[D3D] Утекает видеопамять :(