Gnus
написал 17 июля 2006 года в 18:04 (727 просмотров)
Ведет себя
неопределенно; открыл 16 тем в форуме, оставил 26 комментариев на сайте.
Столкнулся с такой вот парой непонятностей:
1. Если расстояние от камеры до объекта превышает какое-то определённое(по-моему
1.0), то части объекта исчезают. Пробовал менять плоскости отсечения по glOrtho и
glFrustum — что трупу лоботомия. Увеличить дистанцию не получается.
2. Есть замечательные функци glVertexPointer и glTexCoordPointer, способные
нарисовать целую пачку текстурированных полигонов, но текстура-то,блин, на всех
одна и та же — та, которую установил предварительно как glBindTexture. А нельзя
ли их менять в процессе прорисовки полигонов из пачки?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
1. чего-то ты не так делаешь.
2. ну дык натягивать не текстуры на полигоны, а одну текстуру на все полигоны. просто надо добиться чтобы нужный кусок текстуры попадал на нужный полигон.
1. А что конкретно не так?
2. Это как понимать — одну монтерских размеров текстуру, которая содержит все нужные изображения? Жестоко…
1. я похож на телепата?
2. можно две или пять. вообще обычно текстура натягивается на объект. иначе говоря на многогранник.
А что обычно в таких случаях «не так» бывает? Я так мыслю, сечётся потому что расстояние от камеры большое, а других способов увеличить не нашёл — только отодвигать заднюю плоскость. Разве что процедуру не там вызываю? Или там может какой glEnable() включить надо?
я всегда делаю так:
man glFrustum
где можно вычитать, например, что near должен быть больше нуля, и, вообще, отношение far/near должно быть умеренным. подробно не вникал что значит умеренным, но по опыту знаю что far/near == 100 вполне дееспособная комбинация. Также там написано, что не стоит вызывать эту функцию промеж glBegin и glEnd (впрочем как и все прочие функции сводящиеся к glMultMatrix).
ну а после этого я делаю так:
а вообще, возьми сорцы glut, там неплохая подборка всяких разных примеров. Они правда без лишних подробностей и всё общение с X спрятано за glut. но если внимательно читать маны и иногда заглядывать в какую-нибудь книжку по геометрии, то поможет.