Android OpenGL ES之新增動作

2021-09-08 16:53:05 字數 813 閱讀 3109

本文譯自:

在螢幕上繪製物件是opengl的最基本功能,你可以使用其他的android圖形框架類,如

canvas

和drawable

物件來完成這些功能。opengles提供了一些用於在三維空間中移動和變換被繪製的物件的能力,以及其他的建立良好使用者體驗的獨特方式。

在本文中,你需要使用前面幾篇博文中介紹的示例,給圖形新增旋轉動作。

旋轉圖形

使用opengl es 2.0來旋轉乙個繪製物件是相對簡單的。你要建立另外的變換矩陣(旋轉矩陣),然後把它跟投影和攝像機變換矩陣組合到一起:

private

float

mrotationmatrix

=new

float[16

];public

void ondrawframe(gl10 gl)

做了這些改變之後,如果你的三角形沒有旋轉,那麼就要確認你是否完成了

glsu***ceview.rendermode_when_dirty

設定。

啟用連續的渲染

如果你一直跟隨在學習本文的示例**,那麼要確保像下面**那樣,注釋掉對渲染模式的設定,否則opengl只會旋轉圖形一次,然後等待來自glsu***ceview容器的

requestrender()

方法的呼叫。

public

myglsu***ceview

(context

context)

除非物件的變化跟任何使用者互動無關,否則設定乙個開關標記是乙個好主意。

Android OpenGL ES 開發入門

本系列文章圍繞關於使用opengl es繪圖的android開發者文件為主線,結合opengl程式設計指南來講述android opengl es開發入門。如果你沒有opengl相關知識,在閱讀opengl es demo 時,可能對圖形的繪製過程不太理解,以至於看完之後,也不知道如何繪製圖形。出於...

Android OpenGLES濾鏡開發之大眼效果

前言 在很多美顏相機啊,抖音啊,都會有一些放大眼睛的效果,今天就來實現如何放大眼睛。思路1 首先使用opencv定位到人臉 2 根據定位到的人臉去檢測人臉關鍵點,進而獲取到人眼睛的位置。3 根據眼睛位置,對眼睛進行放大。實現定位人臉 人臉的定位追蹤,在之前文章中已經寫過opencv實現人臉追蹤 當時...

Android OpenGLES濾鏡開發之貼紙效果

前言 思路1 貼紙肯定也是需要定位到人臉的 2 找到貼紙需要放置的位置 3 將貼紙紋理和人本身紋理進行融合 實現人臉定位啥的,我就不說了,不清楚的可以去前面的文章看看,主要來看看貼紙是如何貼上去的 1.建立貼紙的紋理 opengl 紋理 mtextureid newint 1 openglutils...