Здравствуйте, Sysel, Вы писали:
S>Hi
S>Помогите плиз, я начинающий gamedevelop'er.
S>Есть ландшафт, нужно сделать нормали к грани или вертексу.
S>Пишу на OpenGL. Если можно пример или линк.
Нормаль к грани считается очень просто: (V2 — V1) * (V3 — V1), нормализовать её перед использованием или нет — зависит от методов использования. Как правило можно обойтись без нормализации.
Нормаль к вертексу, которая собственно говоря и используется для отрисовки, считается как: Normal = SUMM(FaceNormal * поправочный коэффициент), для всех фейсов инцидентных вершине. В простом случае поправочный коэффициент можно сделать = 1, или высчитывать в зависимости от важности фейса. Нормализация тоже по обстоятельствам (обычно нормализация происходит в видяхе).
Практический алгоритм такой: обнуляешь все вертексные нормали, проходишь по всем треугольникам, для каждого считаешь нормаль и прибавляешь её к каждой (из трех) нормалей вертексов.
P.S.
В случае ландшафта, если считать, что он представлен картой высот — можно соптимизировать расчеты, но это зависит от его структуры.