国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android OpenGL 渲染相機預(yù)覽畫面顯示體系

這篇具有很好參考價值的文章主要介紹了Android OpenGL 渲染相機預(yù)覽畫面顯示體系。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

OpenGL能進行高效得渲染圖形圖像,并支持各種復(fù)雜的特效和動畫。

而在 Android 當(dāng)中,運用的是OpenGL ES,它是OpenGL的一個輕量級版本,專門用于在移動設(shè)備、游戲控制臺、嵌入式系統(tǒng)等嵌入式環(huán)境中使用。

它可以做相機濾鏡或者圖片濾鏡的效果,以相機濾鏡為例:

Android OpenGL 渲染相機預(yù)覽畫面顯示體系

首先 Camera 把攝像頭收集到的數(shù)據(jù)傳給 SurfaceTexture,SurfaceTexture 將數(shù)據(jù)轉(zhuǎn)換為OpenGL? ES可用的紋理,并將其更新到綁定的紋理對象中,OpenGL 根據(jù)紋理ID獲取到紋理對象后,渲染成幀數(shù)據(jù),再通過 EGL 顯示在 Surface 上。


紋理:是一種可以被 OpenGL 識別和使用的渲染數(shù)據(jù)源

紋理對象:是一個用于存儲和處理紋理數(shù)據(jù)的對象

紋理ID:用于標(biāo)識和操作這個紋理對象的唯一編號,類似于身份證號碼

SurfaceTexture:將數(shù)據(jù)轉(zhuǎn)換為OpenGL ES可用的紋理,并將其更新到綁定的紋理對象中,以供OpenGL ES進行渲染和顯示

EGL:它是OpenGL ES與底層窗口系統(tǒng)(如Android、Linux等)之間的中間層,用于管理與窗口系統(tǒng)的交互以及OpenGL ES渲染表面的創(chuàng)建、綁定和顯示等操作。


關(guān)于?GLSurfaceView:?

GLSurfaceView是Android SDK提供的一個用于顯示OpenGL ES圖形渲染結(jié)果的視圖,其主要特點是可以在獨立的線程上進行OpenGL渲染,以避免卡頓和界面卡死的問題。最主要是提供EGLOpenGL ES環(huán)境的創(chuàng)建和管理,這些環(huán)境是OpenGL渲染的基礎(chǔ)。

詳細的邏輯可以參考:https://github.com/xufuji456/FFmpegAndroid中的相機濾鏡部分文章來源地址http://www.zghlxwxcb.cn/news/detail-423097.html

到了這里,關(guān)于Android OpenGL 渲染相機預(yù)覽畫面顯示體系的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 利用Pygame實時顯示Carla中RGB相機的畫面

    ??關(guān)于顯示Carla中RGB相機的畫面,我找到的幾乎都是使用cv來顯示的畫面的,但是經(jīng)過我自己嘗試發(fā)現(xiàn),利用cv來顯示的畫面幀數(shù)非常低,畫面及其不流暢。如果你嘗試過Carla自帶的demo就會發(fā)現(xiàn)demo中用pygame制作窗口顯示的畫面就十分流暢,所以我就試著模仿demo利用pygame來顯

    2024年02月16日
    瀏覽(38)
  • Android OpenGL EGL使用——自定義相機

    Android OpenGL EGL使用——自定義相機

    如果要使用OpenGl來自定義相機,EGL還是需要了解下的。 可能大多數(shù)開發(fā)者使用過OpengGL但是不知道EGL是什么?EGL的作用是什么?這其實一點都不奇怪,因為Android中的GlSurfaceView已經(jīng)將EGL環(huán)境都給配置好了,你一直在使用,只是不知道他的存在罷了。 很多人可能在使用OpenGl ES渲

    2024年01月22日
    瀏覽(18)
  • Android 畫面顯示流程二

    Android 畫面顯示流程二

    BufferQueue BufferQueue要解決的是生產(chǎn)者的同步問題,應(yīng)用程序生產(chǎn)畫面,SurfaceFlinger消費畫面,SurfaceFlinger生產(chǎn)畫面而HWCService消費畫面。用來存儲這些畫面的存儲區(qū)我們稱其為幀緩沖區(qū)buffer,下面我們以應(yīng)用程序作為生產(chǎn)者,SurfaceFlinger作為消費者為例來了解一下BufferQueue的內(nèi)部設(shè)

    2024年02月13日
    瀏覽(20)
  • Android 畫面顯示流程三

    畫面更新流程 從底層的顯示硬件,SOC和DDIC的接口,linux和Userspace的圖形接口以及APP與SurfaceFlinger,HWC service三者關(guān)系,了解了幀數(shù)據(jù)流動所經(jīng)過的關(guān)鍵節(jié)點,并重點討論了幀buffer是如何管理的,以及在流動過程中是如何做到同步的。接下來我們將從應(yīng)用側(cè)角度從山到下看一下應(yīng)

    2024年02月13日
    瀏覽(20)
  • Android 實現(xiàn)相機(CameraX)預(yù)覽

    Android 實現(xiàn)相機(CameraX)預(yù)覽

    CameraX 是一個 Jetpack 庫,旨在幫助您更輕松地開發(fā)相機應(yīng)用。 對于新應(yīng)用,我們建議從 CameraX 開始。它提供一致且易于使用的 API,適用于絕大多數(shù) Android 設(shè)備,并向后兼容 Android 5.0(API 級別 21)。 CameraX 支持大多數(shù)常見的相機用例: 預(yù)覽 :在屏幕上查看圖片。 圖片分析 :

    2024年02月15日
    瀏覽(25)
  • Android OpenGL ES 學(xué)習(xí)(十三) -離屏渲染FBO(截圖)RBO, OES轉(zhuǎn) FBO

    Android OpenGL ES 學(xué)習(xí)(十三) -離屏渲染FBO(截圖)RBO, OES轉(zhuǎn) FBO

    Android OpenGL ES 學(xué)習(xí)(一) – 基本概念 Android OpenGL ES 學(xué)習(xí)(二) – 圖形渲染管線和GLSL Android OpenGL ES 學(xué)習(xí)(三) – 繪制平面圖形 Android OpenGL ES 學(xué)習(xí)(四) – 正交投屏 Android OpenGL ES 學(xué)習(xí)(五) – 漸變色 Android OpenGL ES 學(xué)習(xí)(六) – 使用 VBO、VAO 和 EBO/IBO 優(yōu)化程序 Android OpenGL ES 學(xué)習(xí)(七) –

    2024年02月12日
    瀏覽(20)
  • Android OpenGLES + Camera1 相機預(yù)覽

    Android OpenGLES + Camera1 相機預(yù)覽

    if (isCreate) { return; } onCreatePre(); onClearColor(); onInitBlend(); onInitVertexBuffer(); onInitCoordinateBuffer(); onInitVbo(); onInitProgram(); onCreateAfter(); isCreate = true; } @Override public void onChange(int width, int height) { if (isChange) { return; } onChangePre(); setWidth(width); setHeight(height); onViewport(); onInitFbo(); onChangeAfter(

    2024年04月12日
    瀏覽(26)
  • 一行代碼解決Android相機預(yù)覽鏡像的問題

    開發(fā)Camare相關(guān)應(yīng)用的時候, 預(yù)覽圖像是發(fā)現(xiàn),使用前置攝像頭的時候,預(yù)覽出來的圖像是左右相反, 并沒有像照鏡子一樣的鏡像效果. 為了解決這一問題,可是一番煞費苦心啊! 最終黃天不負有心人, 找到了解決方案. 廢話不多說,直接上代碼: 重點重點重點!!! parameters.set(“preview-fli

    2024年02月13日
    瀏覽(15)
  • Android OpenGLES + Camera1 相機預(yù)覽(2)

    Android OpenGLES + Camera1 相機預(yù)覽(2)

    private void checkRenderThreadState() { if (mGLThread != null) { throw new IllegalStateException( “setRenderer has already been called for this instance.”); } } 也就是說,設(shè)置了 Renderer 后,就不能更換了,那么如果有需求:本來是渲染一個灰度濾鏡的,當(dāng)想變換其他濾鏡的時候,又不能重新設(shè)置 Renderer ,此

    2024年04月25日
    瀏覽(27)
  • Android 使用Camera1實現(xiàn)相機預(yù)覽、拍照、錄像

    Android 使用Camera1實現(xiàn)相機預(yù)覽、拍照、錄像

    本文介紹如何從零開始,在 Android 中實現(xiàn) Camera1 的接入,并在文末提供 Camera1Manager 工具類,可以用于快速接入 Camera1 。 Android Camera1 API 雖然已經(jīng)被 Google 廢棄,但有些場景下不得不使用。 并且 Camera1 返回的幀數(shù)據(jù)是 NV21 ,不像 Camera2 、 CameraX 那樣,需要自己再轉(zhuǎn)一層,才能得

    2024年02月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包