Obj to VBO parser
This commit is contained in:
parent
a611b6c72d
commit
352f034bf5
4
.gitignore
vendored
4
.gitignore
vendored
@ -22,3 +22,7 @@ dist-ssr
|
|||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
|
||||||
|
# Specific to this project
|
||||||
|
scripts/in/*
|
||||||
|
scripts/out/*
|
||||||
27
scripts/objParser.py
Normal file
27
scripts/objParser.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
def conv_obj(obj):
|
||||||
|
vertex_positions = []
|
||||||
|
triangle_vertices = []
|
||||||
|
lines = obj.splitlines()
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
line = line.strip()
|
||||||
|
if line.startswith("v "):
|
||||||
|
parts = line.split()
|
||||||
|
|
||||||
|
# or do parts[2] too if 3D, adjust with your axis
|
||||||
|
vertex_positions.append([float(parts[1]), float(parts[3])])
|
||||||
|
elif line.startswith("f "):
|
||||||
|
parts = line.split()
|
||||||
|
v1 = vertex_positions[int(parts[1].split("/")[0]) - 1]
|
||||||
|
v2 = vertex_positions[int(parts[2].split("/")[0]) - 1]
|
||||||
|
v3 = vertex_positions[int(parts[3].split("/")[0]) - 1]
|
||||||
|
triangle_vertices.extend(v1 + v2 + v3)
|
||||||
|
|
||||||
|
return triangle_vertices
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
obj_data = sys.stdin.read()
|
||||||
|
result = conv_obj(obj_data)
|
||||||
|
print(result)
|
||||||
Loading…
Reference in New Issue
Block a user