Why write this tutorial
At present, the update of the OpenGL ES minimalist tutorial temporarily comes to an end, it is a tutorial, in fact, it is a boast of taste, it is very honored to be recommended by Ruan Yifeng teacher.
Because I frequently use OpenGL ES to do some special effects, filters and other effects in my work, plus the knowledge points I usually learn are also relatively fragmented, I want to systematically learn the development knowledge of OpenGL ES, and record the learning process.
In addition, this Android OpenGL ES minimalist tutorial is designed to prepare for audio and video development.
Prepare knowledge
Some students reported that it was a bit of a barrier to study. In fact, it is necessary to understand some Android development and C/C++ development knowledge.
In this official account: Byte flow, background reply 1024 can get the relevant video tutorial, there are two chapters about C/C++ foundation and NDK development knowledge.
Basic and application
The tutorial is divided into basic and Application parts. The basic part explains the core points of GLES 3.0, while the Application part uses the basic parts to implement common effects and functions.
Based on article
OpenGL ES 3.0 development (01) : Draw a triangle
OpenGL ES 3.0 development (02) : Texture mapping
OpenGL ES 3.0 (03) : YUV rendering
OpenGL ES 3.0 development (04) : VBO, EBO and VAO
OpenGL ES 3.0 Development (05) : FBO off-screen rendering
OpenGL ES 3.0 development (06) : EGL
OpenGL ES 3.0 Development (07) : Transform Feedback
OpenGL ES 3.0 development (08) : Coordinate system
OpenGL ES 3.0 development (09) : Lighting fundamentals
OpenGL ES 3.0 Development (10) : In-depth testing
OpenGL ES 3.0 Development (11) : Template testing
OpenGL ES 3.0 Development (12) : Hybrid
OpenGL ES 3.0 Development (13) : Instancing
OpenGL ES 3.0 development (14) : Particles
OpenGL ES 3.0 Development (15) : Cube mapping (Skybox)
OpenGL ES 3.0 Development (16) : Camera preview
OpenGL ES 3.0 development (17) : Basic camera filter
OpenGL ES 3.0 development (18) : Camera LUT filter
OpenGL ES 3.0 development (19) : Camera tiktok filter
OpenGL ES 3.0 development (20) : 3D models
OpenGL ES 3.0 development (21) : 3D model loading and rendering
OpenGL ES 3.0 Development (22) : PBO
OpenGL ES 3.0 development (23) : Multiple Rendering Targets (MRT)
OpenGL ES 3.0 Development (24) : Frame Buffer Bit Transfer (Blit)
Application of article
OpenGL ES implements dynamic (water ripple) ripple effect
OpenGL ES 3D Avatar effect
OpenGL ES implements scratch card and writing board functions
OpenGL ES realtime audio visualization
OpenGL ES implements big and small head and head shaking effect
OpenGL ES achieves the effect of thin face and big eyes
OpenGL ES draws bezier curves
OpenGL ES to achieve slimming long legs effect
OpenGL ES to achieve cardiac effects
OpenGL ES debugging tool
Next phase update notice
Some of the students who just came in said, “I’m here to learn audio and video development. What the hell are you doing updating OpenGL all the time?”
Therefore, this tutorial is over for now, but there will be some important points to update later, such as HardwareBuffer.
Learning audio and video development, FFmpeg is a must to master the open source tools, familiar with and master it, to learn the entire audio and video development knowledge of the context is very helpful.
Based on the above OpenGL development knowledge we master, using FFmpeg open source library powerful audio and video processing functions, we can easily achieve video playback and recording, next we will be based on FFmpeg development to gradually familiar with audio and video development knowledge context.
In the next stage, the update content of the official account “Byte Flow” is roughly as follows:
-
FFmpeg Development (01) : FFmpeg compilation and integration
-
FFmpeg development (02) : FFmpeg + ANativeWindow video decoding playback
-
FFmpeg development (03) : FFmpeg + OpenSLES audio decoding playback
-
FFmpeg development (04) : FFmpeg + OpenGLES audio visual playback
-
FFmpeg development (05) : FFmpeg + OpenGLES video decoding playback and video filter
-
FFmpeg development (06) : FFmpeg player to achieve audio and video synchronization in three ways
-
FFmpeg development (07) : FFmpeg + OpenGLES implementation of 3D panorama player
-
FFmpeg Development (08) : FFmpeg player video rendering optimization
-
FFmpeg Development (09) : FFmpeg + AudioRecorder audio encoding
-
FFmpeg development (10) : FFmpeg + Camera video coding
-
FFmpeg development (11) : FFmpeg audio and video encoding synthesis MP4 files
.