我已经学会了如何使用着色器导入带有assimp的.obj 但是,是否可以通过fixed-function-pipeline导入带有assimp的.obj。 这样我就可以轻松地通过OpenGL API进行编程。
答案 0 :(得分:0)
两者之间不应发生显着变化,假设您应该获得与opengl无关的顶点位置,法线和UV坐标。
改变的是你不会使用VAO / VBO,但你必须“手动”发送每个顶点属性
同
glTexCoord2dv(your uv) glNormal3dv( your normal) glVertex3dv( your vertex)
对于你的每个面部和顶点。
编辑:
波前对象格式每个顶点仅使用一组UV坐标,因此所有纹理都将使用相同的UV贴图。如果你有使用多个UV贴图的纹理,你应该看看另一种格式,如.fbx。但这些东西与固定/可编程管道无关。一旦文件被assimp导入,你就完成了。所有更改都是用于发送数据的函数。 obj文件的材料数据也非常有限,所以你所拥有的只是所用纹理的名称和它的通道。由于材料与渲染管道密切相关,因此信息将始终丢失。