2017-07-18 78 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子窗口中混合应该没有问题。 –