Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

контурные треугольники   Найти похожие ветки 

 
Azeem ©   (2006-04-26 23:28) [0]

Здравствуйте мастера. Требуется нарисовать 3-х мерную поверхность в OpenGL. Нужно чтобы она была непрозрачной и имела сетку. Я рисую сначала непрозрачную поверхность (треугольниками) а затем линиями GL_LINE_STRIP рисую сетку. При этом включён тест глубины. При вращении поверхности линии сетки мерцают. Что делать ? Может есть другой способ ?


 
grouzd[E]v ©   (2006-04-27 01:01) [1]

Если я правильно понял проблему, то

Существует три различных способа включить полигональное смещение, по одному для каждого режима растеризации полигонов: GL_FILL, GL_LINE, GL_POINT. Вы включаете полигональное смещение, передавая соответствующий аргумент команде glEnable() – GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE или GL_POLYGON_OFFSET_POINT. Вы также должны вызвать glPolygonMode(), чтобы выбрать текущий режим растеризации полигонов.

void glPolygonOffset (GLfloat factor, GLfloat units);

Если полигональное смещение включено, величина глубины каждого фрагмента добавляется к вычисленной величине смещения. Смещение добавляется до того, как производится тест глубины и до того, как величина глубины записывается в буфер глубины. Чтобы достигнуть приемлемых результатов и избежать визуальных артефактов, вы можете либо добавить положительное смещение к залитому объекту (отодвинуть его от себя), либо добавить отрицательное смещение к каркасу (придвинуть его к себе). Самый сложный вопрос заключается в том, насколько большое смещение стоит выбирать? К сожалению, нужное смещение зависит от многих факторов, в частности от максимального разброса в глубине вершин полигона и толщины линий каркаса.

(c) OGL RedBook

но, насколько я помню, glPolygonOffset есть не во всех версиях OGL, мой "настольный" Programmer"s Reference тоже про него умалчивает..

---
... we are walking on a thin line and you better avoid the risk ...


 
a22 ©   (2006-04-27 11:42) [2]

LESSEQUAL в качестве функции z-test или, если не поможет, домножить перед рендером сетки матрицу мирову на матрицу масштабирования по всем осям. масштабирование в x раз, где x будет чуть больше 1



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.067 c
6-1152780857
alex_dorin
2006-07-13 12:54
2006.12.10
сервер сокетов


15-1164223584
KilkennyCat
2006-11-22 22:26
2006.12.10
Все-таки, что такое РГЗ?


15-1163945818
Логин
2006-11-19 17:16
2006.12.10
ПО для управления компьютерным салоном.


15-1164016173
Dep
2006-11-20 12:49
2006.12.10
Как определить размер поля blob необходимого для хранения данных


5-1144928569
BPK
2006-04-13 15:42
2006.12.10
Как создать редактор свойства как для TDBGrid.Columns ?