提升质量

我们目前实现的多重采样还有很大的提升空间。比如,由着色器造成的走样我们还没有处理。MSAA只对几何图元的边缘进行平滑处理,但不会对图元的内部进行处理。这就造成几何图元上的贴图仍会出现走样现象。可以通过开启采样着色来解决这一问题,但这样做会造成一定的性能损失:

void createLogicalDevice() {
        ...
    deviceFeatures.sampleRateShading = VK_TRUE;
    // enable sample shading feature for the device
        ...
}

void createGraphicsPipeline() {
        ...
    multisampling.sampleShadingEnable = VK_TRUE; // enable sample shading in the pipeline
    multisampling.minSampleShading = .2f;
    // min fraction for sample shading; closer to one is smoother
        ...
}

在本例,我们关闭了采样着色。但在某些情况下,开启它后渲染质量的改善会很明显:

image