c++
文章平均质量分 58
chenchao_shenzhen
先后就职于德国BOSCH,iBabyLabs等著名企业担任架构设计师,主程, 精通嵌入式Linux,Android底层,iOS,音视频,网络通讯协议/流媒体开发.精通常见的第三方库如Qt,FFMpeg,Metal/OpenGL等.
展开
-
学员新课题:从Qt复杂控件自定义到基于VR的交互实现
2018年推出的Qt复杂控件自定义系列课程,分为两个课程,第一个课程讲得比较多的一些基础,第二个课程更侧重于更复杂的交互,以及利用向量等数学方法去解决问题。课程地址:https://download.csdn.net/course/detail/24587https://download.csdn.net/course/detail/27479这个系列课程总体比较简单初级,但做这个课程的重要意义在于,程序员要多动手去写,并多思考总结。 写GUI这个活,在很多人看来可能是相当low的,其实也不原创 2022-05-21 01:01:49 · 828 阅读 · 0 评论 -
OpenGL渲染引擎开发之FreeImage macOS上的c99编译错误
FreeImage是一个非常好的支持非常多图片格式的库。写跨平台渲染引擎的时候,如果不想依赖各个平台的API,是一个非常好的选择。但在macOS上,我们这里下载的是SourceForge上的最新版本FreeImage3180.zip如果不喜欢brew下载,自己下载编译,会遇到一些问题。首先是C99的错误。在这里,brew里面很早就有开发者反应过这个问题,并提交了补丁,我们只需要将这些补丁下载下来,自己打上补丁,然后编译即可。source/zlib/gzlib.c:252:9: err原创 2022-05-09 19:33:45 · 724 阅读 · 0 评论 -
看苹果Metal支持c++开发
今年五月份开始,苹果的Metal图形接口悄悄开始支持C++开发.比这对此表示高度赞誉,类似于macBook pro回归支持了HDMI,非常务实的做法。当然metal 支持c++开发的影响非常深远。笔者前天看到这个消息,昨天晚上熬夜也将之前写的一些Metal代码,花了两个小时,快速改成了C++版本。消费还非常好。苹果2014年开始推Metal,17年开始不更新OpenGL,然后给OpenGL开发者还造成了一定的恐慌,其实结果来看,8年时间,Metal推不动,苹果系统依然保留了OpenGL原创 2021-12-10 20:23:40 · 3261 阅读 · 0 评论 -
网络通讯开发中命令行程序如何体面结束
今天写一篇非常基础简单的文章,说说网路通讯程序如何体面结束进程释放资源。开发Linux/mac 这种类unix网络socket通讯程序过程中。我们如何体面结束程序,释放对应的资源,而不是直接ctrl-c结束进程.1 使用signal信号,主动捕获SIGINT信号。释放相应的资源.比如我们之前的Linux音频采集的代码://利用m_bRecording = false退出对应的线程,释放资源void stopRecording(){ printf("\n signal St原创 2021-11-24 12:07:28 · 1431 阅读 · 0 评论 -
VMware+ubuntu无法打开摄像头或打开摄像头慢问题
VMware+ubuntu无法打开摄像头或打开摄像头慢问题原创 2021-11-22 18:06:06 · 1539 阅读 · 0 评论 -
Linux ALSA 音频采集
在原生Linux上,我们使用ALSA库进行音频采集。在安卓上,使用OpenSL ES。下面,超哥提供一段代码给音视频开发初学者,对于认识音频参数比如采样率,通道,位,码率有很好的帮助。首先 sudo apt-get install libalsa-ocaml-dev 下载alsa开发库。然后安装cmake vscodesudo apt-get install cmake下载vscode以后,安装cmake tools c++工具代码中使用了Linux 信号,完整结束程序,写入pc原创 2021-10-27 12:21:46 · 2404 阅读 · 2 评论 -
从苹果加入Blender基金会看Metal发展
2021年10月14日,苹果加入了Blender基金会,作为赞助会员。赞助会员是最高级别的会员,有AMD EPIC Unity AWS Facebook Nvidia.清一色的业内跟游戏,VR/AR, 图形图像相关的公司。https://www.blender.org/press/apple-joins-blender-development-fund/以下图片来自于Blender官网:Blender用的人越来越多,有点像3D建模动画领域的Linux,这些年影响力也越来越强。苹果推出M1的时原创 2021-10-19 07:13:20 · 1287 阅读 · 0 评论 -
推荐未来5~10年值得学习的OpenGL前沿开源项目
学完OpenGL,哪些前沿的开源项目,值得学习? 超哥今天给大家推荐:重点关注再未来5~10年有市场比较受欢迎的两大主题:1 跨平台OpenGL Metal Vulkan DX 图形接口C++ 抽象层。2 基于物理的实时渲染。GitHub - egorodet/MethaneKit: ???? Modern 3D graphics made simple with C++17 cross-platform app framework and rendering abstraction API on ..原创 2021-10-16 13:35:16 · 2135 阅读 · 0 评论 -
Qt OpenGL windows找不到glActiveTexture解决方法
今天写一篇非常初级的,入门级的文章。我们Qt OpenGL教程中有同学反映Windows下找不到glActiveTexture,这里就统一给大家说说mac/windows Qt OpenGL跨平台开发的解决方法。Qt结合OpenGL开发,非常适合做一些音视频,图像处理,以及一些3D工具软件。为了最大限度发挥Qt的优势,我们一开始就定位为Windows/Mac跨平台开发。因为全球大概有20%的高端用户使用mac电脑。所以使用Qt开发,可以一次开发多平台部署。首先,在pro文件中,要这样声明,mac原创 2021-10-11 11:33:14 · 662 阅读 · 0 评论 -
公司使用Qt到底要不要付费?
有小朋友问(此处不应该是李永乐老师的小朋友),公司在大量使用Qt作为基础开发框架,公司也比较懵,使用Qt开发商业软件,到底是否需要付费?作为一个十几年Qt使用经验的老c++程序员,今天就来回答这个问题。Qt能获得如此的成功,得益于LGPL协议,都知道GPL是非常严格,不能开发闭源商业软件的。但LGPL允许你使用动态链接的方式开发闭源商业软件。所以Qt正是因为LGPL,获得了巨大的成功。我们要定义软件基础框架的成功,需要从几个纬度,1 开发者人数,社群, 2 软件代码的质量,稳定性。 3 成功的商原创 2021-01-01 14:32:33 · 42995 阅读 · 66 评论 -
用Qt5的 QMultiMedia 音频视频采集的限制
本文内容截止Qt5.14版本。Qt应该很早就提供了MultiMedia 这样一个多媒体开发框架用于开发常见的音视频处理。比如音乐,视频的播放。 做个简单的音乐视频播放器,在规定的平台,用规定的格式,比如mp3 mac平台播放mp4都没什么问题。在linux平台,Multimedia需要安装libpulse-dev依赖库。所以说,做个简单的有限的格式的播放器,没有什么问题。做p...原创 2020-01-17 13:33:24 · 5552 阅读 · 0 评论 -
C++ Qt5复杂控件自定义 写一个精美的音乐播放器
C++ Qt学员练习题目:用C++ Qt5 写一个精美的音乐播放器,模拟cd交互。所有控件全部自定义,全部继承自QWidget绘制。拖动控制摇杆的磁头部位,音乐seek到一定的位置。一行代码都不用修改,同时支持Windows macOS。视频地址:https://edu.csdn.net/course/detail/27479...原创 2020-01-16 00:20:04 · 1006 阅读 · 0 评论 -
C++ Qt5进阶之复杂控件自定义4 Qt 实现温度计,数字时钟,示波器,汽油表盘,机油表盘,时间进度,速度表控件大集合
Qt 实现温度计,数字时钟,示波器,汽油表盘,机油表盘,时间进度,速度表控件大集合。这种控件没有前面几个那种复杂的交互,所以用Qt C++写起来非常简单,所以就不一一列举了。直接上图,干脆来个控件大集合。要点:利用Qt 的paintEvent绘图函数。利用QPainter 的drawLine drawPie drawPixmap等函数利用QPen QBrush画笔,填充QP...原创 2019-05-14 00:42:28 · 3397 阅读 · 0 评论 -
C++ Qt5进阶之复杂控件自定义5 Qt自定义控件大集合 MacOS 版本
Qt 实现温度计,数字时钟,示波器,汽油表盘,机油表盘,时间进度,速度表控件大集合。这种控件没有前面几个那种复杂的交互,所以用Qt C++写起来非常简单,所以就不一一列举了。直接上图,干脆来个控件大集合。要点:利用Qt 的paintEvent绘图函数。利用QPainter 的drawLine drawPie drawPixmap等函数利用QPen QBrush画笔,填充QP...原创 2019-05-14 00:53:06 · 2631 阅读 · 0 评论