LearnOpenGL Notes

Introduction of OpenGL

  • First of all, OpenGL is not actually an API, but merely a specification
    developed and maintained by Khronos Group. The OpenGL specification just specifies what the output and perform.
  • The implementations of actual OpenGL libraries are developed by graphics card manufacturers.
  • OpenGL is by itself a large state machine, change the state, you can get what you want to draw.
  • An object in OpenGL is a collection of options that represents a subset of OpenGL’s state.
  • OpenGL suggests using the Primitive Typesdefined by OpenGL instead of using primitive types defined by C standard grammer. This will ensure the applications work properly on multi-platforms.



  • 首先,OpenGL并不是一个真正意义上的API,它是由 Khronos Group开发维护的一套技术规范。规范规定了OpenGL的输出是什么样和其如何表现等
  • 真正的API库是由各大显卡厂商开发实现的。
  • OpenGL本身实际上是一个巨大的状态机,通过改变不同的状态,可以让OpenGL去画出你想要的图形
  • OpenGL中的一个对象可以理解为OpenGL中某些状态的集合
  • OpenGL建议在使用时,尽量使用OpenGL中定义好的基础数据格式,而不是使用C标准语法中的数据格式,因为这样更有利于跨平台开发。