提升质量
我们目前实现的多重采样还有很大的提升空间。比如,由着色器造成的走样我们还没有处理。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
...
}
在本例,我们关闭了采样着色。但在某些情况下,开启它后渲染质量的改善会很明显: