Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, B_A_D, Вы писали:
А>Ну тогда еще раз
А>Вход: А> 1. 3D-поверхность(не 3D-тело), имеющая FRONt и BACK А> 2 3D-тело А>Выход А> Получение части 1,находящейся внутри 2
вах, как эти анонимы читать не любят... ну зачем же столько веток разводить? тут
же русским по белому написано, что можно включать face culling и выключать его когда надо... в той же ветке чуть по-выше полно ссылок на алгоритмы со стенсил буфером и даже есть сами алгоритмы...
vox clamantis in deserto
Re[6]: OpenGL Need HELP
От:
Аноним
Дата:
16.05.05 13:24
Оценка:
Здравствуйте, hemmul, Вы писали:
Все что ВЫ пишете правильно,
однако
Берем готовые реализации
1. Пепесечение 2-х тел А и Б
1.1 Находим часть A внутри Б
1.2 Находим часть Б внутри A
Все. На телах OK.
2. Пересечение поверхности А и тела Б
2.1 Находим часть A внутри Б
Искать часть Б внутри A нет смысла,т.к.А — поверхность
Не срабатывает(У меня когда видны FRONT и BACK одновременно
и там где они перекрываются = цвет фона )
Усли не трудно набрасайте ход рассуждений,
ведь форум существует не только для общения ГУРУ
(где же тогда набраться уму-разуму)
Re[6]: OpenGL Need HELP
От:
Аноним
Дата:
16.05.05 14:01
Оценка:
Здравствуйте, hemmul, Вы писали:
A- поверхность
B — тело
Вот это при неких трансформациях показывает не правильно.
Может есть ошибка?
Здравствуйте, Аноним, Вы писали:
А> Усли не трудно набрасайте ход рассуждений, ведь форум существует не только для общения ГУРУ (где же тогда набраться уму-разуму)
сорри, не имел в виду ничего такого нехорошего ... да и не гуру я вовсе, если так посмотреть
А>2. Пересечение поверхности А и тела Б А> 2.1 Находим часть A внутри Б А> Искать часть Б внутри A нет смысла,т.к.А — поверхность
А> Не срабатывает(У меня когда видны FRONT и BACK одновременно и там где они перекрываются = цвет фона )
так... вот тут немного сложно: что называть пересечением поверхности и тела? если, например, вся поверхность лежит внутри тела? что тогда рисовать? если бы поверхность была бесконечной плоскостью — тогда всё понятно, а так —
вот часть А внутри Б найти можно, как вы правильно заметили, а понятие "часть Б внутри А" — искать нет смысла, потому что "внутри" для незамкнутой поверхности неопределено! его, конечно можно определить, если заведомо известно что поверхность скажем намного больше тела, и их пересечение определено и существует.
а в противном случае просто непонятно что рисовать! поэтому нарисовать это и не удастся
т.е. нужно больше информации о поверхности...
ато -1 тоже ведь не равно нулю
а так вроде всё верно...
vox clamantis in deserto
Re[8]: OpenGL Need HELP
От:
Аноним
Дата:
17.05.05 05:49
Оценка:
Здравствуйте, hemmul, Вы писали:
.. вот тут немного сложно: что называть пересечением поверхности и тела?
Есть поверхность Z=F(X,Y), но она ограничена(не бесконечна, хотя какая разница)
и есть некое замкнутое тело ( в моем случае это призма, хотя и тут какая разница).
Я помещаю это тело на "сцену" и хочу иметь далее дело только с той частью поверхности,
которая попала внутрь тела
Re[8]: OpenGL Need HELP
От:
Аноним
Дата:
17.05.05 05:59
Оценка:
Здравствуйте, hemmul, Вы писали:
не прошло- эффект тотже,
но огромное СПАСИБО, что посмотрел код(я ведь ORACLист, а заставляют заниматься OpenGL)
ато без теста глубины полигоны, как известно, рисуются в порядке их поступления, и при некоторых трансформациях "задние" полигоны могут поступить на конвейер после "передних", замещая их...
А>но огромное СПАСИБО, что посмотрел код(я ведь ORACLист, а заставляют заниматься OpenGL) заставляют? безобразие! это же трудно страшно, когда заставляют
vox clamantis in deserto
Re[10]: OpenGL Need HELP
От:
Аноним
Дата:
17.05.05 08:13
Оценка:
Здравствуйте, hemmul, Вы писали:
Не помогло.
А вам нельзя послать картинку, чтобы воочию
увидеть в чем проблемы?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, hemmul, Вы писали:
А>Не помогло. А>А вам нельзя послать картинку, чтобы воочию А>увидеть в чем проблемы?
можно: прямо сюда даже можно, чего уж секретничать — пусть все видят
там около кнопки "отправить" при написании нового сообщения есть ссылка "загрузить"... а картинки вставляются [ img ] здесь линк [ / img ] (без пробелов естессно)
vox clamantis in deserto
Re[12]: OpenGL Need HELP
От:
Аноним
Дата:
17.05.05 10:27
Оценка:
Здравствуйте, hemmul, Вы писали:
Сама поверхность(левый верх- видно как загнулся BACK)
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, hemmul, Вы писали:
А>и правильно что не работает — не должно работать, перед рисованием не будем делать glClear(GL_STENCIL_BUFFER_BITS)
я имел в виду что если не будем чистить буфер, то ничего не получится
А>И что же я потом получу при разворотах,смещениях и масштабировании
вот и получается, что если буфер не чистить, то раз стетсил-тест-функция у вас в самом начале стоит GL_ALWAYS — тест всегда проходит — и хоть те точки которые соответствуют текущему положению окна и замещаются новыми, некоторые всё же сохраняют своё старое стенсил-значение... вот там-то и глюки.
поэтому в начале каждого кадра нужно чистить буфер...