浏览代码

PR review changes

* Pack light subtractive mode in light position w component
 * Use simpler light mapping delegate
 * Rename attenuation test scene to avoid name collision
/main
egomeh 6 年前
当前提交
a37c0592
共有 19 个文件被更改,包括 702 次插入341 次删除
  1. 3
      TestProjects/LWGraphicsTest/ProjectSettings/EditorBuildSettings.asset
  2. 126
      com.unity.render-pipelines.lightweight/LWRP/LightweightPipeline.cs
  3. 16
      com.unity.render-pipelines.lightweight/LWRP/Passes/SetupLightweightConstanstPass.cs
  4. 11
      com.unity.render-pipelines.lightweight/LWRP/ShaderLibrary/Lighting.hlsl
  5. 2
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity
  6. 111
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_dir.png
  7. 8
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.meta
  8. 7
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/LightingData.asset
  9. 8
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/LightingData.asset.meta
  10. 88
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_dir.png.meta
  11. 381
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_light.exr
  12. 88
      com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_light.exr.meta
  13. 88
      com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/OSXEditor/Metal/052_Lighting_Attenuation.png.meta
  14. 18
      com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/WindowsEditor/Direct3D11/052_Lighting_Attenuation.png
  15. 88
      com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/WindowsEditor/Direct3D11/052_Lighting_Attenuation.png.meta
  16. 0
      /com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity.meta
  17. 0
      /com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity
  18. 0
      /com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_dir.png

3
TestProjects/LWGraphicsTest/ProjectSettings/EditorBuildSettings.asset


- enabled: 1
path: Packages/com.unity.testing.srp.lightweight/Tests/Scenes/053_UnlitShader.unity
guid: a28e1d48e6e3c0e42a4050ab4e770bf8
- enabled: 1
path: Packages/com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity
guid: 93a99004f07ca6f4dbbc9ccb319c7698
m_configObjects: {}

126
com.unity.render-pipelines.lightweight/LWRP/LightweightPipeline.cs


using UnityEngine.Rendering;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.Experimental.GlobalIllumination;
using Lightmapping = UnityEngine.Experimental.GlobalIllumination.Lightmapping;
namespace UnityEngine.Experimental.Rendering.LightweightPipeline
{

Shader.SetGlobalMatrix(PerCameraBuffer._InvCameraViewProj, invViewProjMatrix);
}
public static bool LightDataGIExtract(Light light, ref LightDataGI lightData)
public static Lightmapping.RequestLightsDelegate lightsDelegate = (Light[] requests, NativeArray<LightDataGI> lightsOutput) =>
// TODO: Only take into account the light dimmer when we have real time GI.
lightData.instanceID = light.GetInstanceID();
lightData.color = LinearColor.Convert(light.color, light.intensity);
lightData.indirectColor = LightmapperUtils.ExtractIndirect(light);
// The difference is that `light.lightmapBakeType` is the intent, e.g.you want a mixed light with shadowmask. But then the overlap test might detect more than 4 overlapping volumes and force a light to fallback to baked.
// In that case `light.bakingOutput.lightmapBakeType` would be baked, instead of mixed, whereas `light.lightmapBakeType` would still be mixed. But this difference is only relevant in editor builds
#if UNITY_EDITOR
lightData.mode = LightmapperUtils.Extract(light.lightmapBakeType);
#else
lightData.mode = LightmapperUtils.Extract(light.bakingOutput.lightmapBakeType);
#endif
lightData.shadow = (byte)(light.shadows != LightShadows.None ? 1 : 0);
DirectionalLight directionalLight = new DirectionalLight();
PointLight pointLight = new PointLight();
SpotLight spotLight = new SpotLight();
RectangleLight rectangleLight = new RectangleLight();
LightDataGI lightData = new LightDataGI();
if (true)
for (int i = 0; i < requests.Length; i++)
// For LWRP we need to divide the analytic light color by PI (HDRP do explicit PI division for Lambert, but built in Unity and the GI don't for punctual lights)
// We apply it on both direct and indirect are they are separated, seems that direct is not used if we used mixed mode with indirect or shadowmask bake.
Light light = requests[i];
case LightType.Directional:
lightData.orientation.SetLookRotation(light.transform.forward, Vector3.up);
lightData.position = Vector3.zero;
lightData.range = 0.0f;
lightData.coneAngle = 0.0f;
lightData.innerConeAngle = 0.0f;
#if UNITY_EDITOR
lightData.shape0 = light.shadows != LightShadows.None ? (Mathf.Deg2Rad * light.shadowAngle) : 0.0f;
#else
lightData.shape0 = 0.0f;
#endif
lightData.shape1 = 0.0f;
lightData.type = UnityEngine.Experimental.GlobalIllumination.LightType.Directional;
lightData.falloff = FalloffType.Undefined;
break;
case LightType.Spot:
lightData.orientation = light.transform.rotation;
lightData.position = light.transform.position;
lightData.range = light.range;
lightData.coneAngle = light.spotAngle * Mathf.Deg2Rad; // coneAngle is the full angle
lightData.innerConeAngle = LightmapperUtils.ExtractInnerCone(light) * 0.5f;
#if UNITY_EDITOR
lightData.shape0 = light.shadows != LightShadows.None ? light.shadowRadius : 0.0f;
#else
lightData.shape0 = 0.0f;
#endif
lightData.shape1 = 0.0f;
lightData.type = UnityEngine.Experimental.GlobalIllumination.LightType.Spot;
lightData.falloff = FalloffType.InverseSquared;
break;
case LightType.Point:
lightData.orientation = Quaternion.identity;
lightData.position = light.transform.position;
lightData.range = light.range;
lightData.coneAngle = 0.0f;
lightData.innerConeAngle = 0.0f;
#if UNITY_EDITOR
lightData.shape0 = light.shadows != LightShadows.None ? light.shadowRadius : 0.0f;
#else
lightData.shape0 = 0.0f;
#endif
lightData.shape1 = 0.0f;
lightData.type = UnityEngine.Experimental.GlobalIllumination.LightType.Point;
lightData.falloff = true ? FalloffType.InverseSquared : FalloffType.InverseSquaredNoRangeAttenuation;
break;
// Note: We don't support this type in HDRP, but ini just in case
case LightType.Area:
lightData.orientation = light.transform.rotation;
lightData.position = light.transform.position;
lightData.range = light.range;
lightData.coneAngle = 0.0f;
lightData.innerConeAngle = 0.0f;
#if UNITY_EDITOR
lightData.shape0 = light.areaSize.x;
lightData.shape1 = light.areaSize.y;
#else
lightData.shape0 = 0.0f;
lightData.shape1 = 0.0f;
#endif
lightData.type = UnityEngine.Experimental.GlobalIllumination.LightType.Rectangle;
lightData.falloff = FalloffType.Undefined;
break;
default:
Debug.Assert(false, "Encountered an unknown LightType.");
break;
case LightType.Directional: LightmapperUtils.Extract(light, ref directionalLight); lightData.Init(ref directionalLight); break;
case LightType.Point: LightmapperUtils.Extract(light, ref pointLight); lightData.Init(ref pointLight); break;
case LightType.Spot: LightmapperUtils.Extract(light, ref spotLight); lightData.Init(ref spotLight); break;
case LightType.Area: LightmapperUtils.Extract(light, ref rectangleLight); lightData.Init(ref rectangleLight); break;
default: lightData.InitNoBake(light.GetInstanceID()); break;
}
return true;
}
public static Lightmapping.RequestLightsDelegate lightsDelegate = (Light[] requests, NativeArray<LightDataGI> lightsOutput) =>
{
// Get all lights in the scene
LightDataGI lightData = new LightDataGI();
for (int i = 0; i < requests.Length; i++)
{
Light light = requests[i];
#if UNITY_EDITOR
if (LightmapperUtils.Extract(light.lightmapBakeType) == LightMode.Realtime)
lightData.InitNoBake(light.GetInstanceID());
else
LightDataGIExtract(light, ref lightData);
#else
ld.InitNoBake(l.GetInstanceID());
#endif
lightData.falloff = FalloffType.InverseSquared;
lightsOutput[i] = lightData;
}
};

16
com.unity.render-pipelines.lightweight/LWRP/Passes/SetupLightweightConstanstPass.cs


lightAttenuation = k_DefaultLightAttenuation;
lightSpotDir = k_DefaultLightSpotDirection;
float subtractiveMixedLighting = 0.0f;
// When no lights are visible, main light will be set to -1.
// In this case we initialize it to default values and return
if (lightIndex < 0)

else
{
Vector4 pos = lightData.localToWorld.GetColumn(3);
lightPos = new Vector4(pos.x, pos.y, pos.z, 1.0f);
lightPos = new Vector4(pos.x, pos.y, pos.z, 0.0f);
lightColor.w = 0.0f;
// Directional Light attenuation is initialize so distance attenuation always be 1.0
if (lightData.lightType != LightType.Directional)

float lightRangeSqrOverFadeRangeSqr = -lightRangeSqr / fadeRangeSqr;
lightAttenuation.x = oneOverFadeRangeSqr;
lightAttenuation.y = lightRangeSqrOverFadeRangeSqr;
lightColor.w = 1.0f;
subtractiveMixedLighting = 1.0f;
}
if (lightData.lightType == LightType.Spot)

if (m_MixedLightingSetup == MixedLightingSetup.None && lightData.light.shadows != LightShadows.None)
{
m_MixedLightingSetup = MixedLightingSetup.Subtractive;
lightColor.w = 0.0f;
subtractiveMixedLighting = 0.0f;
// Use the w component of the light position to indicate subtractive mixed light mode.
// The only directional light is the main light, and the rest are punctual lights.
// The main light will always have w = 0 and the additional lights have w = 1.
lightPos.w = subtractiveMixedLighting;
}
void SetupShaderLightConstants(CommandBuffer cmd, ref LightData lightData)

}
}
cmd.SetGlobalVector(LightConstantBuffer._MainLightPosition, new Vector4(lightPos.x, lightPos.y, lightPos.z, lightColor.w));
cmd.SetGlobalVector(LightConstantBuffer._MainLightPosition, lightPos);
cmd.SetGlobalVector(LightConstantBuffer._MainLightColor, lightColor);
}

11
com.unity.render-pipelines.lightweight/LWRP/ShaderLibrary/Lighting.hlsl


struct LightInput
{
float4 position;
half4 color;
half3 color;
half4 distanceAndSpotAttenuation;
half4 spotDirection;
};

// dynamic indexing. Ideally we need to configure light data at a cluster of
// objects granularity level. We will only be able to do that when scriptable culling kicks in.
// TODO: Use StructuredBuffer on PC/Console and profile access speed on mobile that support it.
lightInput.position = _AdditionalLightPosition[lightIndex];
lightInput.color = _AdditionalLightColor[lightIndex];
float4 positionAndSubtractiveLightMode = _AdditionalLightPosition[lightIndex];
lightInput.position = float4(positionAndSubtractiveLightMode.xyz, 1.);
lightInput.color = _AdditionalLightColor[lightIndex].rgb;
lightInput.distanceAndSpotAttenuation = _AdditionalLightAttenuation[lightIndex];
lightInput.spotDirection = _AdditionalLightSpotDir[lightIndex];

light.index = lightIndex;
light.direction = directionAndRealtimeAttenuation.xyz;
light.attenuation = directionAndRealtimeAttenuation.w;
light.subtractiveModeAttenuation = lightInput.color.w;
light.color = lightInput.color.rgb;
light.subtractiveModeAttenuation = positionAndSubtractiveLightMode.w;
light.color = lightInput.color;
return light;
}

2
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity


m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 112000002, guid: bf00ec275dcdf1841834f13a38311f17, type: 2}
m_LightingDataAsset: {fileID: 112000002, guid: ea1fa8c7b7807ff429d50b8e6715906b, type: 2}
m_UseShadowmask: 0
--- !u!196 &4
NavMeshSettings:

111
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_dir.png

之前 之后
宽度: 512  |  高度: 512  |  大小: 21 KiB

8
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.meta


fileFormatVersion: 2
guid: 079312de60075284cb8f893462f9b6f8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

7
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/LightingData.asset


5�9D62018.3.0a10�������-%)oZæu���_��7���������� E� ��"�.�+�4a� ��"�.�+���r� ��" �.�+
�H������� �1�1����� @��� Q�j�IX�����_z�������������1�1�����@����j�P������������������������0������" ��&!��*"��.#��2$��6%��:&��>'��B(��F)��J����*�1�1�����+@���,��j� - ��U. ��W/ ��Y0 ��[����1�1�1�����2@���3gj�4u}5���6���7���8���9���:���;���<���=���>���?���@���A���B���C��D��E��F��#G��*����H�1�1�����I@���J��j� K ��UL ��WM ��YN ��6����O1�1�����P���Q�j�Ru��S���T���U���V���W���X���Y���Z���[���\���]���^���_���`���a��b��c��
�d��[����e�1�1�����f@���goj�lh���i���j���k���l���m���n���o���p���q���r���s���t���u���v���w���x���y���z��{�� |��}��~����%���,���3���:���A������1�1������@����Wj������;�k�����1�1������������j��;�������1�1������������j��;�������1�1����������5�j��LightProbesPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>LightProbeDatam_DataProbeSetTetrahedralizationm_Tetrahedralizationm_TetrahedraTetrahedronindices[0]indices[1]indices[2]indices[3]neighbors[0]neighbors[1]neighbors[2]neighbors[3]Matrix3x4fmatrixe00e01e02e03e10e11e12e13e20e21e22e23m_HullRaysxyzm_ProbeSetsProbeSetIndexHash128m_Hashbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]m_Offsetm_Sizem_Positionsm_NonTetrahedralizedProbeSetIndexMapm_BakedCoefficientsSphericalHarmonicsL2sh[ 0]sh[ 1]sh[ 2]sh[ 3]sh[ 4]sh[ 5]sh[ 6]sh[ 7]sh[ 8]sh[ 9]sh[10]sh[11]sh[12]sh[13]sh[14]sh[15]sh[16]sh[17]sh[18]sh[19]sh[20]sh[21]sh[22]sh[23]sh[24]sh[25]sh[26]m_BakedLightOcclusionLightProbeOcclusionm_ProbeOcclusionLightIndexm_Occlusionm_OcclusionMaskChannel`���I���]�O楃_���5�7����������E� ��(�.�1�:a� ��(�.�1���r� ��( �.�1
�H������� �1�1����� @��� Q�j�O` ��(�.�1���h�����1�1�����@���tj�$��� ��(�.�1���� ��(�.�1���� ��(�.�1���������1�1����� ����!H�j�����"�1�1�����#@���$Q�j�%�� &��('�.�1(����)�l*��+��%,��,-��3.��:/��A0��H1��O2��V3��]4��d5��k6��r7��y8���9���:���;���<���=���>���?���@���A���B���C���D���E�������F�1�1�����G@���H�j�`I  J��(K�.�1L���M ��'N ��)O ��+P ��-Q ��/R ��'S ��)T ��+U ��-V ��GW��UX��jY ��'Z ��)[ ��+\ ��-] ��u^ ��'_ ��)` ��+a ��-b ��c���d���e���f���g���h���i���j���k���l���m���n��o��p��q��&r��0s��:����t�1�1�����u@���vWj�w.�mx.�zy������z��������{�1�1�����|@���}�j�@~y�� ��(��.�1������ ��'� ��)� ��+� ��-� ����
��������������������������������������������������������&���0�������������������������������������������������������������������������&����0����$������1�1������@����.j�4���I���W���d���o���|�����������������������������������������������������������&���0�����������������������������������������������������������&���0����������1�1������@�����j���������������������������������������������������������&���0����������1�1������@�����j����������������������������������������������������������������&���0������� �����1�1�����@���j� �����=��J��W�����1�1�����@��� Wj�
.�m .�z ��z���� �1�1�����@���Wj�.�m.�z��������1�1����������j��������������� L�@��%�����1�1���������H�j����� �1�1�����!@���"Q�j�#��M����$�1�1�����%@���&��j� '��((�.�1)���l����*�1�1�����+@���,Wj�-.�m..�z/�������0�1�1�����1@���2��j�3���4LightingDataAssetPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>PPtr<SceneAsset>m_Scenem_LightmapsLightmapDatam_Lightmapm_DirLightmapm_ShadowMaskm_LightmapsCacheFilesPPtr<LightProbes>m_LightProbesm_LightmapsModeSphericalHarmonicsL2m_BakedAmbientProbeInLinearsh[ 0]sh[ 1]sh[ 2]sh[ 3]sh[ 4]sh[ 5]sh[ 6]sh[ 7]sh[ 8]sh[ 9]sh[10]sh[11]sh[12]sh[13]sh[14]sh[15]sh[16]sh[17]sh[18]sh[19]sh[20]sh[21]sh[22]sh[23]sh[24]sh[25]sh[26]m_LightmappedRendererDataRendererDataPPtr<Mesh>uvMeshterrainDynamicUVSTxyzwterrainChunkDynamicUVSTlightmapIndexlightmapIndexDynamiclightmapSTlightmapSTDynamicHash128explicitProbeSetHashbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]m_LightmappedRendererDataIDsSceneObjectIdentifiertargetObjecttargetPrefabEnlightenSceneMappingm_EnlightenSceneMappingm_RenderersEnlightenRendererInformationrendererdynamicLightmapSTInSystemsystemIdinstanceHashgeometryHashm_SystemsEnlightenSystemInformationrendererIndexrendererSizeatlasIndexatlasOffsetXatlasOffsetYinputSystemHashradiositySystemHashm_Probesetsm_SystemAtlasesEnlightenSystemAtlasInformationatlasSizeatlasHashfirstSystemIdm_TerrainChunksEnlightenTerrainChunksInformationnumChunksInXnumChunksInYm_EnlightenSceneMappingRendererIDsm_Lightsm_LightBakingOutputsLightBakingOutputprobeOcclusionLightIndexocclusionMaskChannelLightmapBakeModelightmapBakeModelightmapBakeTypemixedLightingModeisBakedm_BakedReflectionProbeCubemapCacheFilesm_BakedReflectionProbeCubemapsm_BakedReflectionProbesm_EnlightenDatam_EnlightenDataVersion@��T��X�9� @�jO��ɼ�g��Fi,f� C��k� ����-C�������~ LightingData LightingData !"��*��*@���?�?�?�?���>�>�?�?�?�?�?�?���>�>�>�?�?�?�?�?�?����->��->J?�?�?4$� G4P���7n��g����<UnityFS5.x.x2018.3.0a10<
�Pp

8
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/LightingData.asset.meta


fileFormatVersion: 2
guid: 56ea575a5cc3efc4f9ffc9f1b53eb566
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 25800000
userData:
assetBundleName:
assetBundleVariant:

88
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_dir.png.meta


fileFormatVersion: 2
guid: 4d3edf7b91d25034c888da1f58ae39e7
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 7
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 1
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

381
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_light.exr
文件差异内容过多而无法显示
查看文件

88
com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_light.exr.meta


fileFormatVersion: 2
guid: 3e6496c2664a90341b98b6a16d506002
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 7
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 1
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 6
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

88
com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/OSXEditor/Metal/052_Lighting_Attenuation.png.meta


fileFormatVersion: 2
guid: 93ca20faa0f488740b74be12ededcab0
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 7
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 1
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

18
com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/WindowsEditor/Direct3D11/052_Lighting_Attenuation.png

之前 之后

88
com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/WindowsEditor/Direct3D11/052_Lighting_Attenuation.png.meta


fileFormatVersion: 2
guid: 81d051c51cd6a3f47a554998b9b1764c
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 7
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 1
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

/com.unity.testing.srp.lightweight/Tests/Scenes/052_Lighting_Attenuation.unity.meta → /com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity.meta

/com.unity.testing.srp.lightweight/Tests/Scenes/052_Lighting_Attenuation.unity → /com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation.unity

/com.unity.testing.srp.lightweight/Tests/ReferenceImages/Linear/OSXEditor/Metal/052_Lighting_Attenuation.png → /com.unity.testing.srp.lightweight/Tests/Scenes/054_Lighting_Attenuation/Lightmap-0_comp_dir.png

正在加载...
取消
保存