浏览代码

Fixed after merge

/feature-infinite-sea
André McGrail 4 年前
当前提交
9d8a2598
共有 3 个文件被更改,包括 125 次插入118 次删除
  1. 221
      Assets/scenes/Testing/InfiniteWater.unity
  2. 7
      Packages/com.verasl.water-system/Shaders/InfiniteWater.shader
  3. 15
      Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl

221
Assets/scenes/Testing/InfiniteWater.unity


value: 0
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}

value: 0
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}

value: -0
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}

objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 3}
propertyPath: _rampTexture
propertyPath: _depthTex
objectReference: {fileID: 952346665}
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 3}
propertyPath: m_Enabled

type: 3}
propertyPath: _depthTex
propertyPath: _rampTexture
objectReference: {fileID: 0}
objectReference: {fileID: 952346665}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 3}
propertyPath: _waves.Array.data[0].direction

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 341762015}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!84 &486698662
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WaterDepthMap
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 1024
m_Height: 1024
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 2
m_ColorFormat: 142
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
--- !u!1 &537372327
GameObject:
m_ObjectHideFlags: 0

Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 2
m_Width: 128
m_Height: 4

m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
m_PlatformBlob:
image data: 2048
_typelessdata: ffffffffffeffdffffdffbffffd0f9ffffc0f7ffffb0f5ffffa0f3ffff90f1ffff81efffff71eeffff61ecffff51eaffff41e8ffff32e6ffff2ee2fbff2cdef7ff2bdbf2ff29d7eeff28d3e9ff26cfe4ff25cce0ff23c8dbff22c4d7ff20c0d2ff1fbcceff1db9c9ff1cb5c5ff1ab1c0ff19adbcff17a9b7ff16a6b2ff14a2aeff139ea9ff119aa5ff1096a0ff0e939cff0d8f97ff0b8b93ff0a878eff088389ff078085ff057d82ff057b81ff057a81ff057981ff057880ff057680ff05757fff05747fff04737fff04727eff04707eff046f7dff046e7dff046d7dff046b7cff046a7cff03697bff03687bff03667bff03657aff03647aff036379ff036179ff036079ff025f78ff025e78ff025d77ff025b77ff025a77ff025976ff025876ff025675ff025575ff015475ff015374ff015174ff015073ff014f73ff014e73ff014c72ff014b72ff004a71ff004971ff004871ff004670ff00456eff00436bff004169ff004066ff003e63ff003d61ff003b5eff00395cff003859ff003656ff003454ff003351ff00314eff002f4cff002e49ff002c47ff002b44ff002941ff00273fff00263cff00243aff002237ff002134ff001f32ff001d2fff001c2cff001a2aff001927ff001725ff001522ff00141fff00121dff00101aff000f18ff000d15ff000b12ff000a10ff00080dff00070aff000508ff000305ff000203ff000000ff010505ff020b09ff03100eff041612ff051b17ff06211bff072620ff092c24ff0a3129ff0b372dff0c3c32ff0d4136ff0e473bff0f4c3fff105244ff115748ff125d4dff136251ff146856ff156a58ff156b59ff166d5aff166f5bff16705dff17725eff17735fff187560ff187762ff187863ff197a64ff197b65ff1a7d67ff1a7f68ff1a8069ff1b826aff1b836cff1c856dff1c876eff1c886fff1d8a71ff1d8b72ff1e8d73ff1e8f74ff1e9076ff1f9277ff1f9378ff209579ff1f957aff1f957aff1f957aff1e957bff1e957bff1d947bff1d947cff1d947cff1c947cff1c947dff1b947dff1b947dff1b937dff1a937eff1a937eff19937eff19937fff19937fff18937fff189380ff179280ff179280ff179281ff169281ff169281ff169282ff159282ff159182ff149182ff149183ff149183ff139183ff139184ff129184ff129184ff129085ff119085ff119085ff109086ff109086ff109086ff0f9087ff0f9087ff0e8f87ff0e8f87ff0e8f88ff0d8f88ff0d8f88ff0d8f89ff0c8f89ff0c8e89ff0b8e8aff0b8e8aff0b8e8aff0a8e8bff0a8e8bff098e8bff098e8cff098d8cff088d8cff088d8cff078d8dff078d8dff078d8dff068d8eff068c8eff058c8eff058c8fff058c8fff048c8fff048c90ff048c90ff038c90ff038b91ff028b91ff028b91ff028b91ff018b92ff018b92ff008b92ff000000ff000001ff000001ff000002ff000003ff000004ff000005ff000006ff000007ff000008ff000009ff00000bff00000cff00000dff00000fff000011ff000012ff000013ff000015ff000017ff000019ff00001cff00001dff00001fff000021ff000024ff000026ff000029ff00002bff00002eff000031ff000034ff000037ff00003aff00003dff000040ff000043ff000047ff00004bff00004eff000052ff000056ff00005aff00005eff000063ff000067ff00006cff000070ff000075ff00007aff00007fff000084ff000089ff00008eff000094ff000099ff00009fff0000a4ff0000aaff0000afff0003b5ff0006bbff0009c1ff000dc7ff0010cdff0014d3ff0018d9ff001cdeff0021e4ff0025e9ff0029efff002ef4ff0033faff0038feff003efeff0043faff0049f7ff004ef3ff0054eeff005aebff0060e6ff0067e1ff006edcff0075d7ff007cd1ff0084cbff008cc5ff0094bfff009cb7ff00a5b0ff00ada8ff00b6a1ff00be99ff00c790ff04cf88ff0cd880ff14e177ff1ce96eff24f165ff2df85cff36ff54ff40fb4bff4af643ff53f13aff5deb32ff68e52aff72df23ff7dd81bff87d214ff91cb0dff9bc507ffa5be01ffaeb800ffb6b200ffbeae00ffc5a800ffcca300ffd29f00ffd89b00ffdd9800ffe39400ffe89000ffec8d00fff08b00fff48800fff68600fff98500fffc82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_StreamData:

m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1326083686

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1326083684}
m_LocalRotation: {x: -0.00941555, y: -0.98557925, z: 0.15848172, w: -0.0585542}
m_LocalRotation: {x: 0.06510497, y: 0.89899063, z: -0.1431909, w: 0.4087463}
m_LocalEulerAnglesHint: {x: 18.27, y: -186.8, z: 0}
m_LocalEulerAnglesHint: {x: -341.9, y: -228.9, z: 0}
--- !u!84 &1360944041
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WaterDepthMap
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
m_Width: 1024
m_Height: 1024
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 2
m_ColorFormat: 142
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
--- !u!1001 &1617765646
PrefabInstance:
m_ObjectHideFlags: 0

value: Cliff_Full_01 (2)
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalScale.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalPosition.x
value: -30.1
objectReference: {fileID: 0}

value: 77.9
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.w
value: 0.6414378
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.x
value: -0.503748
objectReference: {fileID: 0}

value: -0.0011420996
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.w
value: 0.6414378
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -40.16
objectReference: {fileID: 0}

propertyPath: m_LocalEulerAnglesHint.z
value: -49.88
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalScale.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
--- !u!4 &1617765647 stripped

- target: {fileID: 1008232119289452, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_Name
value: Cliff_Full_01 (1)
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_RootOrder
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalPosition.x

value: 0.04
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.w
value: 0.029144656
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.x
value: 0.5071943
objectReference: {fileID: 0}

value: -0.024263075
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.w
value: 0.029144656
propertyPath: m_LocalEulerAnglesHint.x
value: -0.7
propertyPath: m_RootOrder
value: 5
propertyPath: m_LocalEulerAnglesHint.y
value: -175.71
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -0.7
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -175.71
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 780fd72a347584392bf8fd00139cf652, type: 3}

m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2

value: 10
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalPosition.x
value: -26.7
objectReference: {fileID: 0}

value: 71.3
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}

propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173175211220914, guid: 780fd72a347584392bf8fd00139cf652, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2208899242920299761, guid: 780fd72a347584392bf8fd00139cf652,
type: 3}
propertyPath: m_Layer

value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_LocalPosition.x
value: 0
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_LocalScale.x
value: 1
propertyPath: m_LocalPosition.y
value: 0
propertyPath: m_LocalScale.y
value: 1
propertyPath: m_LocalPosition.z
value: 0
propertyPath: m_LocalScale.z
value: 1
propertyPath: m_LocalRotation.x
propertyPath: m_LocalPosition.x
propertyPath: m_LocalRotation.y
propertyPath: m_LocalPosition.y
propertyPath: m_LocalRotation.z
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}

- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_RootOrder
value: 2
propertyPath: m_LocalRotation.x
value: 0
propertyPath: m_LocalScale.x
value: 1
propertyPath: m_LocalRotation.y
value: 0
propertyPath: m_LocalScale.z
value: 1
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_LocalEulerAnglesHint.x

- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: 0694fda6617df4cd6a3d240f5eeb580b, type: 3}
propertyPath: m_Materials.Array.data[0]

7
Packages/com.verasl.water-system/Shaders/InfiniteWater.shader


void InfiniteWaterFragment(Varyings i, out half4 outColor:SV_Target, out float outDepth : SV_Depth) //: SV_Target
{
half3 screenUV = i.screenPosition.xyz / i.screenPosition.w; // screen UVs
half2 screenUV = i.screenPosition.xy / i.screenPosition.w; // screen UVs
half4 waterFX = SAMPLE_TEXTURE2D(_WaterFXMap, sampler_ScreenTextures_linear_clamp, screenUV.xy);

float3 depth = WaterDepth(plane.positionWS, additionalData, screenUV.xy);
// Detail waves
DetailNormals(normal, DetailUVs(plane.positionWS * (1 / _Size), 1.0), waterFX, depth);
DetailNormals(normal, DetailUVs(plane.positionWS * (1 / _Size), 1.0), waterFX, depth.x);
// Lighting
Light mainLight = GetMainLight(TransformWorldToShadowCoord(plane.positionWS));

half fresnelTerm = CalculateFresnelTerm(normal, viewDirectionWS);
BRDFData brdfData;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.95, 1, brdfData);
half alpha = 1.0f;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.95, alpha, brdfData);
half3 spec = DirectBDRF(brdfData, normal, mainLight.direction, viewDirectionWS) * shadow * mainLight.color;
float tempdepth = 2;

15
Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl


return output;
}
void DetailNormals(inout float3 normalWS, float4 uvs, float4 waterFX, float depth)
void DetailNormals(inout float3 normalWS, float4 uvs, half4 waterFX, float depth)
{
half2 detailBump1 = SAMPLE_TEXTURE2D(_SurfaceMap, sampler_SurfaceMap, uvs.zw).xy * 2 - 1;
half2 detailBump2 = SAMPLE_TEXTURE2D(_SurfaceMap, sampler_SurfaceMap, uvs.xy).xy * 2 - 1;

inputData.positionWS = input.positionWS;
inputData.normalWS = input.normalWS;
inputData.viewDirectionWS = input.viewDirectionWS;
inputData.viewDirectionWS = input.viewDirectionWS.xyz;
inputData.reflectionUV = 0;
inputData.detailUV = input.uv;

//half3 sss = directLighting * shadow + GI;
BRDFData brdfData;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.95, 1, brdfData);
half alpha = 1;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.95, alpha, brdfData);
half3 spec = DirectBDRF(brdfData, input.normalWS, mainLight.direction, input.viewDirectionWS);// * shadow * mainLight.color;
// Fresnel

half fresnelTerm = CalculateFresnelTerm(IN.normalWS, IN.viewDirectionWS.xyz);
BRDFData brdfData;
half alpha = 1;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.95, alpha, brdfData);
half3 spec = DirectBDRF(brdfData, IN.normal, mainLight.direction, IN.viewDir) * shadow * mainLight.color;
half a = 1;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.95, a, brdfData);
half3 spec = DirectBDRF(brdfData, IN.normalWS, mainLight.direction, IN.viewDirectionWS.xyz) * shadow * mainLight.color;
#ifdef _ADDITIONAL_LIGHTS
uint pixelLightCount = GetAdditionalLightsCount();
for (uint lightIndex = 0u; lightIndex < pixelLightCount; ++lightIndex)

#endif
}
#endif // WATER_COMMON_INCLUDED
#endif // WATER_COMMON_INCLUDED
正在加载...
取消
保存