diff --git a/model.hpp b/model.hpp index d1f5d28..d44065b 100644 --- a/model.hpp +++ b/model.hpp @@ -7,6 +7,7 @@ struct model { std::vector verts; std::vector faces; + std::vector normals; }; #endif diff --git a/parseObj.py b/parseObj.py index dc81cda..ff91634 100644 --- a/parseObj.py +++ b/parseObj.py @@ -21,6 +21,14 @@ for index,line in enumerate(content): content = content[endVerts:] break + +normals = [] +for index,line in enumerate(content): + if "vt" in line: + normals = content[:index] + content = content[index:] + break + startFaces = 0; faces = [] for index,line in enumerate(content): @@ -31,8 +39,9 @@ for index,line in enumerate(content): verts = ["vec3(" +",".join(vert.split(" ")[1:4]) + ")" for vert in verts] faces = [ ",".join([str(int((d.split("/")[0])) - 1) for d in face.split(" ")[1:4]]) for face in faces] +normals = ["vec3(" + ",".join(normal.split(" ")[1:4]) + ")" for normal in normals] -out = "#include \"model.hpp\" \n const model testModel({" + ",".join(verts) +"},{" + ",".join(faces) + "});" +out = "#include \"model.hpp\" \n const model testModel({" + ",".join(verts) +"},{" + ",".join(faces) + "},{" + ",".join(normals) + "});" with open("testModel.hpp", "w") as f: f.write(out)