- 博客(547)
- 资源 (37)
- 收藏
- 关注
转载 关于NVIDIA G-SYNC,你应该知道的一切
G-SYNC是NVIDIA为了解决游戏中画面撕裂问题而开发的一种显示器画面自适应同步技术。它可以看作是垂直同步技术的升级版,解决了垂直同步技术高延迟、帧数不足时产生卡顿的问题。它的竞品是AMD的FreeSync它需要显示器与显卡同时支持才能开启正在上传…重新上传取消画面撕裂 VS 画面不撕裂画面撕裂 VS 画面不撕裂可以看到画面撕裂是非常影响游戏观感的,而显示器画面同步技术可以解决这个问题。
2022-09-09 14:42:44 7023
原创 通过位运行代替乘除求余运算
一个数对2,4,8,16...等数求余,可以通过&运算符实现(比例:对2求余,可以表示为 某个数&1)一个数乘以2可以通过向左位移1位。一个数除以2可以通过向右位移1位。
2022-08-31 09:27:44 227
原创 通过StretchRect测试纹理贴图性能
机器:刘玉麒笔记本,ASUS ExpertBook,使用的集成显卡:Intel(R) Lris(R) Xe Graphics。
2022-08-23 11:27:43 287
原创 3D LUT 相关文章收集
3Dmax中的lut是什么?LUT讲解以及插件分享3D LUT Creator操作基础系列(合集)_MediaTea的博客-CSDN博客
2022-07-13 17:39:14 221
原创 MinGW 安装及使用方面的文章总结
MinGW-w64 C/C++编译器下载和安装的方法步骤(入门教程)win下使用MinGW-w64+cmake搭建c++开发环境_丰色木夕的博客-CSDN博客
2022-07-08 14:52:40 292
转载 OpenGL ES: (5) OpenGL的基本概念、OpenGL ES 在屏幕产生图片的过程、OpenGL管线(pipeline)
OpenGL 的结构可以从逻辑上划分为下面 3 个部分:图元(Primitives)在 OpenGL 的世界里,我们只能画点、线、三角形这三种基本图形,而其它复杂的图形都可以通过三角形来组成。所以这里的图元指的就是这三种基础图形:点:点存在于三维空间,坐标用(x,y,z)表示。线:由两个三维空间中的点组成。三角形:由三个三维空间的点组成。缓冲区(Buffers)OpenGL 中主要有 3 种 Buffer:光栅化(Rasterize)在介绍光栅化之前,首先来补充 OpenGL 中的两个非常重要的概念:V
2022-06-25 14:03:40 641
转载 OpenGL ES: (4) EGL API详解 (转)
上一节我们初步学习了 OpenGL ES、EGL、GLSL 的相关概念,了解了它们的功能,以及它们之间的关联。我们知道了 EGL 是绘制 API(比如 OpenGL ES)与 底层平台窗口系统之间的接口,用于与手机设备打交道,比如获取绘制 buffer。 而 OpenGL ES 与 GLSL 的主要功能,就是往这块 buffer 上绘制图片。由于绘制的第一步就是获取绘制 buffer,而这完全通过 EGL 来实现的,那么这一节,我们来仔细研究一下,EGL 是如何跟手机产生关联,并如何从手机那里获取一块 bu
2022-06-25 14:01:07 1069
转载 OpenGL ES: (3) EGL、EGL绘图的基本步骤、EGLSurface、ANativeWindow
EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platform window system)之间的一个中间接口层,它主要由系统制造商实现。EGL提供如下机制:正在上传…重新上传取消Display(EGLDisplay) 是对实际显示设备的抽象。Surface(EGLSurface)是对用来存储图像的内存区域。FrameBuffer 的抽象,包括 Color Buffer, Stencil Buffer ,Depth Buffer。Context (EGLContext) 存储
2022-06-25 13:56:48 2301
转载 OpenGL ES: (2) OpenGL ES 与 EGL、GLSL的关系
OpenGL ES 是负责 GPU 工作的,目的是通过 GPU 计算,得到一张图片,这张图片在内存中其实就是一块 buffer,存储有每个点的颜色信息等。而这张图片最终是要显示到屏幕上,所以还需要具体的窗口系统来操作,OpenGL ES 并没有相关的函数。所以,OpenGL ES 有一个好搭档 EGL。EGL,全称:embedded Graphic Interface,是 OpenGL ES 和底层 Native 平台 视窗系统之间的接口。所以大概流程是这样的:首先,通过 EGL 获取到手机屏幕 的 han
2022-06-25 13:52:26 765
转载 OpenGL ES: (1) OpenGL ES的由来 (转)
1. 电脑是做什么用的?电脑又被称为计算机,那么最重要的工作就是计算。看过三体的同学都知道, 电脑中有无数纳米级别的计算单元,通过 0 和 1 的转换,完成加减乘除的操作。2. 是什么使电脑工作?驱动,驱使着硬件完成工作。3. 谁来写驱动?制造电脑的公司自己来写驱动,因为他们对自己的底层硬件架构最熟悉。4. 谁会使用驱动?所有的软件工程师都会直接或者间接的使用到驱动。那么问题来了,如果说不同的电脑公司,制造出来不同的硬件,使用不同的 驱动,提供出来不同的接口供软件工程师进行使用,那么软件工程师就要崩溃了。所
2022-06-25 11:43:03 212
转载 c++中operator()的用法简单理解记录
c++ 中的operator()有两大主要作用:Overloading------重载()操作符; Casting------实现对象类型转化。一. 重载()操作符函数对象:定义了调用操作符()的类对象。当用该对象调用()操作符时,其表现形式如同普通函数一致,因此取名为函数对象。与普通函数相比,函数对象更加灵活,代码看上去更加优雅。函数对象有自己的状态。可以在类中定义状态变量,这样一个函数对象在多次的调用中可以共享这个状态; 函数对象有自己特有的类型。可以传递相应的类型作为参数来实例化相应
2022-05-10 15:18:58 11400
转载 如何配置linux环境变量
熟悉计算机的人都知道,在程序开发的过程中,我们需要对计算机进行环境变量的配置和更改操作,否则计算机就无法正常进行程序开发。而在不同系统环境下进行环境变量的配置更改往往是有不同之处的。比如,当我们使用Linux操作系统的计算机去进行程序的开发,那要如何进行环境变量的配置和更改呢? 方法1 :修改/etc/profile 文件 这种方法是首选方法,假如你的电脑仅仅只是用来开发程序而进行使用,不对其他更加复杂的功能进行操作的话,此方法也是最优先的。 具体的操作步骤为:打开/etc/profi
2022-04-29 11:37:11 336
原创 std::condition_variable使用案例
std::mutex mut;std::queue<data_chunk> data_queue;std::condition_variable data_cond;void data_preparation_thread(){ while(more_data_to_prepare()) { data_chunk const data=prepare_data(); std::lock_guard<std::mutex> l.
2022-04-25 17:16:43 330
原创 std::call_once多线程初始化的使用
对于程序中有些对象只需要初始化一次,在多线程中,我们一般使用双重检查锁,代码如下:void double_checked_locking(){ if(!resource_ptr) { std::lock_guard<std::mutex> lock(resource_mutex); if(!resource_ptr) { resource_ptr.reset(new some_resource);
2022-04-25 16:32:08 1271
原创 c++使用模板代替一个函数声明
正常的函数声明代码如下:typedef int (*add_type)(int a,int b);int process_data(add_type add,int a,int b){ return add(a,b);}这样是需要写一个函数类型声明的,感觉比较麻烦,可以用模板简化函数声明。代码如下:template<typename Function>int process_data(Function add,int a,int b){ return
2022-04-21 12:02:32 973
原创 Ubuntu 添加新分区并且将新分区挂载到某个目录下
ubuntu系统重新分区、根目录扩容_Publish or Perish的博客-CSDN博客_ubuntu分区扩容Ubuntu 分区(目录)挂载/扩容Ubuntu添加新分区,挂载硬盘到/home下_RuiH.AI的博客-CSDN博客_ubuntu添加新硬盘home
2022-04-08 16:23:19 865
转载 Ubuntu中deb包详解及打包教程
一、deb包详解1->deb 包的文件结构deb 软件包里面的结构:它具有DEBIAN和软件具体安装目录(如etc, usr, opt, tmp等)。deb包本身有三部分组成组成 详细数据包 包含实际安装的程序数据,文件名为“data.tar.XXX”安装信息及控制包 包含deb的安装说明,标识,脚本等,文件名为“control.tar.gz”二进制数据 包含文件头等信息,需要特殊软件才能查看|----DEBIAN |-------contr...
2022-04-06 11:21:59 6916
转载 SHELL中的${},##和%%的使用
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt可以用${}分别替换得到不同的值:${file#*/}:删掉第一个/及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个/及其左边的字符串:my.file.txt${file#*.}:删掉第一个.及其左边的字符串:file.txt${file##*.}:删掉最后一个.及其左边的字符串:txt${file%/*}:删掉最后一个/及...
2022-04-06 09:58:17 587
转载 MPV源码探究:源码结构和调用层次
从 Github 上拉取最新的源码,目录结构大致如下:H:\MPV ├─.github ├─audio │ ├─decode │ ├─filter │ └─out ├─ci ├─common ├─demux ├─DOCS │ └─man ├─etc ├─filters ├─input ├─libmpv ├─misc ├─options ├─osdep │ ├─android │ ├─ar │ ├─macos │ └─win32 │ └─include
2022-03-15 16:08:59 1268
转载 nvidia 3d vision kit + opengl + 立体视觉程序开发
近来一周一直在看opengl + 3d vision kit 的编程开发方法,国内基本没有,因为3d vision kit只支持d3d的全屏的程序。只有满足是D3D+FULLSCREEN,才会由红外发射端发射同步信号到shutter glass,眼睛端。国内的信息很少,除了一篇写的D3D的,利用Nvidia漏洞的, 其实那文章内容里面的东西,nvidia自己都已经在GTC09的会议上写出来过,并不算是什么破解之类。而google相关内容也很少,所以我想写下来,方便有需要的人士。硬件需求1. nvidia
2021-12-27 19:03:58 844
转载 NV 3D Vision
在程序中使用NV 3D Vision多年前NVIDIA就发布了3D Vision技术,能提供多种立体渲染的效果。随着2009年的电影阿凡达所带来的世界性3D狂潮,你是否也想在自己的程序中加入立体渲染呢?3D Vision的原理根据3D Vision and Surround Technology | NVIDIA Developer,3D Vision的原理如下:在驱动内部,所有3D场景都渲染两次——一次用左眼,一次用右眼。驱动会自动“在线”修改典型的3D游戏vertex shader,所
2021-12-27 18:59:47 1007
转载 C++ 中sort排序改变数值相同的数据相对位置的解决办法
今天给大家介绍个超级好用的知识:写了那么多的排序,但是其实C++里封装有排序函数,而且功能非常强大。sort函数有sort(),stable_sort()和partial_sort()。sort()函数是对给定区间的元素进行排序,但是会改变值相同的元素的相对位置。stable_sort()是对给定区间的元素进行稳定排序,如果两个元素相等,那么排序完成后两个元素的相对位置保持不变,partial_sort()是对给定区间的元素进行部分排序。默认的顺序是由小到大进行排序。三种函数的用法如下v为容
2021-12-15 19:37:41 2861 1
转载 OpenGL Pixel Buffer Object (PBO)
转自:http://www.songho.ca/opengl/gl_pbo.htmlUpdate:Pixel buffer object extension is promoted as a core feature of OpenGL version 2.1, and removed ARB suffix.OverviewOpenGL PBOOpenGLARB_pixel_buffer_objectextension is very close toARB_vertex_b...
2021-11-30 20:06:01 353
转载 VS2015下解决:无法解析的外部符号___vsnprintf
转自:https://jingyan.baidu.com/article/48206aeab8516f216ad6b38c.html用VS2015导入VS2013的工程的时候,编译出现了error LNK2001: 无法解析的外部符号 __vsnprintf的错误原因 出现这个问题的原因是vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。 END 解决办法 在vs2015工程选项中选择链接器
2021-11-30 10:46:08 1278
转载 GLES2.0中文API-glCopyTexImage2D
名称glCopyTexImage2D - 将像素复制到2D纹理图像中C规范voidglCopyTexImage2D( GLenumtarget, GLintlevel, GLenuminternalformat, GLintx, GLinty, GLsizeiwidth, GLsizeiheight, GLintborder);参数target指定活动纹理单元的目标纹理。必须是GL_TEXT...
2021-11-26 16:46:25 593
转载 Programming OpenGL in Linux: GLX and Xlib
原文链接:Programming OpenGL in Linux: GLX and Xlib - OpenGL WikiJump to navigationJump to searchXlib is a library which provides functions for applications running under the X Window System (also referred to asX). This includes window management as well a.
2021-11-17 16:26:25 427
原创 win10显示无法连接到Internet但是能上网
win10显示无法连接到Internet但是能上网Win10 网络显示感叹号或小地球,能联网却提示无法连接到Internet 的解决方法 - 吾晓科技
2021-10-08 17:13:02 6189
转载 JPEG算法解密
图片压缩有多重要,可能很多人可能并没有一个直观上的认识,举个例子,一张800X800大小的普通图片,如果未经压缩,大概在1.7MB左右,这个体积如果存放文本文件的话足够保存一部92万字的鸿篇巨著《红楼梦》,现如今互联网上绝大部分图片都使用了JPEG压缩技术,也就是大家使用的jpg文件,通常JPEG文件相对于原始图像,能够得到1/8的压缩比,如此高的压缩率是如何做到的呢?JPEG能够获得如此高的压缩比是因为使用了有损压缩技术,所谓有损压缩,就是把原始数据中不重要的部分去掉,以便可以用更小...
2021-09-23 10:25:22 610
转载 JPEG 标准推荐的亮度、色度DC、AC Huffman 编码表
博主在完成数字图像处理大作业时利用搜索引擎查找了很久完整的四张Huffman 编码表(亮度AC Huffman编码表、亮度DC Huffman编码表、色度AC Huffman编码表、色度DC Huffman编码表),发现中文博客中的编码表大都不完整或者排版混乱,不知所云;英文博客中也几乎没有相关内容。最后查看JPEG标准文档终于找到了完整的Huffman 编码表,现将之公布在此,方便大家查询、使用。JPEG推荐的亮度直流霍夫曼编码表 (The DC Hoffman coding table for lu
2021-09-18 17:11:57 4778
原创 Media Player Classic - HC 源代码分析 14:PIN连接过程中推模式和拉模式区别
前面有两篇文章讲解了PIN连接过程中需要做2件事情:媒体类型的协商 分配器的协商推模式和拉模式关于媒体类型的协商调用的接口都一样,主要的区别还是在分配器的协商。前面讲解的分配器的协商过程是推模式的,今天我们来看看拉模式的分配器协商过程。如果我们要实现拉模式的PIN连接,则输出PIN和输入PIN不能从CBaseOuputPin和CBaseInputPin继承。因为这两个类是为推模式连接设计的:CBaseInputPin实现了IMemInputPin接口。(IMemInputPin接口...
2021-08-19 16:14:32 304
原创 Media Player Classic - HC 源代码分析 13:媒体类型协商过程中CheckMediaType函数详解
前面在讲解媒体类型协商的过程中提到过CheckMediaType这个函数,当时只是说明了这个函数是用来检查输入的媒体类型是否符合要求,今天我们就来重点了解一下这个函数。我们首先看一下CBasePin类中关于CheckMediaType函数的声明:class AM_NOVTABLE CBasePin : public CUnknown, public IPin, public IQualityControl{protected: // used to agree a medi...
2021-08-19 10:10:15 538
原创 Media Player Classic - HC 源代码分析 12:Pin之间的具体连接过程2(PIN之间分配器的协商)
上一篇文章讲解了PIN之间媒体类型的协商过程,这一篇我们讲解一下PIN之间分配器的协商过程:PIN之间分配器的协商过程大概总结如下:上一篇媒体类型协商过程的结尾会调用函数,整个分配器的协商过程就是从这个函数开始的。 在输出PIN的CompleteConnect里面会调用DecideAllocator函数. 在输出PIN的DecideAllocator里面,首先从输入PIN对象中获取IMemAllocator对象,如果这个对象符合要求,则直接成功。否则输出PIN创建自己的IMemAlloca...
2021-08-17 19:40:16 205
原创 Media Player Classic - HC 源代码分析 11:Pin之间的具体连接过程1(PIN之间媒体类型的协商)
上一篇文章讲解了Filter之间的连接最终转为Pin之间的连接,调用了IFilterGraph的ConnectDirect实现两个PIN之间的连接。今天我们来具体了解一下两个PIN是如何连接的。由于没有ConnectDirect的源代码,所以只能通过MSDN的介绍了解一下两个PIN之间的连接过程。下面是我参考的MSDN的内容链接:PIN之间连接PIN之间媒体类型的协商PIN之间分配器的协商过程根据MSDN的介绍我总结一下具体的连接过程大概分为2部分,第一部分为:PIN之间媒体类型...
2021-08-17 17:26:13 373
windows管道通信
2020-08-13
dll注入和API拦截测试代码.rar
2020-08-11
使用NVIDIA FX Composer工具验证多张纹理合成效果
2023-07-18
显示器带宽计算.zip
2021-09-01
颜色和HDR知识总结.pptx
2021-06-24
压缩纹理通过d3d9和cuda进显存速度对比3 (测试100次平均值)
2020-12-16
压缩纹理通过d3d9和cuda进显存速度对比2
2020-12-04
压缩纹理通过d3d9和cuda进显存速度对比
2020-07-25
vld内存泄露检测工具
2018-11-02
COM组件例子程序
2018-10-24
网络唤醒开机
2018-10-15
MPC-HC播放器源代码
2018-08-30
COM组件用例和测试代码V2
2018-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人