Skip to content

Finished6464/qt-opengl-exercise

Repository files navigation

环境
#64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020
Using Qt version 5.14.2

sample
    一些样本文件

triangle
    https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/

two-triangle
    1. 窗口左上角与右下角各绘制一个三角形
    2. 使用uniform结合qt的setUniformValue更改颜色
    3. 使用混合函数GL_BLEND测试透明效果

rectangle
    1. 通过绘制两个三角形绘制矩形
    2. 利用索引缓冲对象EBO绘制
    https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/#_10

triangle2
    1. 在着色器代码内设定location
    2. 位置着色器内使用更多属性,包含位置与对应颜色,并输出颜色到片段着色器
    3. glVertexAttribPointer 步长与偏移变量的设置
    4. https://learnopengl-cn.github.io/01%20Getting%20started/05%20Shaders/#_5

texture
    1. 基本的纹理练习
    2. 使用两个shader program绘制三角形与木箱

texture2
    1. 纹理的基本参数练习
    2. 运行时生成shader program

yuv
    通过opengl转换并显示一个I420格式的YUV文件

freetype
    通过FreeType库显示文本

yuv-freetype
    yuv + freetype 显示I420格式的YUV文件,并叠加文本

ffmpeg
    结合ffmpeg

videoplayer
    yuv420p播放器测试

yuv-pbo
    yuv + pbo 测试
    样本使用了1080P与2160P的文件;
    pc下使用PBO, glTexSubImage2D可实现异步,耗时0MS,实现了DMA;
    rasspberry pi 4b下运行测试,使用pbo比不使用pbo的情况下,glTexSubImage2D耗时近一倍,并没有实现异步,可能还是和硬件有关系。

yuv-fbo
    yuv + fbo 测试

参考:
https://blog.csdn.net/lixiaoguang20/article/details/62041513
https://cloud.tencent.com/developer/article/1636045
http://www.songho.ca/opengl/gl_pbo.html
https://learnopengl-cn.github.io/
http://www.songho.ca/opengl/index.html
https://dangelog.wordpress.com/2013/02/10/using-fbos-instead-of-pbuffers-in-qt-5-2/
https://stackoverflow.com/questions/42734019/rendering-to-qopenglframebufferobject-without-paintgl-call

About

Opengl exercises in Qt

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published