- 博客(7)
- 资源 (17)
- 收藏
- 关注
原创 Vulkan_顶点着色器特效3(膨胀/缩小/爆炸特效)
本部分给出通过使用顶点着色器实时改变 3D 模型中顶点的位置,以实现物体吹气膨胀、萎缩、爆炸效果的案例。一、特效基本原理介绍本案例的具体开发之前,首先需要了解本节案例实现吹气膨胀特效的基本原理,如下图所示:从图中可以看出,实现膨胀特效时,由顶点着色器根据收到的参数将当前处理的顶点位置沿当前顶点的法向量方向移动一定的距离。每次处理时移动距离的大小由传入的参数控制,这样就可以非常方便地实现膨胀的效果了。二、实现了解了本案例的运行效果后,接下来简单介绍本案例的具体开发过程。由于本案例中的大部分代码与
2020-07-31 19:37:07 552
原创 Vulkan_顶点着色器特效2(模型扭曲)
本部分案例将对正方体中的顶点位置进行变换以实现软糖扭动的效果。一、基本原理介绍本案例的具体开发之前首先需要了解实现软糖扭动的基本原理,具体情况如下图所示:扭曲线框图:从扭曲线框图中可以看出,模型实际上是由很多层小矩形叠加而成。在同一帧中,随着 y 坐标的不断升高,此层的顶点绕中心轴扭曲的角度越大。因此,实现扭动软糖的效果只要将代表软糖的长方体中各层顶点的 x、 z 坐标按照一定的规则根据顶点的 y 坐标以及当前帧的控制参数进行变换即可,具体的计算思路如(扭曲原理图1)、(扭曲原理图2)与(向量旋
2020-07-30 18:58:58 328
原创 Vulkan_顶点着色器特效1(流动的水面或飘扬的红旗)
顶点着色器妙用系列—流动的水面或飘扬的红旗本部分主要介绍顶点着色器来实现流动的水面或飘扬的红旗的基本原理。基础模型框架主要是参照之前章节的Vulkan_动态地形细分(Tessellation Shader)一、基本原理介绍本案例的具体开发步骤之前首先需要了解实现旗帜飘扬的基本原理,如下图所示:从上图中可以看出,矩形的网格体由大量的小三角形组成的。这样只要在绘制一帧画面时由顶点着色器根据一定的规则变换各个顶点的位置,即可得到流动或者迎风飘动的效果。为了使流动或飘动过程比较平滑,本案例采用的是
2020-07-29 23:27:12 708
原创 Vulkan_平面反射
屏幕空间反射(SSR)屏幕空间反射是利用屏幕空间数据进行计算反射的一种技术。它通常用于创建更精细的反射,如在潮湿的地板表面或水坑。一、实现思路主要分两次进行基本的离屏渲染。第一遍将镜像的场景渲染到具有颜色和深度附件的单独帧缓冲区,第二遍从该颜色附件采样以渲染镜面。1.1 第一次渲染:离屏渲染首先先创建一个渲染通道专门提前处理离屏渲染:将镜像的镜像的场景数据存储到单独的帧缓冲区中:### 1.2 第二次渲染:采样附件在第一次离屏渲染结束后,数据会被存储到附件中,之后,在第二次渲染的时候,将数
2020-07-18 12:31:01 1848 2
原创 Vulkan_动态地形细分(Tessellation Shader)
动态地形细LOD本部分主要使用细分着色器渲染精细化地形,并以高度位移贴图区分高度纹理和根据距离逐片元视锥细分LOD。一、 数据准备基础vulkan创建的步骤及天空盒的创建不再赘述,我们主要是来看一下地形数据的创建。首先介绍一个概念: sobel滤波器:1.1 sobel滤波器sobel滤波器常用来提取灰度图像的水平边缘(水平特征)和竖直边缘(竖直特征)。它是在图像处理和计算机视觉得到广泛应用的一种图像边缘检测算法。sobel算子 :Sobel算子使用两个(3x3)矩阵来对原图进行卷积
2020-07-11 14:38:39 935
原创 随记:面向对象接口设计原则及智能指针原理(引用指数)
一、设计原则1、单一职责原则类的职责单一,对外只提供一种功能,而引起类变化的原因都应该只有一个。2、开闭原则类的改动是通过增加代码进行的,而不是修改源代码。3、里氏代换原则任何抽象类出现的地方都可以用他的实现类进行替换,实际就是虚拟机制,语言级别实现面向对象功能。4、依赖倒转原则依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程。5、接口隔离原则不应该强迫用户的程序依赖他们不需要的接口方法。一个接口应该只提供一种对外功能,不应该把所有操作都封装到一个接口中去。
2020-07-07 22:32:11 229
原创 Vulkan_曲面细分(Tessellation Shader)
曲面细分本部分我们主要来看一下图形管线中的可选功能:曲面细分。曲面细分靠近管线的最前端,紧挨着顶点着色器之后,它是以图元片(patch)作为输入:每一个都是一个用顶点表示的控制点集合,并把片段分解成更小、更简单的片元,比如点线三角形,从而以正常的方式在管线余下的阶段中渲染。曲面细分是一个管线中可灵活配置的固有功能模块,并且在它的一前一后有两个着色器阶段:表面细分控制着色器(tessellation control shader)和表面细分评估着色器(tessellation evaluation s
2020-07-04 12:14:06 1875
体积光照明算法 Physically-Based Volumetric Light Scattering
2022-03-13
Real-Time GI Using OpenGL & VXGI.pdf
2021-12-06
NURBS曲线与曲面C++源代码
2021-07-09
Meshsimplify_C#.rar
2019-07-19
CMake3.11.zip
2019-06-28
C#、VB、IL反编译工具_ILSpy_Master(最新).rar
2019-06-12
RevitLookup-2019源码
2019-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人