История изменений
Исправление Bad_ptr, (текущая версия) :
Ну а если, ну а если всё же надо очень отрезать вручную то так:
триангулируешь модель, т.е. разбиваешь на триугольники, для каждого треугольника вычисляешь нормаль — с помощью векторного произведения(crossproduct) двух векторов исходящих из вершины треугольника к двум остальным вершинам. Находишь скалярное произведение(dotproduct) нормали треугольника и направления «вида» «камеры». если векторы направлены в разные стороны — это передняя грань, произведение меньше нуля, если в одну сторону — произведение больше нуля — это задняя грань, её можно отрезать
Исходная версия Bad_ptr, :
Ну а если, ну а если всё же надо очень отрезать вручную то так:
триангулируешь модель, т.е. разбиваешь на триугольники, для каждого треугольника вычисляешь нормаль — с помощью векторного произведения(crossproduct) двух векторов исходящих из вершины треугольника к двум остальным вершинам. Находишь скалярное произведение(dotproduct) нормали треугольника и направления «вида» «камеры». если векторы направлены в разные стороны — это передняя грань, произведение больше нуля, если в одну сторону — произведение меньше нуля — это задняя грань