demos/objreader.py
author Radek Brich <radek.brich@devl.cz>
Wed, 12 Dec 2007 19:59:19 +0100
branchpyrit
changeset 35 fb170fccb19f
parent 29 574c34441a1c
child 41 c1080cb5bd6d
permissions -rw-r--r--
new space partitioning structure: octree realtime_bunny updated to use octree plus other files updated to be container type independent (only user programs are supposed to include and use special containers)

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)