@@ -209,8 +209,6 @@ public bool IsSkyValid(SkyParameters parameters)
209
209
210
210
private void RenderSky ( Camera camera , SkyParameters skyParameters , Mesh skyMesh , RenderLoop renderLoop )
211
211
{
212
- Shader . EnableKeyword ( "PERFORM_SKY_OCCLUSION_TEST" ) ;
213
-
214
212
m_RenderSkyPropertyBlock . SetTexture ( "_Cubemap" , skyParameters . skyHDRI ) ;
215
213
m_RenderSkyPropertyBlock . SetVector ( "_SkyParam" , new Vector4 ( skyParameters . exposure , skyParameters . multiplier , skyParameters . rotation , 0.0f ) ) ;
216
214
m_RenderSkyPropertyBlock . SetMatrix ( "_InvViewProjMatrix" , Utilities . GetViewProjectionMatrix ( camera ) . inverse ) ;
@@ -223,8 +221,6 @@ private void RenderSky(Camera camera, SkyParameters skyParameters, Mesh skyMesh,
223
221
224
222
private void RenderSkyToCubemap ( SkyParameters skyParameters , RenderTexture target , RenderLoop renderLoop )
225
223
{
226
- Shader . DisableKeyword ( "PERFORM_SKY_OCCLUSION_TEST" ) ;
227
-
228
224
for ( int i = 0 ; i < 6 ; ++ i )
229
225
{
230
226
Utilities . SetRenderTarget ( renderLoop , target , 0 , ( CubemapFace ) i ) ;
@@ -244,12 +240,16 @@ private void RenderCubemapGGXConvolution(Texture input, RenderTexture target, Re
244
240
return ;
245
241
}
246
242
247
- var cmd = new CommandBuffer { name = "" } ;
248
-
249
243
// Copy the first mip.
250
244
251
245
// TEMP code until CopyTexture is implemented for command buffer
252
- cmd . CopyTexture ( input , target ) ;
246
+ // All parameters are neutral because exposure/multiplier have already been applied in the first copy.
247
+ SkyParameters skyParams = new SkyParameters ( ) ;
248
+ skyParams . exposure = 0.0f ;
249
+ skyParams . multiplier = 1.0f ;
250
+ skyParams . rotation = 0.0f ;
251
+ skyParams . skyHDRI = input ;
252
+ RenderSkyToCubemap ( skyParams , target , renderLoop ) ;
253
253
// End temp
254
254
255
255
//for (int f = 0; f < 6; f++)
@@ -271,6 +271,7 @@ private void RenderCubemapGGXConvolution(Texture input, RenderTexture target, Re
271
271
{
272
272
Utilities . SetRenderTarget ( renderLoop , target , mip , ( CubemapFace ) face ) ;
273
273
274
+ var cmd = new CommandBuffer { name = "" } ;
274
275
cmd . DrawMesh ( m_CubemapFaceMesh [ face ] , Matrix4x4 . identity , m_GGXConvolveMaterial , 0 , 0 , propertyBlock ) ;
275
276
renderLoop . ExecuteCommandBuffer ( cmd ) ;
276
277
cmd . Dispose ( ) ;
0 commit comments