Obj to VBO parser

This commit is contained in:
Keanu Taufan 2024-09-21 22:50:51 +07:00
parent a611b6c72d
commit 352f034bf5
No known key found for this signature in database
GPG Key ID: 1952D665A3A51BE0
2 changed files with 31 additions and 0 deletions

4
.gitignore vendored
View File

@ -22,3 +22,7 @@ dist-ssr
*.njsproj
*.sln
*.sw?
# Specific to this project
scripts/in/*
scripts/out/*

27
scripts/objParser.py Normal file
View 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)