def test_pnmimage_mult_sub_image(): dst = PNMImage(2, 2) dst.fill(0.5, 0, 0) #adding color to dst #dst_color will store rgb values at each pixel of dst dst_color = ((dst.get_xel(0, 0), dst.get_xel(0, 1)), (dst.get_xel(1, 0), dst.get_xel(1, 1))) src = PNMImage(1, 1) src.fill(0, 0.7, 0) #adding color to src #src_color will store rgb values at each pixel of src src_color = src.get_xel(0, 0) dst.mult_sub_image(src, 1, 1, 0, 0, 1, 1) final_color = ((dst.get_xel(0, 0), dst.get_xel(0, 1)), (dst.get_xel(1, 0), dst.get_xel(1, 1))) assert final_color[0][0] == dst_color[0][0] assert final_color[0][1] == dst_color[0][1] assert final_color[1][0] == dst_color[1][0] assert final_color[1][1][0] == dst_color[1][1][0] * src_color[ 0] and final_color[1][1][1] == dst_color[1][1][1] * src_color[ 1] and final_color[1][1][2] == dst_color[1][1][2] * src_color[2]
content = content.replace("%ENDIF_" + def_name + "%", "") else: content = content.replace("%IF_" + def_name + "%", "<!--") content = content.replace("%ENDIF_" + def_name + "%", "-->") content = content.replace("%ALPHA%", str(material["roughness"] * material["roughness"])) content = content.replace("%IOR%", str(material.get("ior", 1.51))) content = content.replace("%BASECOLOR%", str(material["basecolor"]).strip("()")) content = content.replace("%MATERIAL_SRC%", material.get("material_src", "").strip("()")) with open("res/scene.xml", "w") as handle: handle.write(content) os.system("run_mitsuba.bat > nul") print(" Writing result ..") img = PNMImage("scene-rp.png") img_ref = PNMImage("scene.png") img.copy_sub_image(img_ref, 256, 0, 256, 0, 256, 512) img.mult_sub_image(overlay, 0, 0) img.write("batch_compare/" + material["name"] + ".png") try: os.remove("_tmp_material.py") except: pass print("Done!")