2017-07-18 56 views
-1

我想要構建和編輯器,類似於那裏的許多3d編輯器,在窗口的某個位置有一個opengl視口,而其餘的窗口包含Windows控件。我怎麼做?到目前爲止,我設法創建了一個opengl呈現給它所有區域的窗口。那個Opengl視口不佔據整個窗口?

+0

您設法在Windows API中創建了一個OpenGL窗口,這不是世界上最簡單的事情,所以我認爲問題不是「我如何調用glViewPort」,因爲這更容易。正確? – Buster

+1

這不是我的問題。 (你已經回答了:p) – Pilpel

回答

2

雖然這是更好地避免渲染到OpenGL窗口,除了通過OpenGL的控制在自己的右子窗口,所以應該有簡單的渲染父窗口的部分glViewPort可以幫助沒有問題那)。 Windows將負責在父窗口上繪製控件。或者,您可以創建自己的子窗口並將OpenGL上下文附加到子窗口。然後你可以渲染整個子窗口。

+0

你知道大多數編輯使用哪種方法嗎? – Pilpel

+0

我知道Blendr完全在沒有Windows控件的OpenGL中渲染。否則,不要。 (在我看來,第二種選擇看起來更加整潔,但第一種選擇會更加有效,因爲額外的窗口並不是完全免費的。) – Buster

+2

我知道虛幻引擎有一個窗口可以呈現所有控件。所以我認爲大多數大型3D引擎/編輯器都使用單個D3D或OpenGL表面,並將其自己的小部件渲染到其上。也就是說,使用傳統控件創建編輯器並在一些opengl子窗口中混合應該沒有問題。 –