OpenGL: OpenGL+Qt实现介绍 (一)

一、通过这个教程我们能学到什么?
    1、计算机图形学的基础知识。
    2、使用OpenGL在QT中进行编程。
    3、使用OpenGL做出一些很酷的效果。


二、需要哪些预备知识?
    1、熟悉C++编程语言、Qt基本操作。
    2、数学基础知识(线性代数、几何、三角学)。


三、为什么要学习OpenGL?
    各种三维图形引擎,原理都类似,几乎没什么差别,学好了OpenGL对Unity3D、虚幻引擎、OSG、webGL等的使用都会有巨大的帮助。


四、OpenGL主要参考资料:
    1、中文版:https://learnopengl-cn.github.io/
    2、英文版:https://learnopengl.com/


五、OpenGL3.2以前是传统模式,立即渲染模式,固定管线;OpenGL3.2以后是现代模式,核心模式,可编程管线。


六、一些文档推荐使用OpenGL + GLFW + GLAD:
    1、GLFW解决操作系统层面的不同,创建窗口、定义上下文、处理用户输入。
    2、GLAD使得代码可以用不同的OpenGL驱动,OpenGL本身只是标准/规范,各个厂家具体实现方式可以不同,需要通过函数指针调用显卡的函数,但是显卡驱动具体函数的地址,运行时才知道。


七、OpenGL + Qt的优势:
    1、安装简单,无需配置第三方库(如GLFW、GLAD)。
    2、借助于Qt的封装,Qt提供支持OpenGL的类似GLFW、GLAD的功能。
    3、更接近实战。


八、如果没有类似GLAD的库,windows下会这样使用API:
   

    typedef void (*GL_GENBUFFERS) (GLsizei, GLuint *);
    GL_GENBUFFERS glGenBuffers = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers");  //获取显卡在当前上下文状态下的OpenGL函数的地址
    unsigned int buffer;
    glGenBuffers(1, &buffer);

你可能感兴趣的:(OpenGL+Qt,计算机视觉,图形渲染,前端)