public override void Initialize() { base.Initialize(); // Reset the command list to prep for initialization commands. CommandList.Reset(DirectCmdListAlloc, null); _waves = new GpuWaves(Device, CommandList, 256, 256, 0.25f, 0.03f, 2.0f, 0.2f); _sobelFilter = new SobelFilter(Device, ClientWidth, ClientHeight, BackBufferFormat); _offscreenRT = new RenderTarget(Device, ClientWidth, ClientHeight, BackBufferFormat); LoadTextures(); BuildRootSignature(); BuildWavesRootSignature(); BuildPostProcessRootSignature(); BuildDescriptorHeaps(); BuildShadersAndInputLayout(); BuildLandGeometry(); BuildWavesGeometry(); BuildBoxGeometry(); BuildMaterials(); BuildRenderItems(); BuildFrameResources(); BuildPSOs(); // Execute the initialization commands. CommandList.Close(); CommandQueue.ExecuteCommandList(CommandList); // Wait until initialization is complete. FlushCommandQueue(); }