簡體   English   中英

OpenGL ES 3.0為Android中的glReadPixels帶來性能提升

[英]Performance boost for glReadPixels in Android by OpenGL ES 3.0

我找到了一些方法來加速OpenGL ES 3.0的glReadPixels,但我不確定它是否有效。

  1. glReadPixels()的第五個參數指定為GL_BGRA,以避免不必要的混亂。
  2. 使用PBO作為提及。

為了驗證,我更新到最新的Android SDK和ADT,並嘗試使用OpenGL ES 3.0。 但是,我找不到我預期的GL_BGRA定義,我不知道如何使用glMapBuffer() 我錯過了什么嗎?

總結一下,

  • 有沒有比使用glReadPixels()更快的方式來訪問framebuffer?
  • 如何在Android上使用OpenGL ES 3.0的GL_BGRA和PBO?

如果有人知道,請指出我。 一些代碼片段會更好。 提前致謝。

  1. 並不是的。 我不知道你是否會通過使用BGRA格式獲得性能提升,但值得一試。 在ES 2.0中,GL_BGRA只能通過擴展名EXT_read_format_bgra使用 ,因此您需要使用枚舉GL_BGRA_EXT,顯然它在OpenGL ES 3.0中也是如此。

  2. 是的,glMapBufferRange是繼續使用OpenGL ES 3.0的方法。 根據您的評論,看起來您的通話是正確的。 根據規范手冊頁 ,glMapBufferRange不應該生成GL_INVALID_ENUM錯誤,所以我認為其他錯誤在這里。 確保先前的調用不會生成錯誤。

暫無
暫無

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

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