OpenGL Viewer Control & Rendering Contesti
-
23-09-2019 - |
Domanda
Ho costruito un controllo OpenGL Viewer che può essere semplicemente lasciato cadere su un modulo di Windows (in fase di progettazione) e assegnato un elenco di visualizzazione OpenGL (in fase di esecuzione).
Il controllo del visualizzatore gestisce la navigazione, opzioni di visualizzazione (ad esempio il colore di sfondo), ecc E 'anche responsabile della creazione e distruzione di rendering e contesti di periferica, se necessario.
Ovviamente, ogni istanza di comando spettatore ha un proprio contesto di dispositivo, la 'finestra' in cui è disegnata l'immagine.
Domande:
- Come dovrebbe ogni istanza di controllo visualizzatore di gestire contesti di rendering?
- Nel caso in ogni istanza disponga di un proprio contesto o condividere un contesto di rendering globale?
Sono particolarmente interessato a come questo influenza la creazione di font WGL ( noreferrer wglUseFontBitmaps e wglUseFontOutlines ), che richiede un contesto di rendering (qualunque sia il contesto attuale è) e un contesto di periferica.
- Devo creare ogni tipo di carattere WGL per ogni rendering / combinazione di contesto di dispositivo?
Forse il mio approccio è viziata.
Soluzione
Vorrei andare con il contesto per ogni approccio di controllo. Dovete ricordare che le estensioni si basano contesto in modo da avere a legarli per ciascuno di essi si fanno (io uso glew_MX a gestire questo).
Inoltre, è possibile condividere liste di visualizzazione attraverso i contesti (fintanto che sono sulla stessa GPU) e la creazione di carattere wgl crea elenchi di visualizzazione in modo si dovrebbe andare bene.