user-interface – OpenGL在可滚动面板中绘制部分对象

我在OpenGL中制作GUI(更具体地说是lwjgl).我努力研究不同的方法,但我很难找到我想要的东西.我不想使用任何外部库(只有内置OpenGL,甚至试图远离使用GLUT),我想让它适用于任何支持OpenGL的东西(例如,帧缓冲对象不适用于旧版本)图形卡).

我正在制作一个带有可滚动面板作为组件的3D GUI.问题是我不知道如何绘制部分GUI组件而不进行大量计算以仅渲染其中的一部分.我用OpenGL原语制作组件,而不是纹理.我希望有一种简单的方法可以像使用多个视口一样.我甚至不了解什么是视口.

简而言之:我需要一个可滚动的面板作为一个与其他GUI组件重叠的组件(因为它将是一个下拉菜单)并且不允许我面板中的任何组件在我的面板之外绘制.

最佳答案
如果你只是想防止绘制一个矩形区域之外的像素(我认为这就是你所要求的),那么glScissor正是你正在寻找的.

在lwjgl中,您可以在org.lwjgl.opengl.GL11中找到该功能.

转载注明原文:user-interface – OpenGL在可滚动面板中绘制部分对象 - 代码日志