如何通过固定功能管道使用assimp?

时间:2018-06-05 17:11:54

标签: opengl assimp wavefront

我已经学会了如何使用着色器导入带有assimp的.obj 但是,是否可以通过fixed-function-pipeline导入带有assimp的.obj。 这样我就可以轻松地通过OpenGL API进行编程。

1 个答案:

答案 0 :(得分:0)

两者之间不应发生显着变化,假设您应该获得与opengl无关的顶点位置,法线和UV坐标。

改变的是你不会使用VAO / VBO,但你必须“手动”发送每个顶点属性 同 glTexCoord2dv(your uv) glNormal3dv( your normal) glVertex3dv( your vertex)

对于你的每个面部和顶点。

编辑:

波前对象格式每个顶点仅使用一组UV坐标,因此所有纹理都将使用相同的UV贴图。如果你有使用多个UV贴图的纹理,你应该看看另一种格式,如.fbx。但这些东西与固定/可编程管道无关。一旦文件被assimp导入,你就完成了。所有更改都是用于发送数据的函数。 obj文件的材料数据也非常有限,所以你所拥有的只是所用纹理的名称和它的通道。由于材料与渲染管道密切相关,因此信息将始终丢失。