Вопрос о дизайне для библиотеки окон и виджетов SDL \ OpenGL - PullRequest
0 голосов
/ 30 июля 2009

Я хочу спроектировать и реализовать простой оконный интерфейс и виджет для OpenGL, работающий поверх SDL, во многом как Agar или GiGi, только гораздо ближе к SDL и OpenGL.

Моя общая проблема заключается в следующем: каков наилучший дизайн для оконной системы в контексте OpenGL ??

Я хочу, чтобы окна были только для элементов управления, и, если возможно, для окон с резьбой и их собственным контекстом OpenGL. Единственный способ сделать это, хотя я и возможен, - это рендеринг текстур и добавление к ним декораций окон ...

Я хочу раскрыть работу другим программистам, но какой путь будет лучше. Я больше программист на C ++, поэтому первое, о чем я подумал - наследование. Сделав базовые классы, которые я предоставляю в общем заголовочном файле, программист затем извлекает из этого свой собственный оконный объект, переопределяя методы Init () или Run () для реализации того, что им нужно. Проблема с этим подходом заключалась бы в контроле программистов, и не было бы никакого реального способа «удержать» их от простого рисования, где бы они ни находились, на экране OpenGL.

Другим возможным способом было бы использование функторов, передавая функторы, которые программист хочет использовать, в библиотеку, которая затем вызывает ее, как только она закончит рендеринг компонентов GUI, а что-нет.

Каков наилучший способ приблизиться к этому?

1 Ответ

0 голосов
/ 30 июля 2009

окна со своими собственными контекстами OpenGL

Это потребует взлома SDL, поскольку он предоставляет только один контекст на процесс. Если вы не думаете о создании единого контекста GL с несколькими независимыми субпортами, визуализируемыми последовательно.

...