簡體   English   中英

iPhone OpenGL-ES視頻紋理

[英]iPhone OpenGL-ES Video Texture

我覺得我在這里忽略了一些簡單的事情...

我有一個AR應用程序,可在檢測到標記時顯示3D對象。 該對象只是一個平坦的3d矩形-我可以將圖像紋理綁定到其中而不會出現問題。 但是,我需要將視頻文件(.m4v)綁定為對象紋理。 我已經使用AVAssetReader成功讀取文件,但是像這樣綁定紋理時,對象只是顯示為白色。

CMSampleBufferRef sampleBuffer = [mOutput copyNextSampleBuffer];
CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress( pixelBuffer, 0 );
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 320, 240, 0, GL_BGRA, GL_UNSIGNED_BYTE, CVPixelBufferGetBaseAddress(pixelBuffer));
CVPixelBufferUnlockBaseAddress( pixelBuffer, 0 );    
CFRelease(sampleBuffer);

我很感激你能給予的任何幫助。 謝謝!

默認的紋理參數需要完整的mipmap集。

嘗試將GL_NEARESTGL_LINEAR用於GL_TEXTURE_MIN_FILTER

您可能還需要兩個冪的紋理尺寸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM