找回密码
 立即注册
查看: 526|回复: 0

学完音视频FFmpeg OpenGL后内部练习题

[复制链接]
发表于 2021-10-12 15:15 | 显示全部楼层 |阅读模式
学完FFmpeg OpenGL图像处理课程后,一定要做几个小项目去实践,慢慢就学精了。否则大半年不写就忘记了,下面分享我们内部一些练习小项目。

0 夯实数学基础,整理一套自己的向量,点乘,差乘,欧拉角,四元素,齐次坐标,矩阵,平移矩阵,旋转矩阵,缩放矩阵,逆矩阵数学,几何原理,观察者矩阵,正交投影,透视投影,法线贴图TBN矩阵,推导过程,深入理解图形变换管线。写一套简单可用的类似glm的自己的简化版数学库。这个是练基础内功。

1 模仿GPUImage, 做一个自己的版本的视频特效实时处理,录制的软件。支持多个特效叠加。

2 结合FFmpeg,导入视频,在视频帧上添加特效,支持视频裁剪。再输出。 这就是一个简易版的视频剪辑软件。结合mediacodec, avfoundation的硬件编码。

3 将引擎部分读取出来的场景数据编码,通过socket通讯发出去,对面实时解码渲染显示。

4 做一个简单的手机录屏,然后pc写一个客户端,实时显示出来。还可以加入反向控制手机。

以上4个简单的小项目都做出来了,就毕业了。毕业后,就能慢慢做一些独创性的东西,如果还做不出来,就返回去再学习,练习,死磕课程内容。

以上四个小练习,都是认真学习课程,都能做出来的,比较简单的练习。唯有实践,才能检验自己是否学到东西了。说简单它简单,但对于初学者,还是非常复杂的。

在超哥看来简单,但是大家能都完成做出来,其实已经是吊打绝大多数开发人员的高手了。

以上练习,大部分都在一个月之内都能完成。有的一两周。四个都做完以后,可以考虑一些进阶的内容课题。6 7 8需要时间更长一些。

5 OpenGL实时渲染光栅化阴影(非光线追踪)实现, 延迟渲染。这个相对容易,有现成的参考。

6 写一个软件,软件内置大量的3D原始简单的模型,以及特效。用户可以随意摆放,点选,移动,旋转这些模型,构建出复杂的场景。用户可以傻瓜化摆放模型位置,调整颜色。类似以下效果。用户可以傻瓜化调整比如水流,场景中人物走动参数。场景结果可以导出为渲染图片,还可以导出到blender,max,maya,unreal, unity3d.


psc.png


psc (1).png


psc (2).png

7  深入研究FBXSDK, OpenGL渲染引擎加入自己实现的blendshapes。用人脸追踪算法驱动blendshapes动画。用OpenGL模仿苹果的人脸表情动画。


Snip20211012_2.png

8 类似Blender,达芬奇 后期图片,视频特效节点编辑软件。用户可以傻瓜化合成各种特效。建议 Qt OpenGL mac/win版本, 然后在移植到iOS/android.


Snip20211012_3.png

后面的就更加高手独孤求败阶段。仅供参考。

9 化妆软件,内置大量的3D女性模型,支持各种笔刷,在手机上给模型化妆。 其实就是一个简易傻瓜版的Substaincepainter. 主要用于女孩子学习化妆。支持表情动画,视频录制分享。

10 3D重建,根据用户照片,自动生成3D模型。自动绑定骨骼动画,表情动画。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 16:25 , Processed in 0.091869 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表