![]() |
Цитата:
А нужна она для того что бы на каждом этапе избавляться от ненужной информации и данных. После проверки полигона на видимость могут быть еще куча алгоритмов (динамические деревья, обрезка полигонов, просчет света и теней и т.д.). И как вы понимаете все эти алгоритмы применять к полигону который не видим вот это трата ресурсов :) 2) Цитата:
|
>>После проверки полигона на видимость могут быть еще куча алгоритмов (динамические деревья, обрезка полигонов, просчет света и теней и т.д.). И как вы понимаете все эти алгоритмы применять к полигону который не видим вот это трата ресурсов
Ох простите...простите я ж и забыл, что у всех теперь четырех ядерные процессоры и мы теперь любим все делать с тенями и структурами, у одного меня на компе тормозят все демыки альтернативы и загрузка проца 99% и невозможно работать. Проще надо быть и резче и нафик эти тени остановимся на видимости. А свет невидимого полигона такой-же невидимый как и сам невидимый полигон и если тень от него будет невидимая пользователь не будет введен в заблуждение. |
Alex Lexcuk, я как пример привел тени никто не говорит что их делать надо. Я сказал алгоритмы и привел примеры. А если вы не варитесь в этой кухне не надо пытаться пять копеек вставить :)
У вас все так просто, что и делать ничего не надо все само правильно отрисуеться и проверится магическим образом. Цитата:
Вы ни в одном посте не дали алгоритм :), а лишь разглагольствовать на философские темы. В общем вы меня извините, но когда вы будете понимать основные принципы даже не 3D, а хотя бы как устроен мир - продолжим дискуссию. |
Ребята, вы тут как то странно определяете виден полигон или нет, с незапамятных времен и даже на аппаратном уровне реализовано так: вначале растеризуются точки треугольника из 3Д в 2Д, затем обходим растеризованные точки по порядку: если получается обходить по часовой стрелке, то полигон виден, если нет, то соответственно не виден, ну или все наоборот, зависит от того в какую сторону нормали у объекта смотрят, смысл то такой. И там хоть какой FOV будет, хоть самый самый нестандартный - это всегда работало и работать будет.
Если надо то вот пример (выдернул из пары классов): Код AS3:
|
>>Вы ни в одном посте не дали алгоритм , а лишь разглагольствовать на философские темы.
Правильно не дал, потому как считаю что определять видимость полигона - только лишняя нагрузка на процессор. Ежели хотите заценить мои алгоритмы трехмерного флеша http://www.murmadillo.tut.su/ там же и исходники, пара классов и ничего более. |
GentleFLASH, да алгоритм существует с незапамятных времен и он работает.
Но посмотрите сколько в нем расчетов, а главное сколько доступов к данным и сколько проверок. |
MonkDead, ну если присмотреться, то не так уж и много - все равно же придется преобразовывать вершины из 3Д в 2Д - т.е. половина кода исчезает, а вторая часть про видимость / невидимось, можно вообще все условия убрать и принять заранее - либо по часовой, либо против и тогда останется всего на всего:
(x2 - x0) * (y0 - y1) - (x0 - x1) * (y2 - y0) ) > 0 (в 2д пространстве разумеется) неужели это оч. много расчетов? А чем собственно лучше вычислять нормали к полигону, потом строить dot и crossProduct? причем в результате появлятся баги, при которых полигон может стать невидим в то время как он на самом деле видим? чем это лучше? |
Цитата:
|
Цитата:
И потом одна вершина может принадлежать далеко не одному полигону (например в конусе макушка - сколько там треугольников в ней соединяется, растеризовали одну, а коснулось всех прилегающих треугольников), а вот нормаль можно построить только к одному единственному, вот и вывод, что целесообразнее вначале все вершины растеризовать, а уже потом обходить каждый треугольник по растеризованным вершинам и делать проверку его на видимость. |
Согласен (в целом).
И, всё-таки, утверждение Цитата:
С утверждением MonkDead о том, что слишком много элементов архитектуры задействовано одновременно - тоже согласен. |
| Часовой пояс GMT +4, время: 06:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.