C++11 – std::shared_ptr初始化的几种方式
1 std::shared_ptr初始化的几种方式 这里只总结一下std::shared_ptr初始化的几种方式,不对std::shared_ptr的优缺点进行说明,初始化的方式比较多,平时码字的时候经常会搞迷糊,备忘。 1.1 构造函数初始化 std::shared_ptr<int> …
- C++
- 2020-08-12
Modern OpenGL从零开始 – 多个帧缓存Framebuffer绘制到同一个铺满屏幕四边形Quad上
1 目的/需求 举个例子,假如我在一个帧缓存中专门绘制了Phong光照模型的物体,在另一个帧缓存中专门绘制了Pbr光照模型的物体,在第三个帧缓存中只绘制了只有单一颜色的物体,等于现在我有三个离屏渲染的帧缓存,我需要把他们都绘制到铺满整个屏幕的同一个四边形中,同时保证深度测试,即在同一场景中绘制不同光…
- OpenGL可编程渲染管线
- 2020-08-09
C++ – 控制台程序在控制台窗口可变参数格式化带颜色输出日志信息
1 C++以可变参数格式化带颜色输出日志信息 使用Unity时,它的日志系统做的就比较好,不同类型的日志信息在底下面板以不同的颜色输出出来,简单明了,所以仿照这个做了一个简陋的,不过也够用了,代码如下: #include <iostream> #include <Windows.h…
- C++
- 2020-07-24
Modern OpenGL从零开始 – 在Visual Studio中配置OpenGL开发环境
1 工欲善其事必先利其器 在上一篇文章中,我们大致介绍了目前比较主流的OpenGL第三方库的一些类别以及一些主流的第三库的作用,特别的在文章末尾给出了选择OpenGL开发环境的一些建议。目前来说glfw+glad或者glfw+glew是目前OpenGL开发环境的主流,这点大家可以参考下。 很多新人往…
- OpenGL可编程渲染管线
- 2020-06-18
Modern OpenGL从零开始 – 从茫茫多的OpenGL第三方库讲起
作为OpenGL核心渲染模式的开篇,如果一上来就来一个Hello OpenGL,岂不是很懵逼?!环境都没配搞什么Hello OpenGL。众所周知,OpenGL是一个跨平台的可编程的三维图形库,那么其跨平台的特性就离不开一些主要的第三库的支持。或许你已经接触过一些OpenGL的基础知识,想必对以下的…
- OpenGL可编程渲染管线
- 2020-06-08
WPF – 代码动态更换按钮的背景图片
1 相对路径 将在项目exe路径Resourc目录下寻找图片 ImageBrush brush1 = new ImageBrush(); string path = @"Resource/icon-提交.png"; BitmapImage img = new BitmapImage(new Uri(…
- Windows编程
- 2020-06-02
FFmpeg – 关于ffmpeg avcodec_open2函数失败的问题
1背景介绍 做了个屏幕录制程序,可自选屏幕区域进行录制,保存格式可选为mp4,使用ffmpeg实现生成mp4格式文件,全屏幕录制无任何问题,自选区域录制部分情况下生成mp4文件无数据 2 问题描述 当mp4文件无数据时,均是由于使用ffmpeg过程中avcodec_open2函数失败造成,如默认10…
- FFmpeg
- 2020-05-13
FFmpeg – 通过h264编码的视频文件开始很清晰后面逐渐模糊
1 FFmpeg版本 FFmpeg 4.0+ 2 问题描述 将序列的RGB视频流通过ffmpeg h264编码为视频文件通过vlc播放之后发现了一个奇怪的问题,就是视频播放前面几帧和原始RGB图片一样非常的清晰,当时越到后面,视频越来越模糊。 3 解决方案 仔细参考完FFmpeg的示例代码之后,发现…
- FFmpeg
- 2020-05-08
VTK – 冠脉重建点匹配坐标数据下载
1 冠脉重建数据下载 主要是针对我的CSDN博客:基于OpenCV和VTK的冠脉三维重建 https://blog.csdn.net/hw140701/article/details/72721974 中两个冠脉图片ImageA和ImageB中点坐标文件的下载。 1.1 资源下载
- VTK
- 2020-05-08
FFmpeg – RGB图像编码为h264出现垂直旋转的问题
1 问题描述 在Unity中或者OpenGL中抓取的帧缓冲区数据(Unity为Texture2D)即一张RGB图片数据使用ffmpeg做.h264编码后使用vlc播放出现了图像垂直颠倒的问题,如下图所示: 正常的图片: .h264编码之后在vlc中播放出现了垂直翻转的问题: 1.1 可能的原因 RG…
- FFmpeg
- 2020-05-07
C++ – queue存储动态指针时正确释放内存
1 代码示例 #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLO…
- C++
- 2020-05-06
C++ – vector存储动态指针时正确释放内存
1 代码示例 #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLO…
- C++
- 2020-05-06