opengl 学习资料
- https://learnopengl.com 非常有名的学习OpenGL的网站, 同时有人用Qt3D 实现了 learnopengl 里面de example,learnopenglqt3d([https://github.com/MidoriYakumo/learnopengl-qt3d])
- learnopengl 中文翻译版(https://learnopengl-cn.github.io)
掌握以下概念 :
OpenGL pipeline,vertex, attribute,shader, transform ,camera,texture
中文版本里面的例子个人感觉起码要总体看一遍,尤其是前三章、入门、光照和模型加载,下载下来代码,然后按照代码和解释跑一边,主动去修改一些参数去看看有哪些影响效果。做下练习,加深下自己的理解
opengl 与 opengl es
早先定义OpenGL ES是OpenGL的嵌入式设备版本,但由于嵌入式设备要求的是高性能,所以一些其它纯追求高性能的设备也开始用这种API方式,比如 SONY PlayStation 3。
OpenGL ES相对OpenGL删减了一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性(和苹果的作风类似)。
典型:
1.没有double型数据类型,但加入了高性能的定点小数数据类型。
2.没有glBegin/glEnd/glVertex,只能用glDrawArrays/glDraw…
3.没有实时将非压缩图片数据转成压缩贴图的功能,程序必须直接提供压缩好的贴图
opengl 与 opencv
OpenCV是 Open Source Computer Vision Library
OpenGL是 Open Graphics Library
OpenCV主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是CV的领域。
OpenGL则专注在Graphics,3D绘图。
其实两者的区别就是Computer Vision和Computer Graphics这两个学科之间的区别,前者专注于从采集到的视觉图像中获取信息,是用机器来理解图像;后者是用机器绘制合适的视觉图像给人看。
简洁的来说:
Opencv是从图像到数据
OpenGL是从数据到图像