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
|
||||
*.sln
|
||||
*.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