首页 > 其他分享 >Android OpenGl ES 3.0 学习笔记

Android OpenGl ES 3.0 学习笔记

时间:2023-12-09 17:47:08浏览次数:36  
标签:MyGLRenderContext NativeTriangle Java OpenGl VERTEX SHADER 3.0 Android GL

title OpenGL ES 3.0 DrawTriangle

Java->JNI:(1)Java_com_oyp_openglesdemo_render_MyNativeRenderer_nativeSetRenderType(100, 100)
Java->MyGLRenderContext:GetInstance()
Java->MyGLRenderContext:SetRenderType(100)
note right of NativeTriangle: GLBaseSample
MyGLRenderContext->NativeTriangle:New NativeTriangle()

Java->JNI:(2)Java_com_oyp_openglesdemo_render_MyNativeRenderer_nativeSurfaceCreate(assetManager)
Java->MyGLRenderContext:OnSurfaceCreated(assetManager)
MyGLRenderContext->GLUtils:setEnvAndAssetManager(assetManager)
MyGLRenderContext->NativeTriangle:Create NativeTriangle(m_pCurSample)
NativeTriangle->GLUtils:openTextFile(VERTEX_SHADER)
NativeTriangle->GLUtils:openTextFile(FRAGMENT_SHADER)
NativeTriangle->GLUtils:createProgram(&VERTEX_SHADER, &FRAGMENT_SHADER)
note right of NativeTriangle
loadShader(GL_VERTEX_SHADER)
loadShader(GL_FRAGMENT_SHADER)
glCreateProgram(program)
glAttachShader(program, vertexShader)
glAttachShader(program, fragmentShader)
glLinkProgram(program)
glDeleteShader(vertexShader)
glDeleteShader(fragmentShader)
end note
NativeTriangle->NativeTriangle:glClearColor(R1.0f, G1.0f, B1.0f, Alpha0.0f)

Java->JNI:(3)Java_com_oyp_openglesdemo_render_MyNativeRenderer_nativeSurfaceChange(width, height)
Java->MyGLRenderContext:OnSurfaceChanged(width, height)
MyGLRenderContext->GLBaseSample:Change(width, height)
GLBaseSample->GLBaseSample:glViewport(0, 0, width, height)

Java->JNI:(4)Java_com_oyp_openglesdemo_render_MyNativeRenderer_nativeDrawFrame()
Java->MyGLRenderContext:OnDrawFrame()
MyGLRenderContext->NativeTriangle:Draw()
NativeTriangle->NativeTriangle: glClear(GL_COLOR_BUFFER_BIT)
NativeTriangle->NativeTriangle: glUseProgram(m_ProgramObj);
NativeTriangle->NativeTriangle: glVertexAttribPointer(VERTEX_POS_INDX, 3, GL_FLOAT, GL_FALSE, 0, vVertices)
NativeTriangle->NativeTriangle: glEnableVertexAttribArray(VERTEX_POS_INDX)
NativeTriangle->NativeTriangle: glDrawArrays(GL_TRIANGLES, 0, 3)
NativeTriangle->NativeTriangle: glDisableVertexAttribArray(0)

 

 

标签:MyGLRenderContext,NativeTriangle,Java,OpenGl,VERTEX,SHADER,3.0,Android,GL
From: https://www.cnblogs.com/awiki/p/17891234.html

相关文章

  • centos7.9 编译安装cmake 3.23.0
     参考地址:https://www.zhudo.net/server/linux/125.html1、先检查并卸载老版本yumremovecmake2、准备安装好cmake所需的依赖yum-yinstallgccgcc-c++opensslopenssl-develtar3、下载源码官方地址:https://github.com/Kitware/CMake/releases/download/v3.23.0/......
  • centos 安装nacos2.3.0 并设置开机自启动1
    1.预备环境准备请确保是在环境中安装使用:64bitJDK1.8+;下。Maven3.2.x+;3个或3个以上Nacos节点才能构成集群。2安装nacoswgethttps://github.com/alibaba/nacos/releases/download/2.3.0/nacos-server-2.3.0.zipunzipnacos-server-2.3.0.zip**3配置外置数据源*......
  • Android Studio安装图文详细版
    前言全局说明一、下载AndroidStudio下载文件归档:https://developer.android.google.cn/studio/archive.html下载:android-studio-2022.3.1.20-windows.exe备用下载:android-studio-2022.3.1.20-windows.exe下载好文件:二、安装下图,路径不要有空格和中文名路径(D:\Androi......
  • 开源库推荐】#5 Android高亮引导库
    原文:【开源库推荐】#5Android高亮引导库-Stars-One的杂货小窝本文介绍2个高亮引导库HighLightPro和Curtainhyy920109/HighLightPro:Ahighlightlibandalsoitcanbeasimplepopupwindowlibforandroidsoulqw/Curtain:一个Android高亮View蒙层库HighLi......
  • Android 图表开源库调研及使用示例
    原文地址:Android图表开源库调研及使用示例-Stars-One的杂货小窝之前做的几个项目都是需要实现图表统计展示,于是做之前调研了下,做下记录概述AAChartCore-Kotlin基于webview,本质上还是使用jsPhilJay/MPAndroidChart,老牌使用原生canvas绘制的图标,但似乎因为收费而不......
  • Android阅读器之文本、图片和表格测量
    文章摘要本文将介绍如何在Android开发中实现文本、图片和表格的测量。我们将使用AndroidStudio和Java语言,并利用AndroidSDK中的相关类库。正文文本测量在Android中,可以使用Paint类和getTextBounds()方法来测量文本。首先,需要创建一个Paint对象,然后设置字体、颜色等属性。接下来,调......
  • Android阅读器之文本、图片和表格测量
    文章摘要本文将介绍如何在Android开发中实现文本、图片和表格的测量。我们将使用AndroidStudio和Java语言,并利用AndroidSDK中的相关类库。正文文本测量在Android中,可以使用Paint类和getTextBounds()方法来测量文本。首先,需要创建一个Paint对象,然后设置字体、颜色等......
  • Android Dagger2简单使用
    Dagger是一个很古老的框架了,当初诞生时候,主要是为了模块之间的解耦。本篇文章主要介绍一下如何使用dagger2,后续会介绍其原理。AS集成对于现在的AS项目,一般都是会集成Kotlin和Java混写,所以可以在想要使用dagger的模块module的gradle下加入如下配置。implementation'com.google.dagg......
  • android adb查看分区 adb查看手机分区大小
    androidadb查看分区adb查看手机分区大小_棉花糖的技术博客_51CTO博客https://blog.51cto.com/u_12218/8714703 System分区:就是我们刷ROM的分区Data分区:分区就是我们装APK的分区Cache分区:是缓存分区SDCard分区:就是挂载的SD卡概念:概念描述根目录......
  • mumu模拟器frida-server-14.2.18-android执行报错{"type":"error","description":&
    前言全局说明环境:物理机Windos11mumu模拟器下载:MuMuInstaller_3.1.5.0_nochannel-mumu12_zh-Hans_1687258372mumu模拟器:MuMuNG-setup-V3.6.4.2333-1110175123.exemumu模拟器官网:https://mumu.163.commumu模拟器官网-历史版本:https://mumu.163.com/update/一、问题c......