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

.

Contact and exchange