真正的理想主义者不只是为了遥远的美好抛头颅洒热血的雄志,不只是做一个真理和正义的殉道者,也不是那美丽却仅供把玩的花朵。真正的理想主义者拥有发现现实存在着不完美的洞见、接纳现实不够完美的妥协,同时也会有奋起改变现实的勇气和不撞南墙不罢休的一腔孤勇。

Read more »

Introduction

  • OpenGL(Open Graphics Library) is a polyglot and cross-platform programming GUI. It will abstract computer resources into OpenGL objects and then abstract operations on resources to OpenGL instructions.

  • OpenGL_ES(OpenGL for Embedded System) is a subset about 3D graphics APIs.

OpenGL Context

  • OpenGL Context is a very large state machine that holds various states of OpenGL, and it is the basis for the execution of OpenGL instructions.

  • Regardless of the programming language, the functions of OpenGL are procedure-oriented. They are executed to manipulate a state or object of OpenGL Context.

  • Because the OpenGL Context is a very large state machine, switching contexts tends to incur a large overhead. For different plotting modules, the needed context might be different. Thus, we can create multiple OpenGL Contexts for different threads sharing buffers and texture, etc. to make it more rational and efficient.

Frame Buffer

  • Attachment

Texture and Render Buffer

Vertex Array and Vertex Buffer

Element Array and Element Buffer

Shader

  • Vertex Shader

  • Fragment Shader

Per-Fragment Operation

  • Test

  • Blending

  • Dithering

Render to Texture

Swap Buffer

    作为一名文艺创作者,我渴望于能尽情地、奔放地甚至于癫狂地将满腹的想法挥洒在创作的媒介上,传唱于世间的大街小巷。

Read more »