[MathJax]/localization/zh-hans/MathMenu.js加载中

Android OpenGl ES 3.0 学习笔记

title OpenGL ES 3.0 DrawTriangle

Java->JNI:(1)Java_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_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_render_MyNativeRenderer_nativeSurfaceChange(width, height)
Java->MyGLRenderContext:OnSurfaceChanged(width, height)
MyGLRenderContext->NativeTriangle:Change(width, height)
NativeTriangle->NativeTriangle:glViewport(0, 0, width, height)

Java->JNI:(4)Java_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)

 

 

posted @   AndyHu518  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示