Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление невидимых граней с 3d объекта, Метод Робертса 
:(
    Опции темы
taurs
Дата 2.1.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Доброго времени суток!

Народ, у кого-нибудь есть мысли по этому вопросу?!

PM MAIL   Вверх
Rickert
Дата 2.1.2008, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Что подразумевается под "гранями"? Полигоны или линии - ребра полигона?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
taurs
  Дата 5.1.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Rickert @ 2.1.2008,  17:55)
Что подразумевается под "гранями"? Полигоны или линии - ребра полигона?

2 Rickert,
Грани - это ребра полигонов.
Есть варианты?
PM MAIL   Вверх
Rickert
Дата 5.1.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Объясни толком - зачем? Оптимизации добиваешь путём удаления граней? Почему не полигонов?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
taurs
Дата 5.1.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Rickert @ 5.1.2008,  12:01)
Объясни толком - зачем? Оптимизации добиваешь путём удаления граней? Почему не полигонов?

Такая была поставлена задача: Удаление невидимых граней у 3d объекта.
PM MAIL   Вверх
Rickert
Дата 6.1.2008, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Именно удаление? Или "отрисовка только видимых граней"?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
taurs
Дата 6.1.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Rickert @ 6.1.2008,  08:49)
"отрисовка только видимых граней"


я думаю можно и так.
PM MAIL   Вверх
Rickert
Дата 6.1.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Какие - то конкретные требования прдъявлены? например работа только с определёнными примитвами или работа через определённый алгоритм?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
taurs
Дата 7.1.2008, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Rickert @ 6.1.2008,  23:03)
Какие - то конкретные требования прдъявлены? например работа только с определёнными примитвами или работа через определённый алгоритм?

2 Rickert,
в том то и проблема что нужно именно алгоритмом Робертса..к сожалению я его реализовать пока не могу..слишком мало знаний и навыков.. а насчет примитивов, я думаю, можно взять любой для начала.
Спасибо за поддрежку.
PM MAIL   Вверх
Rickert
Дата 9.1.2008, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



С каким именно моментом ты разобраться не можешь?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
sgi1981
Дата 10.1.2008, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
Rickert
Дата 10.1.2008, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



sgi1981, ты говоришь про сами поверхности полигонов, а ему нужна работа с гранями!


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Solitario
Дата 17.1.2008, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Если я не ошибаюсь, метод Робертаса предназначен для работы с выпуклыми многогранниками...насколько я помню вопрос заключается в определении нормали к грани, затем если нормаль составляет острый угол с вектором направления на зрителя, то грань видима если, то нет). Для определения угла используется сколярное произведение: т.е. если (l,n)<0, то грань является нелицевой(угол тупой)....кажется примерно вот так..

Это сообщение отредактировал(а) Solitario - 17.1.2008, 18:25
PM MAIL   Вверх
atavinta
Дата 31.1.2008, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 31.1.2008
Где: Москва

Репутация: нет
Всего: нет



Такой алгоритм на самом деле определяет видимую сторону грани. Если все грани не прозрачны и нет отверстий, то из этого мы делаем лог8ический вывод о том, что внутренняя сторона грани не может быть видима, следовательно если алгоритм говорит, что видима внутренняя, то грань не видима. Но возможности алгоритма шире. В сочетании с быфером глубины он позволяет менять текстуру граней, видимых через окна, если надо внутреннюю и внешнюю поверхности тела окрасить различно.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0846 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.