![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
taurs |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Доброго времени суток!
Народ, у кого-нибудь есть мысли по этому вопросу?! |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Что подразумевается под "гранями"? Полигоны или линии - ребра полигона?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
taurs |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
2 Rickert, Грани - это ребра полигонов. Есть варианты? |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Объясни толком - зачем? Оптимизации добиваешь путём удаления граней? Почему не полигонов?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
taurs |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Такая была поставлена задача: Удаление невидимых граней у 3d объекта. |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Именно удаление? Или "отрисовка только видимых граней"?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
taurs |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
я думаю можно и так. |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Какие - то конкретные требования прдъявлены? например работа только с определёнными примитвами или работа через определённый алгоритм?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
taurs |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
2 Rickert, в том то и проблема что нужно именно алгоритмом Робертса..к сожалению я его реализовать пока не могу..слишком мало знаний и навыков.. а насчет примитивов, я думаю, можно взять любой для начала. Спасибо за поддрежку. |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
С каким именно моментом ты разобраться не можешь?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
В общем эта задача распространенная. И решается так.
1. Задать OpenGL - какая сторона многоугольника считается передней (противоположная сторона будет задней) с помощью функции void glFrontFace(GLenum mode) mode может принимать значения либо GL_CW (передней стороной будет та сторона, для которой обход вершин делается по часовой стрелке), либо GL_CCW (наоборот - против часовой). 2. Включить исключение из рисования сторон с помощью функции glEnable(GL_CULL_FACE), либо отключить это glDisable(GL_CULL_FACE). 3. Задать то, какую сторону (переднюю или заднюю) необходимо исключать из рисования при включенном режиме исключения сторон с помощью функции void glCullFace(GLenum mode) mode может принимать значения либо GL_FRONT либо GL_BACK. -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
sgi1981, ты говоришь про сами поверхности полигонов, а ему нужна работа с гранями!
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Solitario |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Если я не ошибаюсь, метод Робертаса предназначен для работы с выпуклыми многогранниками...насколько я помню вопрос заключается в определении нормали к грани, затем если нормаль составляет острый угол с вектором направления на зрителя, то грань видима если, то нет). Для определения угла используется сколярное произведение: т.е. если (l,n)<0, то грань является нелицевой(угол тупой)....кажется примерно вот так..
Это сообщение отредактировал(а) Solitario - 17.1.2008, 18:25 |
|||
|
||||
atavinta |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 31.1.2008 Где: Москва Репутация: нет Всего: нет |
Такой алгоритм на самом деле определяет видимую сторону грани. Если все грани не прозрачны и нет отверстий, то из этого мы делаем лог8ический вывод о том, что внутренняя сторона грани не может быть видима, следовательно если алгоритм говорит, что видима внутренняя, то грань не видима. Но возможности алгоритма шире. В сочетании с быфером глубины он позволяет менять текстуру граней, видимых через окна, если надо внутреннюю и внешнюю поверхности тела окрасить различно.
|
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |