from gzz.vob import * from java.awt import Color from gzz.gfx.gl import GL, GLCache w = getGraphicsWindow() print "GW: ",w bv = GL.createByteVector(10000) def checkAvgColor(x, y, w, h, color): bv.readFromBuffer_ubytes(w, "FRONT", x, y, w, h, "RGB") r = 0.0 g = 0.0 b = 0.0 for i in range(0,w*h): r += bv.get(3*i) g += bv.get(3*i+1) b += bv.get(3*i+2) r /= w*h g /= w*h b /= w*h msg = str((color, (r,g,b))) failUnlessApprox(10, color[0], r, msg) failUnlessApprox(10, color[1], g, msg) failUnlessApprox(10, color[2], b, msg) def testBgTriangle(): vs = w.createVobScene() vs.map.put(SolidBgVob(Color.red)) vs.map.put(GLCache.getCallList(""" Color 0 1 0 Disable TEXTURE_2D Begin TRIANGLES Vertex 100 100 Vertex 100 200 Vertex 200 100 End """)) vs.coords.renderInterp(w, vs.map, None, None, 0, 1, 1) checkAvgColor(10, 10, 2, 2, (255, 0, 0)) checkAvgColor(10, 10, 2, 2, (255, 0, 255)) # : vim: set syntax=python :