OpenGL, удалить разделы из фигуры - PullRequest
1 голос
/ 20 декабря 2009

Как в OpenGL можно вырезать треугольную дыру из квадрата? сделать отверстие прозрачным.

Я также использую SDL, может быть, этого можно достичь с помощью поверхности SDL?

Ответы [ 2 ]

1 голос
/ 20 декабря 2009

Хотя сделать это с текстурой - действительно более простой выход, если вам нужна реальная форма, вы можете попробовать использовать GLUtesselator из инструментария GLU. Смотрите учебник для этого здесь .

Общее использование состоит в том, что вы создаете объект тесселятора, создаете два контура (внешний и внутренний в обратном направлении), и тесселятор переводит это в чистые команды OpenGL. Конечно, если вам нужна эффективность, вы должны внедрить или найти систему более высокого порядка, которая работает на буферах вершин.

1 голос
/ 20 декабря 2009

Вы можете использовать текстуру и альфа-смешение: текстура будет содержать прозрачный треугольник. Смотрите этот учебник по смешиванию .

РЕДАКТИРОВАТЬ: Конечно, альфа-смешение не меняет геометрию. Для этого вам необходимо выполнить более сложные процедуры. См. Этот учебник по CSG .

в реальном времени.

Ссылка: Конструктивная геометрия твердого тела

...