Aşağıdaki kod, örneğin bir MacBook üzerinde Intel tümleşik video kartlarındaki arka arabelleğe veri yazmaz. ATI kartlarında, iMac gibi, arka tampona çizer. Genişlik ve yükseklik doğru (ve 800x600 tampon) ve m_PixelBuffer 0xAA00AA00 ile doğru şekilde doldurulur.OpenGL glDrawPixels'in bazı ekran kartlarında çalışmasını nasıl engelleyebilir?
Şimdiye kadarki en iyi tahminim glWindowPos setine ihtiyaç duyan bir şey olduğu. Şu anda (veya raster pozisyonu) ayarlamıyorum ve GL_CURRENT_RASTER_POSITION aldığımda ATI kartındaki varsayılanın 0,0,0,0 ve Intel'in 0,0,0,1 olduğunu fark ettim. ATI kartındaki raster pozunu 0,0,0,1 olarak ayarladığımda, Intel kartla aynı sonucu elde edersem, hiçbir şey arka tampona çizilmez. Kaybettiğim bazı dönüşüm durumu var mı? Bu bir 2D uygulamasıdır, bu yüzden görünüm dönüşümü çok basit bir glOrtho'dur.
glDrawPixels(GetBufferWidth(), GetBufferHeight(), GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, m_PixelBuffer);
Sağladığım daha fazla bilgi için lütfen sorunuz. Oldukça fazla bir OpenGL ve Mac newb var, bu yüzden yeterli bilgi verip vermediğimi bilmiyorum.