c++ - 如何绘制到目标纹理大于屏幕分辨率的帧缓冲区?
问题描述
我正在尝试使用帧缓冲区绘制纹理。纹理的大小大于我的窗口大小。绘制完成后,任何出现在屏幕外部的东西都会被切断。
我尝试将视口设置为适合纹理分辨率并禁用剪刀测试(默认情况下禁用,反正我不使用)。我在某处读到我可能需要 RenderTarget,但我不明白为什么或如何在没有深度或模板缓冲区的情况下使用它。
解决方案
使用帧缓冲区对象进行离屏绘图。无论如何,您都不应该使用基于窗口的帧缓冲区来渲染您想要重用的图片(纹理、保存到文件等),因为窗口的帧缓冲区及其内容可能随时变得无效(即使在完成渲染和调用之间的时间glReadPixels
)。
推荐阅读
- java - Google Guice + Mockito
- python - 随机森林中的 random_state
- laravel - 将 Twig 模板 JSON 转换为可读的东西
- git - 最新版本之前的 Git 版本一
- jquery - JQuery - 当两个按钮使用 ONE 函数处于两种不同的形式时,通过单击按钮获取正确的 SELECTED 值
- laravel - 我想在 Laravel8 上使用 Socialite 对 Twitter 进行身份验证,但它可以在本地工作,但在 Heroku 上出现错误
- django - 用于匹配“表亲”对象的 Django 查询(具有相同的祖父母)
- typescript - TypeScript 如何检查无限递归类型的相等性?
- zsh - 如何将 stderr 重定向到 /dev/null?
- python - 在 aiohttp 中进行请求时,await 和 async-with 之间是否存在本质区别?