1. 程式人生 > >Qt QOpenGL概要

Qt QOpenGL概要

Qt目前已經對opengl支援很好了,大致涉及這幾個類。見解如下:

資料:

  • QOpenGLBuffer,支援頂點資料(頂點座標,頂點法向量,紋理座標,顏色),頂點索引。可StreamDraw,即資料寫死,也可DynamicDraw,即通過void write(int offset, const void *data, int count)方法更新。

  • QOpenGLTexture,紋理,常見的Target2D,Target3D,TargetCubeMap等。影象資料傳入,過濾,三軸環繞。

  • QOpenGLFramebufferObject,幀快取物件,比較der

著色器

  • QOpenGLShader,Vertex shader ,Fragment shader,指定著色器型別。

  • QOpenGLShaderProgram,著色器程式,新增著色器,編譯,連結,頂點資料傳入。

Ui

  • QOpenGLWidget,渲染的目標

Core

  • QOpenGLFunctions,對opengl方法的封裝,保護繼承即可。

  • QOpenGLContext,opengl上下文,可以理解為任務上下文。

Help

  • QVector3D系列,頂點資料,向量點乘,叉乘,單位化。

  • QMatrix4x4系列,mvp矩陣,平移,縮放,旋轉,單位化。

  • math系列,三角函式,弧度角度轉換