自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 D3D11 高度图(地形图)

本章将介绍如何导入一张灰度bmp图作为高度图,本章基于自由视角相机章节来介绍的。简介:本章会创建一个函数来导入一张bmp格式的灰度图(每个纹理元素的RGB通道都一样),同时在高度图中使用纹理元素内R通道的值来定义每个顶点的高度。这里使用PS工具内的漫反射云彩过滤器创建的高度图,但是效果不是很好,可看到有很多的尖峰。最好是用专门制作高度图的软件来做。包含向量头文件这里要包含向量头文件以便可使用向量,它是一个动态数组用于创建格子或地形。#include <vector>新的全局变量

2017-12-22 13:35:17 3107

原创 D3D11 自由视角相机

本章节将介绍通过改变相机函数来将第一人称相机切换到自由视角相机,是基于前面第一人称相机章节来实现的。简介:实际上在前面骨骼章节是已经有用到自由视角的,这里单独拿出来介绍,基于第一人称相机章节来介绍:注释掉了五行代码,并添加了三行。在这三行代码中得到自由视角相机,要得到自由视觉相机就是能够在三个维度(x,y,z)上向前,向后,向左和向右移动,而第一人称只能在两个维度上(x,z)上移动。本章节与第一人称章节的区别就是,第一人称创建新的旋转矩阵只绕着y轴去移动相机,自由视角使用用来更新目标向量的同样的

2017-12-22 10:38:46 963

原创 D3D11 骨骼动画(基于MD5格式)

MD5格式利用了骨骼系统(也称为关节系统)来做动画效果,因此在本章节会介绍如何遍历存储在md5anim文件中的动画以及如何将动画应用在模型上。骨骼系统(也称为关节系统)优点在于比直接存储关键帧动画要占用更少的内存,因为关键帧动画相当于给每个动画帧赋予一个全新的模型,而关节系统仅仅在每帧存储骨头的方向以及位置信息。简介:在上一章节介绍了加载md5模型,并使用骨骼系统计算顶点位置和法线。在本章

2017-12-19 14:07:44 1588

原创 C希尔排序

希尔排序,也称为递减增量排序算法,是插入排序的一种高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:1.插入排序在对几乎已经排好序的数据操作时,效率高,即可达到线性排序的效率2.但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位理解希尔排序:将数组列在一个表中并对列排序(用插入排序),重复这个过程,不过每次用更长的列来进行。最后整个表都只有一列了。将数组转换至表是为了更好的理解这算法,算法本身仅仅对原数组进行排序(通过增加索引的步

2017-12-19 11:48:03 289

原创 C选择排序

算法步骤:1.在未排序序列中找到最小(大)元素,存放到排序序列的起始位置2.从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾3.重复1~2,直到所有元素排序完毕选择排序的优点与数据移动有关。若某个元素位于正确的最终位置上,则它不会被移动。且每次交换一对元素,它们当中至少有一个被移动到其最终位置上,因此对n个元素的表进行排序,总共进行最多n-1次交换。在所有完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

2017-12-19 10:46:17 350

原创 C插入排序

算法步骤:1.从第一个元素开始,该元素可以认为已经被排序2.取出下一个元素,在已经排序的元素序列中从后向前扫描3.如果该元素(已排序)大于新元素,则该元素移到下一个位置4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置5.将新元素插入到该位置后6.重复步骤2~5

2017-12-19 09:45:49 1043

原创 C冒泡排序

实例(VS2013):// 冒泡排序#include void swap(int *data, int pos1, int pos2){ int tmp = *(data + pos1); *(data + pos1) = *(data + pos2); *(data + pos2) = tmp;}void bubblesort(int *data, int size){

2017-12-15 18:00:22 508

原创 D3D11 MD5骨骼动画模型的加载

MD5模型由两个文件组成:md5mesh和md5anim文件,正如名字所示,一个用于加载md5模型,一个用于动画。本章节介绍的是如何从md5mesh文件加载md5骨骼动画模型以及如何基于骨骼布局来设置顶点位置。本章会介绍如下点:1.md5mesh格式2.四元素概念3.骨骼是怎样在蒙皮模型上工作的简介:由于静态的obj格式不存储动画,所以就选择了MD5格式来做这件事。虽然可以用obj格式来做混合帧动画,但对需要细致效果时,会需要很多的关键帧,而每帧都添加相同的顶点,这很消耗内存。M

2017-12-15 16:45:34 1079

原创 D3D11 包围体碰撞检测

本章节介绍如何检测两个对象之间的碰撞。将会介绍如何使用对象的包围体而非对象本身来做碰撞检测,因为这会比检测三角形与三角形的碰撞要更为简单快速。本章会构建一座由瓶子组成的金字塔,当鼠标点击屏幕时会扔出一个瓶子,若扔出的瓶子碰撞到金字塔上一个或更多瓶子时时,则扔出去的瓶子和被碰撞的瓶子都会消失,同时增加分数。简介本章是通过包围体来做两个对象之间的碰撞检测,这里会在包围球和包围盒碰撞测试之间切换。包围盒碰撞测试针对细长形对象更为准确。若是测试两个没有任何凸起的对象之间的碰撞,包围球会更为准确。这两种方式都

2017-12-14 16:28:00 1253

原创 D3D11 包围体

若场景中有上千个模型,并且每个模型有上千个三角形。若仅仅使用前一章节中的拾取方法,则完成一个拾取操作将耗时5s。在单一帧内耗时5s是让人难以接受的,因此引进了包围体方式。这里讲学习如何创建以及使用边界盒子以及边界球。边界盒子比边界球跟更为精确,但是耗时比边界球多。这里会使用之前学习过的高分辨率定时器来计算每次拾取操作的耗时。介绍:边界体用于加速类似拾取与碰撞测试操作。本章会

2017-12-13 18:49:25 525

原创 QT托盘小图标多菜单片段-ReviveOverlay

Windows Vista之后的文件打包复制重命名, QT托盘程序运行,Winspark在线升级程序

2017-12-08 17:08:24 581

原创 Python3.x 多线程

Python3.x 多线程 同步

2017-12-07 14:14:14 2462 1

原创 Python3.x 正则表达式

Python3.X 正则表达式 实例

2017-12-07 11:35:24 259

原创 Python3.x 函数实例

实例

2017-12-06 20:31:05 915

原创 Python3.x 类

Python实例

2017-12-06 20:16:42 194

原创 Python 网页爬取图片

Python 网页爬取图片 实例

2017-12-06 19:36:14 3964 5

原创 Python3.x 数据结构

#python数据结构#列表:Python列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可修改,字符串和元组不可修改#list.append(x):把一个元素添加到列表的结尾,相当于a[len(a):] = [x]#list.extend(L): 通过添加指定列表的所有元素来扩充列表,相当于a[len(a):] = L#list.insert(i, x):在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如a.insert(0,x)会插入到整个列表之前

2017-12-05 16:01:33 228

原创 Python3.x 函数

#python函数:内建函数(如print())和自定义函数#自定义一个函数,遵循如下规则:#1.函数代码块以def关键词开头,后接函数标识符名称和圆括号()#2.任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数#3.函数第一行语句可以选择性地使用文档字符串---用于存放函数说明#4.函数内容以冒号起始,并缩进#5.return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return 相当于返回None#语法:#def 函数名(参数列表):# 函数体

2017-12-05 10:59:21 316

原创 Python3.x 迭代器和生成器

#迭代器#迭代器用于访问集合元素,它可以记住遍历的位置的对象#迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往前不会后退#迭代器两个基本方法:iter()和next()#字符串,列表或元组对象都可用于创建迭代器list = [1,2,3,4]it = iter(list) #创建迭代器对象print(next(it))print(next(it))

2017-12-05 10:02:31 257

原创 python 3.x 条件控制 循环语句

#python中无do....while()循环a,b = 0,1while b < 1000: print(b, end=',') a,b = b, a+bn = 100sum = 0counter = 1while counter <= n: sum = sum + counter counter += 1print("1和%d之和为:%d" %(n, sum))

2017-12-04 19:23:08 543

原创 C++ 多线程编程 互斥量

Win10下多线程中访问公共变量时,可使用mutex类来做,头文件为mutex,实例(VS2013):

2017-12-04 15:27:09 711

Andorid电池曲线测试apk 电池曲线测试apk

Andorid电池曲线测试apk 电池曲线测试apk

2022-07-23

glfw-3.3.2.bin.WIN64.zip

These packages contain the GLFW header files, documentation and release mode static libraries, DLLs and import libraries for Visual C++ 2010-2019, MinGW-w64 and plain MinGW.

2020-04-21

Totalcmd-ax64.rar

Totalcmd 代码管理工具 64位

2020-04-09

monitorinfoview.rar

EDID读取工具 读取厂商ID PID 分辨率 串号等

2020-04-09

套件php 集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader

简单的一键部署PHP调试环境,适合初学者。集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader

2020-03-12

SPI-USB-myImu-STM32F103TB.rar

STM32F103TB ICM20948代码,已实现UART串口Log,SPI数据抓取,USB传到上位机。

2020-03-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除