如何组装ARB组件

Ver*_*Bit 0 linux opengl assembly gpu

我只是读了这个文档:这个文档

我只是向下滚动,然后停在具有以下代码的示例程序1中:

!!ARBvp1.0
ATTRIB pos = vertex.position;
PARAM mat[4] = { state.matrix.mvp };
# Transform by concatenation of the
# MODELVIEW and PROJECTION matrices.
DP4 result.position.x, mat[0], pos;
DP4 result.position.y, mat[1], pos;
DP4 result.position.z, mat[2], pos;
DP4 result.position.w, mat[3], pos;
# Pass the primary color through w/o lighting.
MOV result.color, vertex.color;
END
Run Code Online (Sandbox Code Playgroud)

然后我才意识到“将代码放在哪里?”。所以我搜索了“如何组装ARB组件?” 或“如何使用ARB程序集?”。绝对找不到任何东西。
最后我在这里有一个问题:

  1. 哪个文件扩展名适合ARB汇编?
  2. 如何将这段代码汇编成可执行文件?

我也用Linux Mint 18.3 Cinnamon 64位

der*_*ass 7

  1. 哪个文件扩展名适合ARB汇编?

没有,使用任何您喜欢的。

  1. 如何将这段代码汇编成可执行文件?

你不知道

ARB“汇编”语言用于OpenGL着色器,就您在此处所暗示的意义而言,它们不是任何可执行文件。这些是针对在渲染管线的上下文中在GPU上运行的着色器的,而不是可以直接执行的单个程序。

通常,您将需要一个支持GL_ARB_vertex_programGL_ARB_fragment_programGL扩展的OpenGL实现(它们从来都不是任何OpenGL核心版本的一部分),然后驱动程序将为正在使用的特定GPU创建一个二进制文件。

ARB组件着色器已完全过时(至少从最终用户的角度来看,nvidia有时仍会使用自己的扩展方言作为内部中间表示,但这并不能真正改变全局),并已由OpenGL取代着色语言(GLSL)(自2004年发布2.0版以来,它核心OpenGL的一部分!)。