虚幻引擎中 版本5.6 当我们使用前向半透渲染的时候发现与延迟渲染相比亮度会亮不少,我们使用的是Cloth ShadingModel,我们一番寻找在BasePassPixelShader.usf文件中前向渲染部分ForwardDirectLighting使用GetForwardDirectLightingSplit计算处添加了if (GBuffer.ShadingModelID == SHADINGMODELID_CLOTH){Color /= View.PreExposure;} 好像这个亮度问题可以得到缓解 这是为什么? 但同时这个方案依然存在稍暗的部分在校正后出现过暗的问题,这又是为什么?目前官方有没有什么解决方案?
FDeferredLightingSplit ForwardDirectLighting = GetForwardDirectLightingSplit(
In.SvPosition.xy,
GridIndex, MaterialParameters.WorldPosition_CamRelative, MaterialParameters.CameraVector, GBuffer, NearestResolvedDepthScreenUV, MaterialParameters.PrimitiveId, EyeIndex, Dither,
DirectionalLightCloudShadow, DirectionalLightAtmosphereTransmittance, DirectionalLightShadow,
bSeparateWaterMainDirLightLuminance, SeparatedWaterMainDirLightLuminance,
bSkipMainDirLightVirtualShadowMapEvaluation);
#if MATERIAL_SHADINGMODEL_THIN_TRANSLUCENT
DiffuseColor += ForwardDirectLighting.DiffuseLighting.rgb;
ColorSeparateSpecular += ForwardDirectLighting.SpecularLighting.rgb;
#else
Color += ForwardDirectLighting.DiffuseLighting.rgb;
Color += ForwardDirectLighting.SpecularLighting.rgb;
if (GBuffer.ShadingModelID == SHADINGMODELID_CLOTH)
{
Color /= View.PreExposure;
}
#endif
[Attachment Removed]