DirectX 11 Tessellation (曲面细分)-什么是 Tessellation (曲面细分) ? 它为什么可以起到如此关键的数据? 随着近期人们对 DirectX 11 的议论纷纷,你可能已经听说了有关 DirectX 11 最大新特性 Tessellation (曲面细分) 的大量介绍.作为一个概念. Tessellation (曲面细分) 非常直截了当,就是处理一个多边形分成诸多小碎片. 可是为什么这种处理方式可以备受瞩目呢? 它是怎样帮助提升游戏画质的呢?本文中,我们将分析…
Mac OS X 10.8 (OpenGL 3.2), MacOSX 10.9 (OpenGL 3.2 to 4.1) Windows with NVIDIA since 2006 (GeForce 8), AMD since 2006 (Radeon HD 2000), Intel since 2012 (HD 4000 / IvyBridge) (OpenGL 3.2 to OpenGL 4.5) Linux (OpenGL 3.2 to OpenGL 4.5) OpenGL3.2的手机 h…
http://blog.csdn.net/huazai434/article/details/5650629 说明:该技术需要VS3.0的支持!!! 一,移位贴图类似于地形渲染.不过由于移位纹理可以做成动态的,因此,该技术可以用来模拟波涛滚滚,起伏不平的海面. 二,类似于法线贴图,移位贴图的每一个纹素中存储了一个向量,这个向量代表了对应顶点的位移. 注意,此处的纹素并不是与像素一一对应,而是与顶点一一对应,因此,纹理的纹素个数与网格的顶点个数是相等的. 在VS阶段,获取每个顶点对应的纹素中的位移…
Unity3d surface Shaderswith DX11 Tessellation Unity3d surface shader 在DX11上的曲面细分 I write this article, according to the unity3d official document, and look up some data in the web, and add to some idea by myself. 根据官方文档,并查阅了一些资料加上我个人的理解写出此文. I write…
视差贴图和法线贴图都是使用特定的手段来达到欺骗视觉的目的,让人以为物体的表面是凹凸起伏的.而置换贴图却是真的将模型的顶点进行偏移,在原本的平面上创造出凹凸的效果.既然是对顶点进行偏移,那么就需要模型有足够多的顶点数量,否则达不到比较好的效果.为了达到足以置换的顶点数量,一般会使用 Tessellation 技术来增加低模的面数.查阅了相关资料,Tessellation 是 DirectX11 才有的技术,OpenGL 要到 4.0 才能使用.对于 Tessellation 知道的并不多,再加上移…
前言 曲面细分是Direct3D 11带来的其中一项重要的新功能.它引入了两个可编程着色器阶段以及一个固定的镶嵌处理过程.简单来说,曲面细分技术可以将几何体细分为更小的三角形,并以某种方式把这些新生成的顶点偏移到合适的位置,从而以增加三角形数量的方式丰富网格细节.但为什么不在创建网格之初就直接赋予它高模(high-poly,高面数多边形)的细节呢?以下是使用曲面细分的3个理由: 基于GPU实现动态LOD(Level of Detail,细节级别).可以根据网格与摄像机的距离或依据其他因素来调整其…
http://www.myexception.cn/other/1397638.html DShader之位移贴图(Displacement Mapping) www.MyException.Cn   发布于:2013-10-08 16:38:32   浏览:37次 0   3DShader之移位贴图(Displacement Mapping) 我们知道法线贴图是只是改了物体的法线属性,用来计算光照,但是并没有改变物体本身的网格.但是移位贴图就不一样了,它会移动物体的顶点.我用移位贴图做了个海洋…
我们知道法线贴图是只是改了物体的法线属性,用来计算光照,但是并没有改变物体本身的网格.但是移位贴图就不一样了,它会移动物体的顶点.我用移位贴图做了个海洋,好了,上了图再讲: 注意看海的边缘的顶点,已经实现了移动 最后,添加了一个笛卡尔转球形坐标的函数将其转为球形坐标,到时候我会提供球形版本的源码,如果需要平面的只需要在shader将调用这个函数的语句注释掉即可. 好了,不啰嗦了,困得不行了! 类似于法线贴图,移位贴图的每一个纹素中存储了一个向量,这个向量代表了对应顶点的位移. 注意,此处的纹素并…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段 代码工程地址: https://github.com/jiabaodan/Direct12BookReadingNotes 曲面细分阶段包含渲染管线中的三个阶段,用以细分几何物体,它在顶点着色器和几何着色器之间.使用曲面细分的主要原因: 基于GPU的LOD: 物理和动画的优化,可以在低面模型上计算物理效果和动画,然后细分为高面模型用以渲染: 节…
[Displacement Mapping] Displacement Mapping(移位贴图). Normal maps的另一个应用是displacement mapping,在这个应用中,细节的增加不再是通过虚拟光照得到的,而是真正的改变模型的vertices.使用displacement mapping时,vertex沿着它的法线向量平移,该法线的值由一个displacement map指定.一个displacement map就是一个高度纹理图,只有一个通道值,并且存储了高度的大小.图…
first,I wish you a happy new year, and study in spring festival’s eve means you are hardworking,haha. I write in two languages. One passage write in Chineseone passage translate into English. My English is poor., If I write some thing wrong, welcome…
浅析DirectX11技术带给图形业界的改变(一) 浅析DirectX11技术带给图形业界的改变 前言:2009年10月23日,微软高调发布了其最新一代操作系统——Windows7,这款操作系统相对于之前的Vista系统有相当大的进步,特别核心执行效率方面得到显著改善,并且加入了DirectX 11等新技术.微软此次推出全新图形API——DirectX 11目的很明确,就是能够充分利用显卡资源,旨在游戏以及通用计算方面达到更高的执行效率.今天本文就带大家一起分析DirectX 11技术带给图形业…
CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一个不错的突破口. 本文通过阅读.翻译和扩展(https://www.opengl.org/wiki/Rendering_Pipeline_Overview)的方式,来逐步回顾总结一下OpenGL渲染管道,从而串联起OpenGL的所有知识点,并期望能在更高的层次上有所领悟. 另外,(https://w…
原文:DirectX11笔记(四)--渲染管线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article/details/78556583 前言 渲染管线 INPUT ASSEMBLER VERTEX SHADER TESSELLATION GEOMETRY SHADER RASTERIZATION PIXEL SHADER OUTPUT MERGER 结语 前言   在正式开始学习Dx11渲染之前还需要学习一个重要概…
在 OpenGL ES 2.0 上实现视差贴图(Parallax Mapping) 视差贴图 最近一直在研究如何在我的 iPad 2(只支持 OpenGL ES 2.0, 不支持 3.0) 上实现 视差贴图(Parallax Mapping) 和 位移贴图(Displacement Mapping). 经过一番研究, 搜索阅读了不少文章, 终于确定, OpenGL ES 2.0 可以支持 视差贴图, 不过暂时还没什么好办法支持 位移贴图. 因为就我目前所了解的位移贴图, 有这么两种方法来实现,…
Tessellation细分曲面技术是AMD(ATI)常年研发多代的技术,经过多年发展最终被采纳成为DX11的一项关键技术,因此历来都是宣传重点.和光线追踪不同,现在的光栅化图形渲染技术的核心是绘制大量三角形来组成3D模型,而Tessellation技术就是利用GPU硬件加速,将现有3D模型的三角形拆分得更细小.更细致,也就是大大增加三角形数量,使得渲染对象的表面和边缘更平滑.更精细. 外文名 Tessellation 含    义 AMD(ATI)常年研发多代的技术 特    点 对象的表面和…
前言 在前面的章节中,我们学到了法线贴图和曲面细分.现在我们可以将这两者进行结合以改善效果,因为法线贴图仅仅只是改善了光照的细节,但它并没有从根本上改善几何体的细节.从某种意义上来说,法线贴图只是一个光照的小把戏.接下来我们将会学习如何使用位移贴图来改善网格细节. 在此之前你需要了解如下章节: 章节 25 法线贴图 33 曲面细分阶段(Tessellation) 学习目标: 了解位移贴图 熟悉如何用曲面细分来改善网格细节 DirectX11 With Windows SDK完整目录 Github…
http://blog.sina.com.cn/s/blog_8c7d49f20102v4qm.html Patch is just an ordered list of vertices (在tessellation shader里面比较重要的概念就是这个patch,patch是一系列的顶点,OpenGL规定patch的vertex数量必须至少大于等于3) The tessellation process doesn’t operate on OpenGL’s classic geometri…
http://blog.csdn.net/soilwork/article/details/709869 Using Vertex Texture Displacement for Realistic Water Rendering(上) 分类: GPU程序设计2006-04-24 14:57 3466人阅读 评论(1) 收藏 举报 floatshader网格fftparameters游戏 最近在研究水面渲染,眼看马上要毕业交论文了,还什么都没有弄,大意了---.Tessendorf  2001…
[Parallax Mapping] Parallax mapping belongs to the family of displacement mapping techniques that displace or offset vertices based on geometrical information stored inside a texture. 1.Height Map. One way to do this is to take a plane with roughly 1…
翻译:GLSL的顶点位移贴图 翻译自: Vertex Displacement Mapping using GLSL 译者: FreeBlues 说明: 之所以选择这篇文档, 是因为现在但凡提到位移贴图(Displacement Mapping), 都要求设备支持镶嵌细分(tessellates), 但是目前大多数的移动设备都不支持这个特性, 而本文的年代比较久远(2006~2008), 那时的设备更不可能支持镶嵌细分了, 说明位移贴图并非必需镶嵌细分这个特性, 也意味着本文的实现方法可以在大多…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十九章:法线贴图 学习目标 理解为什么需要法线贴图: 学习法线贴图如何保存: 学习法线贴图如何创建: 学习法线贴图中的法向量的坐标系统是如何与物体空间的三角形的坐标系统关联的: 学习如何在顶点和像素着色器中实现法线贴图. 1 使用法线贴图的原因 找到一种方法在光滑的平面上,显示出更多的细节(比如粗糙的砖块). 如果使用曲面细分是可以增加实际的细节的,但是我们还是需要…
The new hardware tessellation feature available on Direct3D 11 video cards has great potential, but using it effectively currently requires understanding higher-order surfaces as well as a myriad of performance implications. In addition to the Window…
Welcome back! This time, we’ll look into what is perhaps the “poster boy” feature introduced with the D3D11 / Shader 5.x hardware generation: Tessellation. This one is interesting both because it’s a fun topic, and because it marks the first time in…
前面讲了球形环境映射,然而目前采用更多的是立方体环境映射.国际惯例:上图先: 1.反射: 2.折射 3.fresnel(反射+折射) 4.色散 好了,大概讲下原理, 立方体纹理我就不多讲了,它以一个3维向量(x,y,z)为输入,然后比较x,y,z的绝对值,假设X的绝对值最大,但是X是负值,那么就找到-X那一面,用Y,Z的坐标X的绝对值得到2D纹理坐标(u,v)最后用(u,v)去-X面的图片去采样, 输出最后的颜色, Which face to sample is determined by th…
经常有人问我你最近在干什么,但一句话真的很难说明白,最近两个月一直在尝试将Skin Microstructure Deformation with Displacement Map Convolution这篇论文以离线渲染的形式搬运到现有三维工具中,优先就是maya.首先非常感谢论文发表团队无私的贡献了自己的研究成果及过程,附一个论文introduce:http://gl.ict.usc.edu/Research/SkinStretch/. 概述:在cg制作中脸部写实渲染一直是体现水准的领域,随…
// 请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 切线空间(Tangent Space) 切换空间,同局部空间.世界空间等一样,是3D图形学中众多的坐标系之一.切换空间最重要的用途之一,即法线映射(Normal Mapping).关于法线映射的细节,将在下一篇文章中详细介绍.但在学习法线映射之前,深刻地理解切换空间非常重要.因此借这一篇文章来学习下它,以为后面学习法线映射.视差映射(Parallax Mapping).Displacement Mapping…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十章:阴影贴图 本章介绍一种在游戏和应用中,模拟动态阴影的基本阴影贴图算法:还有一些更复杂和效果更好的阴影算法,比如cascading shadow maps[Engel06],都是基于基本阴影算法扩展出来的. 学习目标 熟悉基本阴影贴图算法: 学习投射纹理如何工作: 找到正交投射: 理解阴影贴图锯齿问题和一些常用的修复它们的策略. 1 渲染场景深度 阴影贴图算法…
下图描述了细分的基本思想,每次细分都是在每条边上插入一个新的顶点,可以看到随着细分次数的增加,折线逐渐变成一条光滑的曲线.曲面细分需要有几何规则和拓扑规则,几何规则用于计算新顶点的位置,拓扑规则用于确定新顶点的连接关系.下面介绍两种网格细分方法:Catmull-Clark细分和Loop细分. Catmull-Clark subdivision: Catmull-Clark细分是一种四边形网格的细分法则,每个面计算生成一个新的顶点,每条边计算生成一个新的顶点,同时每个原始顶点更新位置.下图为Cat…
本文从本人的163博客搬迁至此. 想设计几个实验,既能展示NI的LabVIEW和数据采集卡的功能特点,又能够让普通电类专业本科学生可以理解,自然首先想到了<电子技术基础>课程的内容.第一个例子采用了“绘制晶体三极管输出特性曲线”的例子,原因有三:其一,作为<模拟电子技术>课程的基本内容,基本上所有电类专业的学生都学过三极管输出特性曲线:其二,这个例子既要控制基极电流和集电极电压,又要测量集电极电流,特别适合既有A/D又有D/A转换功能的数据采集卡来完成:其三,LabVIEW强大的绘…