2017-07-18 2 views
-1

Ich möchte, ähnlich wie viele 3D-Editoren, einen OpenGL-Viewport irgendwo im Fenster erstellen und editieren, und der Rest des Fensters enthält Windows-Controls. Wie mache ich das? Bisher habe ich es geschafft, ein Fenster zu erstellen, das opengl für alle Bereiche darstellt.OpenOff Viewport in das nicht das ganze Fenster einnimmt?

+0

Sie haben es geschafft, ein OpenGL-Fenster in Windows-API zu erstellen, und das ist nicht die einfachste Sache der Welt, also nahm ich an, dass die Frage nicht "Wie rufe ich glViewPort" war, da das viel einfacher ist. Richtig? – Buster

+1

Das war nicht meine Frage. (Sie haben es bereits beantwortet: p) – Pilpel

Antwort

2

Obwohl es besser ist, die OpenGL-Fenster außer über OpenGL zu vermeiden Rendering, sind die Kontrollen untergeordnete Fenster in ihrem eigenen Recht, so sollte es kein Problem einfach zu Teil des übergeordneten Fensters (glViewPort Rendering sein kann mit Hilfe Das). Windows wird dafür sorgen, dass die Steuerelemente "über" dem übergeordneten Fenster gezeichnet werden. Alternativ können Sie ein eigenes untergeordnetes Fenster erstellen und den OpenGL-Kontext an das untergeordnete Fenster anhängen. Dann können Sie das gesamte untergeordnete Fenster rendern.

+0

Wissen Sie, welcher Ansatz von den meisten Editoren verwendet wird? – Pilpel

+0

Ich weiß, dass Blendr vollständig in OpenGL ohne Windows-Steuerelemente rendert. Ansonsten, nein. (Meiner Meinung nach scheint die zweite Alternative ordentlicher zu sein, aber die erste wird immer etwas effizienter, da zusätzliche Fenster nicht vollständig frei sind.) – Buster

+2

Ich weiß, dass UnrealEngine ein einziges Fenster hat, auf dem alle Steuerelemente angezeigt werden. Ich denke also, dass die meisten großen 3D-Engines/Redakteure eine einzelne D3D- oder OpenGL-Oberfläche verwenden und ihre eigenen Widgets darauf rendern. Nichtsdestotrotz sollte es keinen Fehler geben, einen Editor zu erstellen, der traditionelle Steuerelemente verwendet, und einige OpenGL-Unterfenster zu mischen. –

Verwandte Themen