OpenGL是否是最高质量渲染的正确选择,没有时间限制?

时间:2014-07-17 18:33:44

标签: opengl graphics rendering generative-art

背景:我正在编写一个创造生成艺术的程序。我关心的是创建一个最终的静态图像,而且我不需要每秒渲染一堆帧。到目前为止它已经是2D了,我在Mac上,所以我一直在使用Core Graphics(又名Quartz)2D绘图API。我已达到它的极限,所以我开始搞乱OpenGL,但到目前为止我对抗锯齿还不满意。

我想知道我是否应该投资学习它,或者它是否不是为了我想要的而建造的。 OpenGL是否更多关于尽可能快地创建移动图形,主要用于游戏?如果我想要最高质量的渲染(高分辨率,平滑曲线,最佳抗锯齿,任意照明和着色算法),我是否需要编写自己的渲染器,或者学习OpenGL是否有意义?我可以用它作为基础吗?

4 个答案:

答案 0 :(得分:3)

OpenGL不是通用图形库。

OpenGL是一种API,其设计专注于控制GPU以绘制实时图形。如果您知道如何使用它,您可以使用OpenGL生成高质量,接近真实感的绘图。但要做到这一点需要付出很多努力。

抗锯齿实际上很容易实现高质量:选择具有高子采样密度的多重采样frambuffer格式,启用多重采样和渲染。

然而,您的用例听起来更像是Renderman,Pixie,Yafa-Ray等类似离线渲染器的任务。

答案 1 :(得分:1)

  

OpenGL是否是最高质量渲染的正确选择,没有时间限制?

没有。正如datenwolf所解释的那样,OpenGL旨在充分利用GPU的功能来进行实时渲染。现有的产品专为极高质量的渲染而设计。

  

OpenGL是您项目的正确选择吗?

也许。这些功能都不需要高质量的渲染器,所有这些都可以在OpenGL中轻松完成。它不支持的主要内容是光线追踪。*如果您需要渲染光线,那么最好还是选择其他选项。

*理论上可以在OpenGL中进行光线跟踪,但需要做很多工作。

答案 2 :(得分:1)

你想要Pixder的CGI渲染软件RenderMan。您的程序可以生成RIB文件,这些文件旨在成为PostScript文件的3D等效文件;或者您可以直接使用RenderMan C API。

RM拥有更丰富的内置基元,例如二次曲面和细分曲面,因为它专为电影工作而设计,你可以做任何事情,从香椿阴影到照片写实。

3Delight有一个免费/低成本的RM渲染器,您可以在单个系统上使用,Pixar宣布一个月左右,他们将提供免费版本的RenderMan供个人使用Real Soon Now。

Steve Upstill的RenderMan Companion是编程RM的经典指南。最近的一本书是Saty Raghavachary的“为初学者渲染”。

希望这有帮助。

答案 3 :(得分:0)

质量如何?否。

当然,你可以走远,但正如fintelia所说,它不支持光线追踪(可以用OpenCL做到这一点,但那不是真正的OpenGL)。 确实有一些令人印象深刻的OGL / D3D渲染器,但今天看到的大部分渲染都是软件渲染(CPU / Parallelism / CUDA / Compute),V-Ray,Mental Ray,Renderman。