private void SetCameraAndSkybox(int index) { RT_MainShader.SetMatrix("_CameraToWorld", MainCamera.cameraToWorldMatrix); RT_MainShader.SetMatrix("_CameraInverseProjection", MainCamera.projectionMatrix.inverse); RT_MainShader.SetTexture(index, "_SkyboxTexture", SkyboxTexture); RT_MainShader.SetInt("_MaxGeneration", MaxRayGeneration); if (sampleOffset.Count == SamplesPerPixel) { return; } sampleOffset.Clear(); for (int i = 0; i < SamplesPerPixel; i++) { sampleOffset.Add(Random.value); } loadBuffer(sampleOffset, ref SampleBuffer, sizeof(float)); SetGlobalBuffer("_SamplesPerPixel", SampleBuffer); int castShadow; if (enableShadow == true) { castShadow = 1; } else { castShadow = 0; } RT_MainShader.SetInt("_CastShadow", castShadow); }