自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (11)
  • 收藏
  • 关注

原创 计算几何07_NURBS曲线与曲面

B样条方法在表示与设计自由曲线曲面时展现出强大的威力,但在设计与表示初等曲线曲面时却遇到了麻烦。因为B样条曲线、及其特例的Bezier曲线都不能精确表示除抛物线以外的二次曲线弧,B样条曲面、及其特例的Bezier曲面都不能精确表示除抛物面以外的二次曲面,而只能给出近似表示。解决这一问题的途径是改进现有的B样条方法,在保留描述自由曲线曲面长处的同时,扩充其表示二次曲线弧与二次曲面的能力,这种方法就是有理B样条方法。一、NURBS曲线的定义及几何性质二、权因子对NURBS曲线形状的影响三、NURBS曲线的

2021-01-23 14:39:05 20

原创 计算几何06_B样条曲面

B样条曲线与曲面

2021-01-17 11:33:44 20

原创 计算几何05_B样条曲线

首先我们应该来了解一下为什么要有B样条曲线,主要原因是因为Bezier曲线的不足:1.确定了控制多边形的顶点个数,也就确定了曲线的次数;2.控制多边形与曲线的逼近程度较差,次数越高,逼进程度越差;3.曲线不能局部修改,调整某一控制点将影响到整条曲线,原因是伯恩斯坦基函数在整个[0,1]区间内有支撑,所以曲线在区间内任何一点的值都将受到全部顶点的影响,调整任何控制点的位置,将会引起整条曲线的改变;4.Bezier曲线的拼接比较复杂。为了保留Bezier方法的优点,仍采用控制顶点定义曲线。改用B.

2021-01-16 18:00:51 28

原创 计算几何04_Bezier曲线与曲面

一、Bezier曲线1.1 Bezier曲线定义给定n+1个控制点Pi(i=0,1,2,…,n),则n次Bezier曲线定义为:式中,t∈[0,1],Pi(i=0,1,2,…,n)是控制多边形的n+1个控制点。Bi,n(t) 是Bernstein多项式,称为Bernstein基函数,其表达式为:式中(i=0,1,2,…,n)。从式中可以看出:Bezier曲线是控制多边形的控制点关于Bernstein基函数的加权和。Bezier曲线的次数为n,则需要n+1个控制点来定义。在实际应用中,二次B.

2021-01-10 13:30:01 37

原创 计算几何03_三次参数样条曲线与Cardinal曲线

一、三次参数样条曲线三次样条曲线的唯一缺点就是缺乏几何不变形。即当型值点发生几何变换时不能保证参数递增。因此提出了以弦长为参数的三次参数样条曲线。1.1 定义已知n个型值点Pi(xi, yi), i = 1, 2,…, n且相邻型值点不重合;若 p(t) 满足下列条件:(1)型值点Pi在函数 p(t) 上。(2)p(t) 在整个区间[P1, Pn]上二阶连续可导。(3)在每个子区间[Pi, Pi+1], i = 1, 2,…, n-1上,分段函数 p(t) 都是参数t的三次多项式。则称函.

2021-01-09 12:12:16 61

原创 计算几何02_三次样条曲线

一、样条样条(Spline)函数是由舍恩伯格于1946年提出的。样条是富有弹性的细木条或有机玻璃条,它的作用相当于“万能”曲线板。早期船舶、汽车、飞机放样时用铅压铁压住样条,使其通过一系列型值点,调整压铁达到设计要求后绘制其曲线,称为样条曲线。这样设计曲线的方法在20世纪六七十年代得到了广泛应用。二、几何连续性2.1 连续性条件通常单一的曲线段或曲面片难以表达复杂的形状,必须将一些曲线段拼接成组合曲线,或将一些曲面片拼接成组合曲面,才能表达复杂的形状。为了保证在结合点处光滑过渡,需要满足连续性条件

2021-01-07 23:01:02 816 4

原创 计算几何01_项目搭建与鼠标绘制直线

计算几何

2021-01-03 21:28:09 53

原创 OpenCV学习21_ 角点检测

角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域中,也称为特征点检测。角点通常被定义为两条边的交点,更严格地说法是,角点的局部邻域应该具有两个不同区域的不同方向的边界。而实际应用中,大多数所谓的角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。一、harris角点检测harris角点检测是一种直.

2020-12-19 11:40:26 34 1

原创 OpenCV学习20_ 反向投影与模板匹配

一、反向投影如果一幅图像的区域中显示的是一种结构纹理或者一个独特的物体,那么这个区域的直方图可以看作一个概率函数,其表现形式是某个像素属于该纹理或物体的概率。而反向投影(back projection)就是一种记录给定图像中的像素点如何适应直方图模型像素分布方式的一种方法。简单的讲,所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型去寻找图像中存在的该特征的方法。1.1 原理使用模型直方图来检测测试图像中的区域。以下是检测步骤。(1)对测试图像中的每个像素(p(i,j)),获取色调数据.

2020-12-14 21:04:31 16

原创 OpenCV学习19_ 直方图与对比

在进行物体图像和视频信息分析的过程中,我们常常会习惯于将眼中看到的物体用直方图(histogram)表示出来,得到比较直观的数据官感展示。直方图可以用来描述各种不同的参数和事物,如物体的色彩分布、物体边缘梯度模板,以及表示目标位置的当前假设的概率分布。一、直方图1.1 概述直方图广泛运用于很多计算机视觉运用当中,通过标记帧与帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变化。在每个兴趣点设置一个有相近·特征的直方图所构成“标签”,用以确定图像中的兴趣点。边缘、色彩、角度等直方图构成了可以被传递给

2020-12-12 21:35:46 27

原创 OpenCV学习18_ 图像修复

一、图像修补在实际应用中,我们的图像常常会被噪声腐蚀,这些噪声或者是镜头上的灰尘或水滴,或者是旧照片的划痕,或者由于图像的部分本身已经损坏。而“图像修复” (Inpainting),就是妙手回春,解决这些问题的良方。图像修复技术简单来说,就是利用那些已经被破坏区域的边缘,即边缘的颜色和结构,繁殖和混合到损坏的图像中,以达到图像修补的目的。如果被破坏的区域不是太大,并且在被破坏区域边缘包含足够多的纹理和颜色,那么图像修补技术可以很好地恢复图像。当然,当图像损坏区域过大时,我们“妙手回春”的能力也是有限的.

2020-12-12 07:52:05 44

原创 OpenCV学习17_ 分水岭算法

一、分水岭算法在许多实际运用中,我们需要分割图像,但无法从背景图像中获得有用信息。分水岭算法(watershed algorithm)在这方面往往是非常有效的。此算法可以将图像中的边缘转化成“山脉”,将均匀区域转化为“山谷”,这样有助于分割目标。分水岭算法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明:在每一

2020-12-10 22:15:49 14

原创 OpenCV学习16_图像的矩

一、图像的矩矩函数在图像分析中有着广泛的应用,如模式识别、目标分类、目标识别与方位估计、图像编码与重构等。一个从一幅数字图形中计算出来的矩集,通常描述了该图像形状的全局特征,并提供了大量的关于该图像不同类型的几何特性信息,比如大小、位置、方向及形状等。图像矩的这种特性描述能力被广泛地应用在各种图像处理、计算机视觉和机器人技术领域的目标识别与方位估计中。一阶矩与形状有关,二阶矩显示曲线围绕直线平均值的扩展程度,三阶矩则是关于平均值的对称性的测量。由二阶矩和三阶矩可以导出一组共7个不变矩。而不变矩是图像的统.

2020-12-08 21:19:22 29

原创 OpenCV学习15_图像物体凸包及轮廓包围

一、物体凸包凸包(Convex Hull)是一个计算几何(图形学)中常见的概念。简单来说,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它是能包含点集中所有点的。理解物体形状或轮廓的一种比较有用的方法便是计算一个物体的凸包,然后计算其凸缺陷(convexity defects),很多复杂物体的特性能很好地被这种缺陷表现出来。1.1 寻找凸包: convexHull()函数convexHull()函数用于寻找图像点集中的凸包,其原型声明如下。C++: void convexHul.

2020-12-06 10:46:22 54

原创 OpenCV学习14_图像轮廓查找及绘制

一、查找轮廓查找一个轮廓一般对应一系列的点,也就是图像中的一条曲线。其表示方法可能根据不同的情况而有所不同。在OpenCV中,可以用findContours()函数从二值图像中查找轮廓1.1寻找轮廓: findContours()函数findContours()函数用于在二值图像中寻找轮廓。C++: void findcontours (InputoutputArray image, OutputArrayofArrays contours, OutputArray hierarchy, int .

2020-12-05 13:42:04 25

原创 OpenCV学习13_仿射变换与直方图均衡

一、仿射变换仿射变换(Affine Transformation或Affine Map),又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。它保持了二维图形的“平直性”(直线经过变换之后依然是直线)和“平行性”(二维图形之间的相对位置关系保持不变,平行线依然是平行线,且直线上点的位置顺序不变)。一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移)的形式。那么,我们能够用仿射变换来表示如下三种常见的变换形式:旋转, rota

2020-12-02 23:15:51 20

原创 OpenCV学习12_霍夫变换与重映射

一、霍夫变换在图像处理和计算机视觉领域中,如何从当前的图像中提取所需要的特征信息是图像识别的关键所在。在许多应用场合中需要快速准确地检测出直线或者圆。其中一种非常有效的解决问题的方法是霍夫(Hough)变换,其为图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。最基本的霍夫变换是从黑白图像中检测直线(线段)。本部分就将介绍OpenCV中霍夫变换的使用方法和相关知识。1.1 霍夫线变换我们知道,霍夫线变换是一种用来寻找直线的方法,在使用霍夫线变换之前,首先要对图像进行边缘检测.

2020-11-29 11:55:23 12

原创 OpenCV学习11_边缘检测

本部分,我们将一起学习OpenCV中边缘检测的各种算子和滤波器-Canny算子、Sobel算子、Laplacian算子以及Scharr滤波器。一、边缘检测步骤在具体介绍之前,先来一起看看边缘检测的一般步骤。1.【第一步】滤波边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有高斯滤波,即采用离散化的高斯函数产生一组归一化的高斯核,然后基于高斯核函数对图像灰度矩阵的每一点进行加权求和。2.【第二步】增强

2020-11-28 18:13:28 64

原创 OpenCV学习10_图像minmap与阈值化

一、图像金字塔(minmap)我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果要放大或者缩小图片的尺寸,笼统来说,可以使用OpenCV提供的如下两种方法。resize函数。这是最直接的方式pyrUpo), pyrDown()函数。即图像金字塔相关的两个函数,对图像进行向上采样和向下采样的操作。pyrUp、pyrDown其实和专门用作放大缩小图像尺寸的resize在功能上差不多,披着图像金字塔的皮,说白了还是在对图像进行放大和缩小操作。另外需要指出的是, pyrUp, pyrDown在Ope.

2020-11-28 11:50:55 30

原创 OpenCV学习09_图像漫水填充

一、基本思想所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色 ,这是个非常有用的功能,经常用来标记或者分离图像的部分进行处理或分析。漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或者只处理掩码指定的像素点。以此填充算法为基础,类似PhotoShop的魔术棒选择工具就很容易实现了。漫水填充(FloodFill)是查找和种子点连通的颜色相同的点,魔术棒选择工具则是查找和种子点连通的颜色相近的点,把和初始种子像素颜色相近的点压进栈做为新种子。在OpenCV

2020-11-23 23:23:41 23

原创 OpenCV学习08_形态学滤波

形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中的形态学,往往指的是数学形态学。下面一起来了解数学形态学的概念。数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等。简单来讲,

2020-11-22 22:22:32 16

原创 OpenCV学习07_图像线性与非线性滤波

图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段,而在较高频段,有用的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。图像滤波的目的有两个:一个是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。而对滤波处理的要求也有.

2020-11-21 23:05:59 22

原创 OpenCV学习06_离散傅里叶变换

一、时域和频域1.1 时域 时域(时间域)——自变量是时间,即横轴是时间,纵轴是信号的变化。其动态信号x(t) 是描述信号在不同时刻取值的函数。图1是正弦波的时域图,示出了振幅与时间的关系。在时域图中,横轴是时间,纵轴是振幅。时域图显示振幅随时间的变化,可以看出峰值振幅为5V,可以算出频率f=6 Hz。1.2 频域 频域(频率域)——自变量是频率,即横轴是频率,纵轴是该频率信号的幅度,也就是通常说的频谱图。下面是图文讲解:图2是图1中正弦波的频域图。在频域图中,横轴是频率,纵轴

2020-11-21 12:32:00 58

原创 OpenCV学习05_图像混合与对比度、亮度调整

一、图像混合1.1 ROI线性混合1.1.1 ROI在图像处理领域,我们常常需要设置感兴趣区域(ROI, region of interest),来专注或者简化工作过程。也就是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点。我们圈定这个区域,以便进行进一步处理。而且,使用ROI指定想读入的目标,可以减少处理时间,增加精度,给图像处理来带不小的便利。定义ROI区域有两种方法:第一种是使用表示矩形区域的Rect,它指定矩形的左上角坐标(构造函数的前两个参数)和矩形的长宽(构造函数的后两个参数

2020-11-19 23:52:50 27

原创 OpenCV学习04_core组件入门及颜色空间缩减与访问

一、core组件入门1.1 ellipse()函数//-------------------------------【DrawEllipse( )函数】--------------------------------// 描述:自定义的绘制函数,实现了绘制不同角度、相同尺寸的椭圆//-----------------------------------------------------------------------------------------void DrawEllipse(Ma

2020-11-17 23:32:39 41 1

原创 OpenCV学习03_HighGUI图形用户界面

一、图像的载入、显示和输出到文件1.1 Mat类简析Mat类是用于保存图像以及其他矩阵数据的数据结构,默认情况下其尺寸为0,我们也可以指定其初始尺寸,比如定义一个Mat类对象,就要写cv:Mat pic(320,640,cv:Scalar(100) );1.2 图像的载入与显示在OpenCV中,最简单的图像载入和显示只需要两句代码,非常便捷。这两句代码分别对应了两个函数,它们分别是imread()以及imshow()。1.2.1 imread()函数首先来看imread函数,其用于读取文件中的.

2020-11-15 19:10:04 34

原创 OpenCV学习02_图像与视频的基本处理

一、图像处理#include <opencv2/highgui/highgui.hpp> //highgui模块头文件#include <opencv2/imgproc/imgproc.hpp> //图像处理头文件1.1 腐蚀如何用OpenCV实现最基本的形态学运算之–腐蚀,即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。int main(){ //载入原图 Mat srcImage = imread("F:\\CV\\LearnCV\\files\\mal

2020-11-15 11:17:44 28

原创 OpenCV学习01_VS17+Win10环境配置

今天开始,不间断学习下OpenCV对图形的处理。一、下载opencv安装包1.1 官网下载官网地址:https://opencv.org/releases/选择对应版本的cv文件,下载即可(注:外网下载很慢可镜像下载或到我的资源中下载我下载好的opencv-3.4.1-vc14_vc15.exe文件)。二、安装OpenCV双击下载好的或者拷好的安装包,选择解压路径后点Extract即可完成解压,解压后会自动生成一个opencv的文件夹,如下图:三、配置系统变量(WIN10)3.1 我的电

2020-11-14 23:35:12 16

原创 Vulkan_基于子通道带前向透明的延迟渲染

延迟渲染具体概念就不具体详述了,有兴趣的可以知乎一堆,我们本部分主要基于Vulkan_输入附件与子通道的理论基础上来实现延迟渲染并且在整个场景基础上使用透明通道来解决延迟渲染中正向的透明。一、Vulkan理论基础许多图形api在每帧上有多个通道,或者可以将渲染细分为多个逻辑阶段。vk也是将此引入其核心操作,提供单个对象,用于多通道渲染。我们首先来熟悉下创建渲染通道时的结构体:typedef struct VkRenderPassCreateInfo { VkStructureType

2020-11-09 00:48:26 64

原创 Graphics_过度绘制(OverDraw)优化

本文主要参照《Real-Time Rendering》相关内容。early-z、z-cull、hi-z、z-perpass这四种技术本质上都是解决传统渲染管线中的同一个问题——过度绘制(OverDraw) 。一个经典的渲染管线通常会依次经历顶点阶段、光栅化、片元阶段和逐像素处理。其中片元阶段会进行复杂的光照计算,是整个管线的性能瓶颈。而在逐像素阶段会对计算出来的片元值进行各种测试以判断这个片元会不会最终显示到屏幕上。这就带来了一个矛盾:明明我在片元阶段花费了最大的力气计算出结果,但马上的逐像素阶段就可能将

2020-11-03 22:14:04 49

原创 DirectX11进阶9_AO、SSAO、Particle System(GPU)

一、环境光遮蔽(AO)由于性能的限制,实时光照模型往往会忽略间接光因素(即场景中其他物体所反弹的光线)。但在现实生活中,大部分光照其实是间接光。在第7章里面的光照方程里面引入了环境光项:其中颜色AL表示的是从某光源发出,经过环境光反射而照射到物体表面的间接光总量。漫反射md则是物体表面根据漫反射率将入射光反射回的总量。这种方式的计算只是一种简化,并非真正的物理计算,它直接假定物体表面任意一点接收到的光照都是相同的,并且都能以相同的反射系数最终反射到我们眼睛。下图展示了如果仅采用环境光项来绘制模型的情.

2020-10-29 17:30:24 83

原创 DirectX11进阶8_计算着色器(入门、流体模拟)

一、计算着色器:入门GPU通常被设计为从一个位置或连续的位置读取并处理大量的内存数据(即流操作),而CPU则被设计为专门处理随机内存的访问。由于顶点数据和像素数据可以分开处理,GPU架构使得它能够高度并行,在处理图像上效率非常高。但是一些非图像应用程序也能够利用GPU强大的并行计算能力以获得效益。GPU用在非图像用途的应用程序可以称之为:通用GPU(GPGPU)编程。GPU需要数据并行的算法才能从GPU的并行架构中获得优势,并不是所有的算法都适合用GPU来实现。对于大量的数据,我们需要保证它们都进行相

2020-10-28 19:36:54 108 1

原创 DirectX11进阶7_着色器反射机制、Normal Mapping、Shadow Mapping

一、法线贴图在很早之前的纹理映射中,纹理存放的元素是像素的颜色,通过纹理坐标映射到目标像素以获取其颜色。但是我们的法向量依然只是定义在顶点上,对于三角形面内一点的法向量,也只是通过比较简单的插值法计算出相应的法向量值。这对平整的表面比较有用,但无法表现出内部粗糙的表面。1.1 原理法线贴图是指纹理中实际存放的元素通常是经过压缩后的法向量,用于表现一个表面凹凸不平的特性,它是凹凸贴图的一种实现方式。法线贴图中存放的法向量( x , y , z ) 分别对应原来的( r , g , b )。每个像素都

2020-10-27 17:08:05 53

原创 DirectX11进阶6_静态天空盒、反射动态场景与天空盒、Render-To-Texture(Fade/MiniMap/ScreenShot)

一、静态天空盒这一章我们主要学习由6个纹理所构成的立方体映射,以及用它来实现一个静态天空盒。但是在此之前先要消除两个误区:认为这一章的天空盒就是简单的在一个超大立方体的六个面内部贴上天空盒纹理;认为天空盒的顶点都是固定的,距离起始点的位置特别远。我提出这两个误区,是因为看到有些人的作品直接贴了六个立方体,就说自己用到了天空盒技术,但是当你真正学这一章的话会发现此天空盒非彼天空盒,而且该篇教程除了天空盒的技术实现外,还有其余的一些干货值得学习,建议认真研读。在此之前还需要回顾一下里面有关纹理子资源

2020-10-26 17:42:51 160

原创 DirectX11进阶5_硬件实例化与视锥体裁剪及鼠标拾取交互

一、硬件实例化(Hardware Instancing)硬件实例化指的是在场景中绘制同一个物体多次,但是是以不同的位置、旋转、缩放、材质以及纹理来绘制(比如一棵树可能会被多次使用以构建出一片森林)。在以前,每次实例绘制(Draw方法)都会引发一次顶点缓冲区和索引缓冲区经过输入装配阶段传递进渲染管线中,大量重复的绘制则意味着多次反复的输入装配操作,会引发十分庞大的性能开销。事实上在绘制同样物体的时候顶点缓冲区和索引缓冲区应当只需要传递一次,然后真正需要多次传递的也应该是像世界矩阵、材质、纹理等这些可能会经常

2020-10-25 08:29:17 45

原创 DirectX11进阶4_公告板及场景雾效

一、场景雾效有时候我们需要在游戏中模拟一些特定的天气条件,比如说大雾。它可以让物体平滑出现而不是突然蹦出来那样(物体的一部分留在视锥体内使得只能看到该部分,然后在逐渐靠近该物体的时候,该物体就像经过了一个无形的扫描门被逐渐构造出来那样)。通过让雾在某一范围内具有一定的层次(让不可见区域比视锥体裁剪区域还近),我们可以避免上面所说的情况。但即便是晴朗的天气,你可能仍希望包含一个较广范围的雾效,即距离达到很远的地方才逐渐看不清物体。我们可以使用这种方式来实现雾效:指定雾的颜色,以摄像机为原点的雾开始的最小.

2020-10-24 16:36:08 43

原创 DirectX11进阶3_碰撞检测及obj读取与二进制缓存

一、碰撞检测在DirectX SDK中,碰撞检测的相关函数位于xnacollision.h中。但是现在,前面所实现的相关函数都已经转移到Windows SDK的DirectXCollision.h中,并且处于名称空间DirectX内。这里面主要包含了四种包围盒(Bounding Volumes),并且是以类的形式实现的:BoundingSphere类–包围球(Bounding Box)BoundingBox类–轴对齐包围盒(Axis-aligned bounding box),又称AABB盒Bo.

2020-10-23 22:50:11 70

原创 DirectX11进阶2_几何着色器及流输出运用

一、几何着色器首先用一张图来回顾一下渲染管线的各个阶段,目前为止我们接触的着色器有顶点着色器和像素着色器,而接触到的渲染管线阶段有:输入装配阶段、顶点着色阶段、光栅化阶段、像素着色阶段、输出合并阶段。可以看到,几何着色器是我们在将顶点送入光栅化阶段之前,可以操作顶点的最后一个阶段。它同样也允许我们编写自己的着色器代码。几何着色器可以做如下事情:让程序自动决定如何在渲染管线中插入/移除几何体;通过流输出阶段将顶点信息再次传递到顶点缓冲区;改变图元类型(如输入点图元,输出三角形图元);但它也有

2020-10-23 17:52:33 83

原创 DirectX11进阶1_混合与深度/模板(平面镜实现)

1

2020-10-22 20:18:40 74

原创 DirectX11_HLSL入门篇

一、 HLSL语法入门二、HLSL编译着色器的三种方法三、HLSL中矩阵的内存布局和mul函数探讨

2020-10-21 15:32:10 52

SketchUp SDK-2017.zip

2017年的sketchup 开发包,包含头文件,lib和dll。非常有用,现在已经无法从官网下载了,需要申请。

2019-07-24

三次样条插值函数求解过程

三次样条插值函数求解过程

2021-01-07

关键帧动画模型.rar

博客Vulkan_顶点着色器妙用5(关键帧动画)使用模型,三个老鹰obj模型,其中所有关键帧中顶点的数量一致,并能够形成一 一对应的关系。

2020-08-05

gltf2.0_models.rar

gltf2.0标准模型集合,学习vulkan物理渲染自用的一些模型,有需要的可以下载使用,内含50多种gltf文件

2020-05-24

Vulkan三角形到模型案例.pdf

vulkan基础编程示例(注:本人博客也根据此书在window上逐一实现了各章节代码,需要的可参照使用),以前不小心删除了,原名传不上去了,现在改名补上去

2020-05-13

Meshsimplify_C#.rar

根据网上大神C++的塌边法改的C#版本,不依赖于Unity,只要自己的数据结构中有顶点与面信息,其中uv信息用户可自行选择处理不处理对减面算法不影响,改化成程序所需的数据结构即可。(MeshDecimator类下SimplifierMesh方法为转换数据入口);

2019-07-19

MeshSimplify.rar

代码为C++语言编写,原理是使用塌边法进行三角面片简化,使得复杂模型可以Mesh得到简化,亲测VS17运行成功

2019-06-28

CMake3.11.zip

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性(适用Vulkan开发环境_配合VS15 x64使用)

2019-06-28

C#、VB、IL反编译工具_ILSpy_Master(最新).rar

ILSpy是.NET开发中必备的反编译工具,ILSpy的界面与Reflector相似,左边以树型控件显示程序集和它的类型,右边是对应的源代码。基础的反编译功能,与Reflector相比,丝毫不差,甚至有时候用Reflector无法反编译(因为加密)的程序集,用ILSpy可以反编译。

2019-06-12

NSIS 中系统特殊路径变量基础知识.pdf

NSIS 中系统特殊路径变量基础知识 列举了脚本中(32/64位)众多常用及非常用的命令变量,帮助你轻松了解NSIS中的变量

2019-06-12

RevitLookup-2019源码

For Revit2019_LookUp源码,添加19revit*.dll引用后可直接编译,使用其生成dll,也可跟踪其代码,查看lookup原理

2019-06-12

空空如也

空空如也

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

TA关注的人 TA的粉丝

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