2013-04-10 63 views
7

搅拌机是否使用OpenGl或DirectX?还是全部从头开始?Blender创建了什么?

+0

如果对您更舒服,您可以为3ds Max,Maya等等回答相同的问题。 – tiffanyButterfly23 2013-04-10 03:26:43

+1

这个问题很混乱。 OepnGL或D3D的使用与编写什么编程语言的问题无关。 – 2013-04-10 06:21:17

回答

5

Blender是否使用OpenGl或DirectX?

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

是否使用编程语言(python?)从头开始做所有事情?

为什么“或”? API不会替代编程语言。 Blender已经用C,C++和Python编程。 OpenGL用于在屏幕上渲染everthing,包括用户界面。

+1

我的意思是:“他们是使用库还是从零开始做所有事情?”通过图形输出你是指最终渲染和用户交互? – tiffanyButterfly23 2013-04-11 00:00:10

+1

@ tiffanyButterfly23:Blender使用许多第三方库。其中包括图像和视频文件格式,像“Bullet”物理图书馆的图像处理,用于空间数据结构和计算机视觉的一些图书馆。然而,当Blender开始时,几乎所有的东西都是从头开始编写的,除了Phython解释器。而Blender源代码树的“额外”第三方代码目录中的一些库确实大部分由Blender开发人员维护。 – datenwolf 2013-04-11 00:24:47

10

你可以看看blender source code,看看它是用Python还是C/C++编写 - 少用python,多用c。代码中经常引用OpenGL,而DirectX很少。所以,你去了。

+4

DirectX仅用于获取用户输入到内置游戏引擎的引用。声音由OpenAL或PortAudio或SDL输出。搅拌机贡献者在这里。 – datenwolf 2013-04-10 11:03:23

2

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

2

扩展了datenwolf的说法。大多数Blender是用C编写的,游戏引擎是用C++编写的,整个应用程序有Python绑定(这意味着你可以在应用程序中使用python)。 Blender使用OpenGL,并且有一个特殊的引擎(由opengl调用和功能组成,主要是传统的,但是推动使用现代的东西,vbos等),用于绘制接口并为其3d功能提供动力,称为GHOST

相关问题