void SetupChapters()
        {
            var size = Constants.DefaultImageSize * m_SelectedScaleOption;

            m_ChaptersOneAndTwo = new ChaptersOneAndTwo(size.x, size.y);
            m_ChapterThree      = new ChapterThree(size.x, size.y);
            m_ChapterFour       = new ChapterFour(size.x, size.y);
            m_ChapterFive       = new ChapterFive(size.x, size.y);
            m_ChapterFiveTwo    = new ChapterFiveTwo(size.x, size.y);
            m_ChapterSix        = new ChapterSix(size.x, size.y);
            m_ChapterSeven      = new ChapterSeven(size.x, size.y);

            // from chapter 8 on, the same implementation is re-used
            m_ChapterEight = new BatchedTracer(ExampleSphereSets.ChapterEight(),
                                               CameraFrame.Default, size.x, size.y);
            m_ChapterNine = new BatchedTracer(ExampleSphereSets.FiveWithDielectric(),
                                              CameraFrame.Default, size.x, size.y);
            m_ChapterTen = new BatchedTracer(ExampleSphereSets.FiveWithDielectric(),
                                             CameraFrame.ChapterTen, size.x, size.y);
            m_ChapterEleven = new BatchedTracer(ExampleSphereSets.FiveWithDielectric(),
                                                CameraFrame.ChapterEleven, size.x, size.y);

            // make sure we get a random seed for our random scene
            var tempRng = new Unity.Mathematics.Random();

            tempRng.InitState((uint)UnityEngine.Random.Range(1, 1000));
            m_ChapterTwelve = new BatchedTracer(ExampleSphereSets.RandomScene(500, tempRng.NextUInt()),
                                                CameraFrame.ChapterTwelve, size.x, size.y);
        }
        void ScaleChapters()
        {
            var size = Constants.DefaultImageSize * m_SelectedScaleOption;

            m_ChaptersOneAndTwo.Resize(size);
            m_ChapterThree.Resize(size);
            m_ChapterFour.Resize(size);
            m_ChapterFive.Resize(size);
            m_ChapterFiveTwo.Resize(size);
            m_ChapterSix.Resize(size);
            m_ChapterSeven.Resize(size);
            m_ChapterEight.Resize(size);
            m_ChapterNine.Resize(size);
            m_ChapterTen.Resize(size);
            m_ChapterEleven.Resize(size);

            m_ChapterTwelve.Dispose();
            var tempRng = new Unity.Mathematics.Random();

            tempRng.InitState((uint)UnityEngine.Random.Range(1, 1000));
            m_ChapterTwelve = new BatchedTracer(ExampleSphereSets.RandomScene(500, tempRng.NextUInt()),
                                                CameraFrame.ChapterTwelve, size.x, size.y);
        }