def renderRelighting(renderer, albedo, spec, roughness, normal):
renderer.SetPointLight(0, 0.27, -0.25, 1, 0, 0.6, 0.6, 0.6)
renderer.SetAlbedoMap(albedo)
renderer.SetSpecValue(spec)
renderer.SetRoughnessValue(roughness)
normal = normal * 2.0 - 1.0
normal[0] = normal[0] * 2.5
len = np.linalg.norm(normal, axis = 2)
normal = normal / np.dstack((len, len, len))
normal = 0.5*(normal + 1.0)
renderer.SetNormalMap(normal*2.0 - 1.0)
img = renderer.Render()
renderer.SetEnvLightByID(43, 30, -10.0)
renderer.SetAlbedoMap(albedo)
renderer.SetSpecValue(spec)
renderer.SetRoughnessValue(roughness)
renderer.SetNormalMap(normal*2.0 - 1.0)
img_1 = renderer.Render()
return 1.2 * img + 0.8 * img_1
评论列表
文章目录