gpt4 book ai didi

delphi - 在 Delphi 中使用 OpenGL 渲染到纹理

转载 作者:行者123 更新时间:2023-12-03 19:42:40 26 4
gpt4 key购买 nike

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .




8年前关闭。




我正在为我不那么简单的 OpenGL 游戏制作简单的 GUI。由于有一个包含大量控件的大菜单,我将控件分组并将它们放入可以通过主菜单中的按钮访问的不同窗口中。所以现在我想用每个窗口的可点击缩略图替换按钮,这就是为什么我需要将 GUI 渲染为纹理。

目前我的电脑装有 Windows 7 和 Geforce 210 显卡,支持 OpenGL 到 3.3.0 版本(但我不在乎我将使用什么版本)。我有 Delphi 的 'dglOpenGL.pas' 库。我想用纹理控件来渲染这些窗口,但因为我在这些事情上很n00b,所以我做不到(我尝试了 C# 教程,但到目前为止没有工作结果)。任何帮助,将不胜感激。

最佳答案

OpenGL 中的渲染到纹理包括创建帧缓冲区对象 (FBO) 并将其附加到纹理。看看the documentation for framebuffer objects了解基本概述。

一般的工作流程是这样的:

  • 使用 glGenFramebuffers 创建一个帧缓冲对象
  • 使用 glBindFramebuffer 激活帧缓冲区
  • 使用 glFramebufferTexture 将帧缓冲区附加到要渲染的纹理上
  • 调用 glCheckFramebufferStatus以确保它有效。
  • 设置视口(viewport)以匹配您要渲染到的纹理的尺寸。 (这通常涉及调用 glViewport 和 glOrtho,我相信你已经熟悉了,所以我不会在这里链接它们。)
  • 做你的渲染。
  • 完成后,停用 FBO(再次调用 glBindFramebuffer 并将 0 作为 FBO ID 值传递)并重置您的视口(viewport)。
  • 无论您渲染什么,现在都应该在纹理中。
  • 关于delphi - 在 Delphi 中使用 OpenGL 渲染到纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16593898/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com