demos/objreader.py
branchpyrit
changeset 29 574c34441a1c
child 41 c1080cb5bd6d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/demos/objreader.py	Sat Dec 08 14:07:42 2007 +0100
@@ -0,0 +1,17 @@
+from raytracer import Triangle, NormalVertex
+
+def LoadWavefrontObjFile(rt, filename, mat, scale):
+	vertices = []
+	fp = file(filename)
+	while True:
+		ln = fp.readline()
+		if ln == "":
+			break;
+		ln = ln.split()
+		if ln[0] == "v":
+			v = [scale*float(x) for x in ln[1:4]]
+			vertices.append(tuple(v))
+		if ln[0] == "f":
+			f = [vertices[int(x)-1] for x in ln[1:4]]
+			face = Triangle(NormalVertex(f[0]), NormalVertex(f[1]), NormalVertex(f[2]), mat)
+			rt.addshape(face)