Blender是用什么语言创建的?

12

Blender使用OpenGL还是DirectX?还是说它完全是自己构建的?


如果您更喜欢的话,可以回答关于3ds Max、Maya等软件的同样问题。 - tiffanyButterfly23
1
这个问题非常混淆。使用OpenGL或D3D与某个编程语言编写的内容无关。 - Nicol Bolas
4个回答

11

Blender使用OpenGl还是DirectX?

Blender的所有图形输出都是使用OpenGL完成的。

或者它是否使用编程语言(例如Python)从头开始进行操作?

为什么会有“或者”呢?API不能代替编程语言。Blender是用C、C++和Python编写的。OpenGL用于渲染屏幕上的所有内容,包括用户界面。


3
我的意思是:“他们使用了库还是从头开始做的?” 你所说的图形输出,是指最终渲染和用户交互吗? - tiffanyButterfly23
2
@tiffanyButterfly23:Blender使用了许多第三方库,其中包括图像和视频文件格式、仿真物理库(如“Bullet”)、一些用于空间数据结构和计算机视觉的库。然而,在Blender开始时,除了Python解释器外,几乎所有东西都是从头开始编写的。而且,Blender源代码树中“extra”第三方代码目录中的一些库确实主要由Blender开发人员维护。 - datenwolf

10
您可以查看blender源代码,发现它既用python又用C/C++编写 -- python使用较少,C使用更多。在代码中经常引用OpenGL,而DirectX很少被引用。这就是答案。

7
DirectX仅被用于将用户输入引入内置游戏引擎。声音的输出由OpenAL、PortAudio或SDL完成。我是Blender的贡献者。 - datenwolf

3

扩展datenwolf所说的。Blender主要是用C编写,游戏引擎则是用C++编写的,并且整个应用程序都有Python绑定(意味着您可以在应用程序内使用Python)。Blender使用OpenGL并具有特殊引擎(由OpenGL调用和功能组成,主要是旧版但正在努力使用现代技术,如VBO等)用于绘制界面并支持其3D功能,名为GHOST


1
对于这样的问题,我发现 ohloh 很有用。它是一个生成开源项目统计数据的网站。其中一项统计数据是项目中使用的不同编程语言列表。你可以在 这里 查看 Blender 的统计数据。 ohloh 还可用于识别项目使用的工具和/或与类似项目进行比较。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接