pbo

    0熱度

    1回答

    我在Java中使用LWJGL,它具有與C++ OpenGL相同的函數名稱。請注意,我不得不使用OpenGL的「舊」固定功能管線。 //the initialization method public void init(int width, int height) { //initializing the PBO pbo_id = glGenBuffers(); /

    1熱度

    1回答

    目前我正在嘗試使用PBO將視頻數據轉換爲紋理。我不確定我想要做什麼甚至是可能的,或者如果可能的話,這是一種很好的方法...我有3種GL_RED格式的紋理(每個通道一個,當前不使用Alpha) 。所有這三項都將通過一次致電外部圖書館填寫。 這裏的綁定緩存等: void LockTexture(const TextureID& id, void ** ppbData) { Texture&

    3熱度

    1回答

    我想提高使用PBO glReadPixels()性能glReadPixels()(對於GLES 3個裝置)和我遇到了一個問題在這一段代碼: final ByteBuffer pboByteBuffer = ByteBuffer.allocateDirect(4 * mWidth * mHeight); pboByteBuffer.order(ByteOrder.nativeOrder());

    2熱度

    1回答

    我是新來OpenGL和當前已複製2D紋理的內容回到CPU內存如下: std::vector<unsigned char> frame-data(width * height * 4); glBindTexture(GL_TEXTURE_2D, tid); glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, &frame_data

    0熱度

    1回答

    我正在開發與android的相機預覽應用程序。 我的應用程序流程如下所示。 1)JAVA:抓鬥的相機預覽緩衝器,並傳遞給JNI 2)CPP:使從相機預覽緩衝紋理的OpenGL ES 3.0 3)CPP:渲染紋理的OpenGL ES 3.0 因此,我的應用程序可以正常使用紋理更新/渲染解決方法。沒關係。 問題是性能。我必須用glTexSubImage2D(...)更新每一幀到GPU內存,並且它有點慢

    1熱度

    1回答

    在線使用各種教程/示例/文檔/論壇,我輸入了代碼以允許CUDA操作OpenGL紋理,以便將其輸出到屏幕。我的顯示方法是使用PBO和uchar4數組的分配紋理圖像。儘管我嘗試解決這個問題,但紋理不會出現在2D表面上。我似乎無法找出問題所在。 這些都是我檢查了東西/迄今所做:我創建了一個PBO與CUDA註冊它,叫cudaGraphicsResourceGetMappedPointer之前和GPU函數調

    1熱度

    1回答

    我想使用pbo來保存圖像,而不是使用cpu。所以我沒有在glreadpixels中使用bytebuff,並且使用了GLOBE30,GLES30.GL_UNSIGNED_BYTE,NULL); 但它不能工作... 這是我定的FBO和PBO代碼: GLES30.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); GLES30.glEnable(GLES30.GL_

    1熱度

    1回答

    我想獲取OpenGL中當前幀的屏幕截圖作進一步處理,並試圖通過使用PBO異步讀取幀緩衝區來提高glReadPixels的性能。 我的印象是GL_PIXEL_PACK_BUFFER綁定到緩衝區後glReadPixels應該立即返回,但它實際上需要比不使用PBO類似或甚至更多的時間。 這裏是我的代碼樣品: // Setup PBO GLES30.glGenBuffers(nPbo, pboIndex

    0熱度

    1回答

    我看到 格式指定返回的像素值的格式;可接受的值爲: GL_ALPHA GL_RGB GL_RGBA RGBA顏色分量從顏色緩衝區讀取。將每個顏色分量轉換爲浮點數,以使零強度映射到0.0,並將全強度映射到1.0。 然後丟棄不需要的數據。例如,GL_ALPHA丟棄紅色,綠色和藍色組件,而GL_RGB丟棄僅alpha組件。 GL_LUMINANCE計算單組分值作爲紅色,綠色和藍色組分的總和,而GL_LU

    1熱度

    1回答

    我試圖讀取framebuffer異步但glReadPixels()生成一個INVALID_OPERATION錯誤。 我讀過可能導致這個錯誤,但我沒有找到我的代碼中的任何問題: int PBOHandle = glGenBuffers(); // PBOHandle != 0 int Width = Display.getDisplayMode().getWidth(); // 800 int