当前位置: 首页 > 知识库问答 >
问题:

OpenGL在可滚动面板中绘制部分对象

缪嘉志
2023-03-14

我正在用OpenGL(更具体地说是lwjgl)制作一个GUI。我努力研究不同的方法来做到这一点,但我很难找到我想要的东西。我不想使用任何外部库(只有OpenGL内置的库,甚至试图远离使用过剩),我想让它在任何支持OpenGL的东西上工作(例如,帧缓冲区对象不能在旧的图形卡上工作)。

共有1个答案

唐弘益
2023-03-14

如果您只是想防止在矩形区域之外绘制像素(我想这正是您所要求的),那么glscissor正是您所需要的。

在lwjgl中,可以在org.lwjgl.opengl.gl11中找到该函数。

 类似资料:
  • 问题内容: 在下面,我在框架内部有一个面板。为什么我不能画图?我只是得到一个纯白色的屏幕。如果我摆脱了面板并直接绘制到框架上,那是可行的。任何帮助,将不胜感激。 问题答案: 尝试将事件绑定到面板,而不是整个框架: 您的版本对我来说很有效(Windows),但它会不断重新绘制面板,以致使整个处理器吃光了。 来自文档: 请注意,在绘画事件处理程序中,即使不使用它,应用程序也必须始终创建wxPaintD

  • 了解如何创建可滚动画板。 当您创建 XD 设计时,有时画板不够长,无法适合您的内容。通过加长画板并根据您的设计需求选择选项,您可以垂直滚动画板以适应不同的设备尺寸。 垂直滚动可帮助您在设计可滚动下拉列表或网站时模拟滚动效果,但 XD 中不支持水平滚动。  创建垂直滚动条 在预设画板上:向下拖动画板的最低点,使其长度比设备屏幕长。虚线表示可滚动内容的起始位置。  虚线和可滚动的内容 在自定义画板上:

  • 问题内容: 我有一个带有两个按钮的面板。我正在尝试在面板内插入图像,我想在单击按钮后在图像内画线。我使用了下面的代码,但这似乎不起作用。 最大的问题是我的其他班级使用的相同代码。 问题答案: 尝试在更新后包装内部。同样,当您完成对图形上下文的渲染时,还应该调用。 您还应该依靠布局管理器,而不是自己动手做,这只会使您的生活更轻松。 就个人而言,我认为将其直接绘制到自定义组件会更容易。查看执行自定义绘

  • 问题内容: 我正在编写一个具有许多不同视图的程序。其中之一是图形密集型(显示互连的图形)。其他人只显示较小但复杂的图表。 我发现主视图的绘制时间很长(甚至只是绘制当前可见的区域),并且在绘制时,界面的其余部分变得很慢。 我的问题是,我可以创建一个新线程来处理绘画吗?如果是这样,是否会导致性能提高,我怀疑它不会。我尝试了以下方法: 创建一个抽象类ThreadPaintablePanel,我的复杂视图

  • 问题内容: 这是我的问题…: 在我的活动中,我有一个和一个。我希望Button仅在显示某个可绘制对象时才执行操作。是的,这意味着该代码正在各种可绘制对象之间进行动画处理,从而使其不会中断我想要完成的工作。 没用 并且我将其范围缩小到“ if(vari(drawabledrawable == acertaindrawable)”行的错误。尽管Eclipse并没有公然报告两个可绘制对象是否相同的And

  • 我正在编写一个可视化洞穴的OpenGL程序,所以当我可视化地表地形时,我希望它是透明的,这样你就可以看到下面的洞穴了。我假设我可以将来自数字高程模型的数据归一化为一个网格,该网格以规则的间距对准x/z轴,并将每个网格单元格渲染为两个三角形。使用对齐的网格,我可以避免在应用画家的算法时进行排序的成本(以确保适当的透明度效果);相反,我可以逐行呈现单元格,从最远的行和每行最远的单元格开始。 这一切都很