2017-06-14 73 views
-1

爲什麼「glRenderbufferStorageMultisample」給我一個無效的操作錯誤(1282)?爲什麼「glRenderbufferStorageMultisample」爲以下代碼提供錯誤?

我試圖渲染場景到一個多重採樣FBO顏色/深度緩衝區只(這裏沒有紋理)&然後解決多重採樣FBO到一個簡單的FBO有顏色/深度紋理,但OpenGL的只是不會讓我...

glEnable(GL_MULTISAMPLE); 

    glGenFramebuffers(1, &m_Id); 
    glBindFramebuffer(GL_FRAMEBUFFER, m_Id); 

    glGenRenderbuffers(1, &m_ColorId); 
    glBindRenderbuffer(GL_RENDERBUFFER, m_ColorId); 
    glRenderbufferStorageMultisample(GL_RENDERBUFFER, numOfSamples, GL_RGBA8, width, height); 
    glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_ColorId); 

    glDrawBuffer(GL_COLOR_ATTACHMENT0); 
    glBindFramebuffer(GL_FRAMEBUFFER, 0); 

,讓我錯誤的行是 「glRenderbufferStorageMultisample」,有趣的是,雖然 「glRenderbufferStorage」 不...

+1

可以是:https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glRenderbufferStorageMultisample.xhtml有用嗎?我讀了numOfSamples的值,寬度和高度是相關的。你使用了什麼值? –

+0

嘿,numOfSamples是32,寬度是720,高度是480,不知道爲什麼它不讓我這樣做,我想我正在做的一切由書... ogl版本3.3以及 – HelloWorldCpp

+2

32似乎是一個大號碼給我。關於「樣本指定要用於渲染緩衝區對象圖像的樣本數量,且必須小於或等於GL_MAX_SAMPLES的值」,那麼您的GL_MAX_SAMPLE值是多少?以及你的顯卡能夠做什麼? –

回答