- 博客(10)
- 收藏
- 关注
原创 法线纹理原理及实现
法线纹理简介法线纹理技术又叫凹凸纹理,英文Bump Mapping,法线纹理的思想是取代对三角面上的顶点法线进行插值,而是简单的通过从纹理中取样来获取法线方向。这种技术能够更好的模拟真实世界的场景,因为大多数的表面(特别是我们在游戏中感兴趣的那些地方)并没光滑到使光线能够按照我们用之前的方法插值得到的法线方向进行反射,反而表面上的凹凸之处会使得光线沿着其照射点处的大致反射方向进行反射。对于每一个...
2019-05-31 00:16:01
2139
原创 如何修改QToolBars展开(>>)按钮图标
问题描述QToolBars默认展开按钮图标样式单调且尺寸偏小,看上去不够明显,如下图所示因此需要修改"》"图标。修改方法第1步 自定义style类继承自QProxyStyle类,编写自己的style类,在pixelMetric方法中指定对应图标的大小,例子代码如下.h文件#ifndef MYSTYLE_H#define MYSTYLE_H#include <QProxy...
2019-05-25 22:26:52
1168
转载 C++之Lambda表达式
本文转自季末的天堂的同名博客1.概述C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda 的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}可以看到,Lambda 主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable 或 exce...
2019-05-11 15:07:22
149
原创 四元数乘法
四元数都是由实数加上三个元素i、j、k 组成,而且它们有如下的关系:每个四元数都是 1、i、j 和k 的线性组合,即是四元数一般可表示为 a + bi + cj +dk四元数乘法遵循以下的乘数表:X1ijk11ijkii-1k-jjj-k-1ikkj-i-1...
2019-04-29 18:10:51
5436
转载 OpenGL纹理
相关APIglGenTexture(GLsizei n,GLuint* textures)作用: 生成纹理对象,用来产生你要操作的纹理对象的索引,比如你告诉OpenGL,我需要5个纹理对象,它会从没有用到的整数里返回5个给你参数:n 要生成的纹理对象的数量textures 存储生成的纹理对象索引void glBindTexture(GLenum target,GLuint tex...
2019-04-29 11:11:03
214
转载 Qt主窗体设置FramelessWindowHint引起的刷新异常问题
主窗体设置FramelessWindowHint后,窗体接收paint消息异常解决方法:重写showEvent函数 主窗体头文件里增加:protected: void showEvent(QShowEvent *event); 主窗体cpp文件里增加:void xxxx::showEvent(QShowEvent* event){ t...
2018-12-24 14:46:33
1234
原创 平移/旋转/缩放/投影变换矩阵
平移变换矩阵 旋转变换矩阵绕x轴旋转矩阵:绕y轴旋转矩阵:绕z轴旋转矩阵:缩放变换矩阵透视投影矩阵ar:屏幕长宽比alpha:相机俯仰角NearZ:裁剪体近端距离FarZ:裁剪体远端距离 ...
2018-12-04 18:16:34
4710
原创 Qt上位机串口通信调试记录
开发环境系统版本:Windows 10 开发工具:VS2013+Qt5.4.2 串口类库:第三方串口类qextserialport-1.2win-alpha(下载地址:https://sourceforge.net/projects/qextserialport/?source=directory)qextserialport目录 目录结构 windows平台下用到的...
2018-12-04 17:02:24
558
原创 环形缓冲队列技术应用实例
需求描述在HDMI扩展屏上连续播放32位深度png图片 png分辨率1080x800 播放间隔毫秒级(1~100毫秒)解决思路【方案1】每次播放图片时从磁盘现加载当前图片,绘制播放缺点:加载动作耗时,导致播放卡顿,难以达到毫秒级间隔。【方案2】提前把所有png图片加载到内存,并且绘制成QPixmap缺点:单张png图片对应QPixmap内存为1...
2018-12-04 17:00:51
453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人