Added blur_passes config

This commit is contained in:
vaxerski 2022-04-09 17:06:09 +02:00
parent 25299b80bb
commit 91a6c53197
3 changed files with 9 additions and 2 deletions

View file

@ -25,6 +25,7 @@ CConfigManager::CConfigManager() {
configValues["decoration:rounding"].intValue = 1;
configValues["decoration:blur"].intValue = 1;
configValues["decoration:blur_size"].intValue = 8;
configValues["decoration:blur_passes"].intValue = 1;
configValues["dwindle:pseudotile"].intValue = 0;

View file

@ -324,6 +324,7 @@ void CHyprOpenGLImpl::renderTextureWithBlur(const CTexture& tex, float matrix[9]
wlr_matrix_transpose(glMatrix, glMatrix);
const auto RADIUS = g_pConfigManager->getInt("decoration:blur_size") + 2;
const auto BLURPASSES = g_pConfigManager->getInt("decoration:blur_passes");
const auto PFRAMEBUFFER = &m_mMonitorFramebuffers[m_RenderData.pMonitor];
auto drawWithShader = [&](CShader* pShader) {
@ -352,8 +353,10 @@ void CHyprOpenGLImpl::renderTextureWithBlur(const CTexture& tex, float matrix[9]
glDisableVertexAttribArray(pShader->texAttrib);
};
drawWithShader(&m_shBLUR1); // horizontal pass
drawWithShader(&m_shBLUR2); // vertical pass
for (int i = 0; i < BLURPASSES; ++i) {
drawWithShader(&m_shBLUR1); // horizontal pass
drawWithShader(&m_shBLUR2); // vertical pass
}
glBindTexture(tex.m_iTarget, 0);