Pregunta

Quiero diseñar & amp; implementar una ventana simple & amp; El widget para OpenGL se ejecuta sobre SDL, al igual que Agar o GiGi, pero está mucho más vinculado a SDL & amp; OpenGL.

Mi problema general es este: ¿cuál es el mejor diseño para un sistema de ventanas dentro de en un contexto OpenGL?

Quiero tener ventanas solo para los controles y, si es posible, ventanas con subprocesos con sus propios contextos OpenGL. La única forma en que lo he pensado, incluso siendo posible, es hacer texturas, y agregar adornos de ventanas alrededor de esos ...

Quiero exponer el funcionamiento a otros programadores, pero cuál sería el mejor camino. Soy más de un programador de C ++ y la herencia fue la primera forma en que pensé. A partir de las clases básicas que expongo en un archivo de encabezado compartido, el programador deriva su propio objeto de ventana a partir de eso, anulando los métodos Init () o Run () para implementar lo que necesitan. El problema con este enfoque sería mantener a los programadores bajo control, no habría una manera real de "evitar" que ellos simplemente dibujen donde quieran en la pantalla de OpenGL.

Otra forma posible sería con los funtores, pasando los funtores que el programador quiere usar a la biblioteca, que luego la llama una vez que termina de renderizar sus componentes GUI y lo que no.

¿Cuál es la mejor manera de abordar esto?

¿Fue útil?

Solución

  

ventanas con sus propios contextos OpenGL

Eso requerirá hackear SDL, ya que solo proporciona un contexto por proceso. A menos que esté pensando en hacer un solo contexto GL con múltiples sub-vistas independientes representadas en secuencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top