自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 《Practical Rendering & Computation with Direct3D11》读书总结 Chapter-6-High Level Shading Language

Introduction在DirectX中,编写可编程Shader的时候所使用的语言为High Level Shading Language(HLSL),它是由C/C++衍生出来的一种语言,具有一些特性,它的语言风格与C语言非常相似,但是又有很大的不同。最重要的不同之处在于在HLSL中没有指针、没有C++中的template、不支持动态的内存分配。HLSL语言写出来的程序,都要在C/C++中提...

2018-07-31 17:40:14 284

原创 《Practical Rendering & Computation with Direct3D11》读书总结 Chapter-5-The Computation Pipeline

Introduction在前面已经介绍了Rendering Pipeline,而在这本书的开头就说过,Direct3D中的流水线有两个,一个是Renering Pipeline,而另一个是Computation Pipeline,它只有一个阶段,Compute Shader Stage,代表着一种叫做DirectCompute技术的实现。现在的GPU是由非常多的可以并行运行的小型处理器构成的,...

2018-07-30 20:58:37 283

原创 《Practical Rendering & Computation with Direct3D11》读书总结 Chapter-4-The Tessellation Pipeline

在前一章中有介绍到Tessellation的三个阶段:Hull Shader、Tessellation、Domain Shader,但是有一些细节是没有讲到的,这一章更加详细的讲述了跟Tessellation有关的内容。Introduction表示一个参数曲面的方式通常有两种:NURBS和SubDivisionSurfaces,前者是以数学的形式表达的曲面,具有很好的光滑性;而后者则通...

2018-07-30 15:29:43 259

原创 《Practical Rendering & Computation with Direct3D11》读书总结 Chapter-3-Direct3D 11 The Rendering Pipeline

本章是这本书最长的一章,也比较枯燥= = 这一章详细介绍了流水线各个阶段的一些细节。对于流水线的每一个环节,需要注意它的输入、配置、处理过程、输出。 下面进行逐个的总结:Input AssemblerInput Assembler(输入装配阶段)是流水线的第一个阶段,在一个流水线中,被处理的对象都是一系列的顶点,因此在这个阶段就进行将顶点的数据以流水线中规定的形式输入到流水线中。 ...

2018-07-28 22:39:34 845

原创 天空盒(SkyBox)的实现原理与细节

天空盒的原理在实时渲染中,如果要绘制非常远的物体,例如远处的山、天空等,随着观察者的距离的移动,这个物体的大小是几乎没有什么变化的,想象一下远处有一座山,即使人走进十米、百米、甚至千米,这座山的大小也是几乎不怎么改变的,这个时候可以考虑采用天空盒技术。 所谓的天空盒其实就是将一个立方体展开,然后在六个面上贴上相应的贴图,如上图所示。 在实际的渲染中,将这个立方体始终罩在摄像机的周围,让...

2018-07-26 17:26:22 59266 3

原创 《Practical Rendering & Computation with Direct3D11》读书总结 Chapter-2-Direct3D 11 Resources

这本书的第二章花了近80页的篇幅来具体介绍D3D11中的资源,并给出了一些资源创建使用的具体方法,各种资源有些非常相似而又有不同,因此很有必要做一个总结归纳。资源总览首先要明确一点,资源的本质就是内存块,这些内存块可以被GPU来读取和操控。 在第一章中已经提到了,D3D11中的资源无非就两类:Buffer和Texture,并且它们各自都有自己的子类,但不同种类的资源的本质都是相同的,...

2018-07-20 17:47:42 883

原创 BRDF·基于物理的着色技术学习总结

基于物理的着色真的不是特别好理解···在这里记录一下自己比较粗浅的认识···立体角要了解BRDF的相关内容,首先要对立体角有一定的理解。立体角是对平面角在三维空间的一个扩展。平面角就是一个顶点两条射线围成的那个角度,它的大小等于单位圆上的弧长,单位是弧度或者度,那么类比到三维空间,立体角就是从一个顶点发出的一个锥体所围成的一个三维角度,它的大小等于单位球上的面积,单位是球面度,一个单位...

2018-07-18 15:41:13 13932 2

原创 《Practical Rendering & Computation with Direct3D11》读书总结 Chapter-1-Overview Of Direct3D 11

章节概括本章主要简要描述了Direct3D的架构以及它是如何与GPU硬件交互的、简要探讨了D3D11中的Pipeline,介绍了一些组件,最后以一个简短的Direct3D初始化的例子介绍了对于Dx的初始化需要做哪些工作。1.1 Direct3D 的框架Direct3D是一套用来与显卡交流并控制显卡的Native API,并以此来渲染图像。之所以说它是Native的,是因为它被设计成可以...

2018-07-15 00:24:46 750

原创 洛谷-P2024 食物链 并查集应用

题目描述 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道 它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是“1 X Y”,表示 X 和 Y 是同类。 第二种说法是“2 X Y”,表示 X 吃...

2018-07-14 14:16:21 347 2

原创 LeetCode 10 & 44 正则表达式匹配 & 通配符匹配 字符串匹配问题

10 正则表达式匹配 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。 ‘*’ 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。 示例 1:输入:...

2018-07-13 12:35:09 1415

原创 几种凹凸贴图(Bump Mapping)的学习记录

凹凸贴图简介凹凸贴图是纹理的一种应用,它主要用来实现类似砖块、墙体的那种凹凸不平的效果,相较于一般的纹理映射,它并不是通过纹理映射来改变材质本身的颜色,而是改变或扰动其法线的方向,而法线的方向被用在光线模型中,改变法线的方向就可以影响物体表面光照的明暗效果。因此,凹凸贴图实际上是一种欺骗式的手段,它并没有改变顶点的位置,让物体本身的模型变得凹凸不平,而是影响用户的视觉效果,让用户以为模型是凹凸...

2018-07-12 21:31:58 21244 3

原创 leetcode 32 - 最长有效括号

给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()” 输出: 2 解释: 最长有效括号子串为 “()” 示例 2:输入: “)()())” 输出: 4 解释: 最长有效括号子串为 “()()”分析: 一种想法是用栈来解决括号匹配问题,这种方法可行,但我更想用DP的方法来解决。 一开始是考虑用dp[i][j] 表...

2018-07-12 11:14:52 991 2

原创 LeetCode 31 & 81 旋转数组搜索问题

31假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], target =...

2018-07-10 11:26:00 432

原创 LeetCode 18 四数之和

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[ [-...

2018-07-09 10:46:26 157

原创 LeetCode 220 Contains Duplicate III

题目大意:给定一个数组num,问是否存在|i - j| <= k 使得 |num[i] - num[j]| <= t本题直接用multiset做比较简便,由于本题存在一个范围限制,因此采用动态插入删除的方式维护一个大小不超过k的平衡二叉搜索树。注意每次新插入只需要考虑在数组中在其左侧长度为k-1的部分,不需要考虑右侧,因为假如右侧有满足要求的数,在之后的处理中是会被发现的。class ...

2018-07-08 11:13:57 114

原创 三角网格下的Half-Edge数据结构实现方法

Half-Edge结构即半边结构是图形学中一种十分重要的数据结构,许多算法都是基于这种结构实现的,从数学角度看这种结构十分容易,很好理解,而实际编码的时候似乎不是很轻松,之前写过两次都感觉写的不是很好,而网上也没有太多讲解实际编码实现的文章,所以记录一下简易的实现的步骤。本文基于三角网格实现简易的Half-Edge,并能够读取.obj的模型数据 一、结构特点最质朴的顶点+索引方式存储网格数据不能实...

2018-07-01 16:40:25 4765 5

空空如也

空空如也

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

TA关注的人

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