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