這是問題所在,我正在使用OpenGL ES在iPhone上開發一個小項目。我從Brad Larson的ColorTracking App(非常感謝Brad提供它)開始,並根據我的需要進行調整。 ,爲什麼AVCaptureSession的灰度OpenGL ES紋理被替換了?
一切工作正常,但是當我使用kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange
爲kCVPixelBufferPixelFormatTypeKey
我AVCaptureVideoDataOutput
,因爲我會努力灰度圖像,不需要任何顏色反正,屏幕上的圖像產生沿着翻譯其中熄滅屏幕y軸,以及部分在頂部呈現:
這裏是AA截圖:
當然你需要更改glTexImage2D
調用的數據類型從GL_RGBA
到GL_LUMINANCE
爲此工作。
使用kCVPixelFormatType_32BGRA
捕獲會話中的GL_RGBA
紋理不會發生此行爲。
有誰知道爲什麼會發生這種情況,以及如何解決這個問題? 任何幫助,非常感謝。
@Brad感謝您的編輯。但我有一個簡單的問題。給了它一些想法後,我發現了問題和解決方案。我應該回答我自己的問題還是在評論部分提供答案? – iska
如果這是一個真正的答案,清楚地解釋了你是如何解決問題的,那麼對於你自己的問題留下一個答案是完全可以接受的(甚至鼓勵)。這樣,其他人就知道問題已經解決,將來可能遇到這個問題的人將能夠從您的解決方案中學習。 –
當它讓我時,即5小時內會做;) – iska