gpt4 book ai didi

c++ - Opengl 和 DirectX 视口(viewport)和渲染目标

转载 作者:行者123 更新时间:2023-11-30 03:59:58 27 4
gpt4 key购买 nike

所以我仍在尝试在 OpenGL 和 DirectX 中获得相同的结果。

现在我的问题是使用渲染目标和视口(viewport)。

到目前为止我学到了什么:

  • 如果调整窗口大小,DirectX 的后备缓冲区会拉伸(stretch)-- 渲染纹理大小变化
  • OpenGL 的 Backbuffer 在调整窗口大小时调整大小-- 渲染的纹理停留在渲染的地方

现在我在这里所做的是将 OpenGL 的视口(viewport)更改为窗口大小。现在两者的结果相同,渲染的纹理被拉伸(stretch)了。 一个缺点: -OpenGL 的视口(viewport)大小不能像在 DirectX 中那样设置,因为它被设置为窗口大小。

现在渲染 Rendertarget 时会发生这种情况:

  • DirectX:Size 很重要,如果 Size 大于 Backbuffer,则纹理只占很小的位置,如果 Size 小于 Backbuffer,则纹理占据很多位置
  • OpenGL:大小无关紧要,渲染的 Context 保持不变/拉伸(stretch)。

现在我的问题是:

如何在 OpenGL 和 DirectX 中获得相同的结果?我想要在 OpenGL 中的 DirectX 中得到相同的结果。到目前为止,我的想法是正确的还是有更好的想法?

最佳答案

我所做的:将 OpenGL 中的所有内容绘制到 FrameBuffer 并将其 blit 到 backBuffer。现在内容可以重新缩放,就像在 DirectX 中一样。

关于c++ - Opengl 和 DirectX 视口(viewport)和渲染目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26575070/

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