【发布时间】:2019-10-06 16:40:02
【问题描述】:
我想写一个渲染器,但我真的必须使用 OpenGL 管道,我不能自己做吗?有没有办法可以为 GPU 和 CPU 编写所有代码,从内存管理到光栅化,还是我必须使用已经提供的管道?如果我不能在 OpenGL 中做到这一点,我在哪里可以?我能得到一些方向吗? 我用什么语言编写 GPU 代码以及如何在 GPU 上使用它?
【问题讨论】:
-
Vulcan 让您更接近 GPU,如果您想要更接近 GPU,您必须与每个 GPU 供应商交谈以获得驱动程序使用的低级接口(我怀疑您会在这方面取得了很大的成功)
-
@Mark 如果你是图形编程的初学者,(现代的)OpenGL 将会很多年,直到并且如果你的游戏引擎处于可以从更多低级控制中获得任何优势的状态Vulkan 给你的。
-
如果您真的想避免使用任何“图形 API”,您可以在 CUDA 或 OpenCL 中实现计算,但是 (1) 性能可能会受到很大影响,并且 (2) 您仍然必须使用某种图形 API 将图像显示到屏幕上。与 OpenGL 相比,Vulkan 为您提供的硬件控制级别要低得多,但如果您没有使用过任何一种,我建议您从 OpenGL 开始,如果您发现最新的 OpenGL 是真正的,则稍后再过渡到 Vulkan不足以满足您的需求。
-
另一方面,你可以走很长的路,编写自己的驱动程序,自己的显卡接口等等 - 或其他东西......我相信这是可能的,但我也确定不值得尝试。
标签: c++ opengl shader pipeline