mke*_*yon 13 opengl blender sketchup
我正在使用OpenGL制作渲染器.我在Blender/Sketchup中有纹理模型(我可以轻松地在两者之间交换),我希望能够将这些文件导出到我的渲染器中.我最初的想法是简单地导出原始面并渲染这些三角形,但我也想轻松地将纹理文件切割成纹理坐标.
通过这个,我的意思是我的模型面被雕刻成三角形.您可以在此图像中看到(下面再现)我的曲线变为24个三角形.我想知道每个三角形使用什么纹理坐标.

DAE文件是最简单的方法吗?我一直在阅读格式的规格,看起来很简单.我想我可以解析XML并忠实地在OpenGL中重新创建模型.我想知道是否有一种更简单的方法(即不重新发明轮子的方式).
如果二进制格式不吓到你,我建议编写一个Blender&Sketchup插件并将预先烘焙的几何体导出到打包的顶点数组中.
这个方法的美妙之处在于你的应用程序中没有解析或类型转换.一切都准备好以简单的连续内存副本发送到GPU.非常适合静态几何.
一个精简的搅拌机出口商看起来像这样:
#!BPY
import bpy, struct
from Blender import *
self.fh = open("MyFileName", "w")
m = bpy.data.meshes["MyMeshName"]
faces = m.faces
for face in faces:
for (vertex, uv) in zip(face.verts, face.uv):
self.fh.write(struct.pack('<fff', *vertex.co)) # coords
self.fh.write(struct.pack('<fff', *vertex.no)) # normals
self.fh.write(struct.pack('<ff', uv.x, uv.y)) # uvs
self.fh.close()
Run Code Online (Sandbox Code Playgroud)