robert.blodgett Posted March 16, 2016 Share Posted March 16, 2016 Why would my environment probe emit light on nearby surfaces that are non-reflective? I don't think this happened in 2.1.1. Link to comment
sebastianbah Posted March 17, 2016 Share Posted March 17, 2016 Hi, For now environment probe emits additional environment lighting. This feature allows to make different environment lighting on some areas of the scene. You may change the cubemap texture of the environment probe to check the feature. Thanks for the feedback! Link to comment
robert.blodgett Posted March 17, 2016 Author Share Posted March 17, 2016 Can I turn off this additional light emission? I only want it to be a tool for reflection for reflective materials. Ie, the job our our environment probes is to capture the scene from the probe's point of view, NOT to modify the scene by emitting light. That disrupts the intention of how we're lighting the scene... Link to comment
sebastianbah Posted March 18, 2016 Share Posted March 18, 2016 I'm afraid it's currently not possible. Environment lighting from reflection probe is not additive, so if you grab reflections in room, in your case, with correct environment, such problem shouldn't appear. This option will be available in next release. Sorry for the inconvenience caused. Link to comment
robert.blodgett Posted March 18, 2016 Author Share Posted March 18, 2016 "Environment lighting from reflection probe is not additive"So, am I not grabbing the environment incorrectly? I create it this way: probe->probe = LightEnvironmentProbe::create(vec4(1, 1, 1, 1), vec3((float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_RADIUS]), ""); iceOriginNode->addChild(probe->probe->getNode()); environmentProbesMap[id] = probe; probe->znear = (float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_ZNEAR]; probe->zfar = (float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_ZFAR]; probe->resolution = (int)envParamValues[EnvironmentProbeParameters::ENV_PROBE_RESOLUTION]; probe->visibleDistance = (float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_VISIBLE_DISTANCE]; probe->probe->setFadeDistance((float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_RADIUS]); probe->probe->setDynamic(0); probe->probe->setResolution((int)envParamValues[EnvironmentProbeParameters::ENV_PROBE_RESOLUTION]); probe->probe->setZNear((float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_ZNEAR]); probe->probe->setZFar((float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_ZFAR]); probe->probe->setVisibleDistance((float)envParamValues[EnvironmentProbeParameters::ENV_PROBE_VISIBLE_DISTANCE]); And then when i generate the environment map I do this: ImagePtr image = Image::create(); int result = image->createCube(probe->resolution, probe->resolution, Image::FORMAT_RGBA16F); float znear = probe->znear; float zfar = probe->zfar; mat4 projection = frustum(-znear, znear, -znear, znear, znear, zfar); dvec3 position = probe->probe->getNodeWorldPosition(); CameraPtr camera = Camera::create(); camera->setPosition(position); camera->setProjection(projection); Render::get()->renderImageCube(camera, image, 1); result = probe->probe->setImageTextureImage(image, 1); Link to comment
robert.blodgett Posted March 18, 2016 Author Share Posted March 18, 2016 I see now that the environment probe is acting to provide indirect lighting as well. Hmm... A couple of suggestions: 1. the indirect lighting should never be more bright than any direct lighting that interacts with the probe. I think we're going to have to turn off all our environment probes until this can be fixed. This is currently breaking our lighting. 2. perhaps "environment probes" and "indirect lighting providers" should be separate and distinct things. The attached image has two environment probes and no lights. The environment probes were captured when no lights were present, so i'm not sure how they are getting lighting... Link to comment
robert.blodgett Posted March 18, 2016 Author Share Posted March 18, 2016 Oh, I see one of the problems. When I grab the texture, it is capturing in the new texture the light emission of the thing that was previously there. So each subsequent 'grab' makes it dimmer and dimmer until it is finally really dim. It looks like if I turn the intensity down to 0, then grab the image, then turn the intensity back to 1, I get more desirable results. Link to comment
robert.blodgett Posted March 18, 2016 Author Share Posted March 18, 2016 It appears that the indirect light is affecting surfaces facing away from the environment probe also. See the picture the environment probe is on the inside of the wall, and this is showing the outside of the wall. By the way, my idea of setting the intensity to 0 and grabbing the image is having problems on the c++ side. Link to comment
artur.szymanski Posted March 21, 2016 Share Posted March 21, 2016 When exactly option to bring back older environmental probe functionality will be added? We have the same issue.This new behavior of a probe is very problematic for our project. We use a probe linked to a camera to calculate reflections, and now this doesn't work well anymore - for example, when the camera goes into a tunnel, objects outside darkens. Only solution we see is to have hundreds of probes along every possible camera path which kills performance. Link to comment
demostenes Posted March 21, 2016 Share Posted March 21, 2016 Only solution we see is to have hundreds of probes along every possible camera path which kills performance. Hmm, this shouldnt kill performace, probes are meant exactly for this, especially if they are baked. 1 Link to comment
artur.szymanski Posted March 21, 2016 Share Posted March 21, 2016 Unfortunately baking is not an option with dynamic weather, day night cycle, and seasons. We would need well over 100 textures for every probe. Link to comment
cryunreal Posted March 21, 2016 Share Posted March 21, 2016 Hi! Artur.szymanski, you need to use ambient light and reflections from procedural environment. This solution is better. Environment probes are intended for local lighting. You can attach environment probe to camera, but don't make it big size. Hmm, this shouldnt kill performace, probes are meant exactly for this, especially if they are baked. Yes, you are right!) Link to comment
artur.szymanski Posted March 22, 2016 Share Posted March 22, 2016 Thanks, making camera probe small helped significantly with our problem. Link to comment
silent Posted April 13, 2016 Share Posted April 13, 2016 Since 2.2.1 version we've added an ability to customize intensity of Reflections and Ambient lights into environment probes. Please, take note that to completely disable Ambient light you need to set the alpha channel in Ambient color to zero in Environment probe settings. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
Recommended Posts