Здравствуйте гуру асма. Давненько меня тут небыло, но поправимо, буду чаще. Если рады видеть.. Вопрос по сабжу. Но немного конкретизирую. Во первых Blending. Как многим известно, на разных видеосистемах он поразному воспроизводится. Но это вступление. Поехали: Есть многоугольники. Рисуются по угловым точкам. Они могут быть выпуклыми а могут быть и нет (например звезда). Русуются так (знаю что банально, средствами OGL) : Код (Text): glBegin(GL_POLYGON) ... glVertex2d(...) ... То есть по точкам. В режиме полигонов. Естественно это все круто работает, пока не начнешь рисовать что-то невыпуклое. Но это еще не все. Так как у полигонов установлена прозрачность и включен блендинг, при отображении я вижу треугольники из которых состоит многоугольник (линии видны становятся). При отключении блендинга, линии естественно пропадают , как и сама прозрачность. Далее... Есть окружность. Рисуется распространенным методом Код (Text): glBegin(GL_TRIANGLE_FAN) ... далее в цикле вращаем точки по окружности glVertex2d .... Естественно ситуация лучше - выпуклая фигура. Но блендинг все портит - видны сотни треугольничков из которых окружность составлена. Итак. Теперь вопросы к вам, васмовцы. 1) Кто нить знает другие средства заливки фигур С помощью OGL? 2) Если таких нет, может подскажете более оптимизированный способ заливки (не делая доступ к пикселям и проверяя пока не встретиься граница фигуры, далее заполняя линии до следующей границы). Возможно можно делать текстурирование. Тогда подскажите пример ненавязчиво, и на сколько это эффективно именно для произвольных (но замкнтых фигур). 3) Что делать с блендом...?
Произвольные многоугольники выводятся как совокупность GL_TRIANGLE`ов (причём лучше через какой-нибудь glMultiDrawElements, чтобы рисовать все многоугольники сразу). Я так понял, что ты генерируешь многоугольники в программе. Если геометрия меняется не часто можно использовать VBO.
murder Да, многоугольники рисует пользователь по опорным точкам, геометрия не меняется пока только на текущем этапе, но в дальнейшем планируется изменение масштаба, и поворот этих многоугольников, а возможно даже изменение положения опорных точке. За сслыку спасибо, хоть что-то..
Booster Про тесселяцию, тоже была мысль, тока толково не видел описания - спасибо за ссылку, я попробую на сколько это будет быстро работать кстати? по сравнению с вертексными вершинами?
Ну вообщем-то колбэки сами ничего не делают, а только лишь передают необходимую тесселированную информацию. А что с ней делать, сразу рисовать или сохранить для последующего использования(например в VBO) это им до лампочки. Как правило один раз тесселируем, формируем на основе полученных данных например VBO, ну а далее отрисовка само собой максимально эффективна.
Нашел время сделать что хотел, сделал тесселяцию с VBO как и советовали. То что мне нужно было. Благодарю. За ссылку особено. Тему можно закрыть.