自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 向量几何在游戏编程中的使用六

转载自: https://blog.csdn.net/popy007/article/details/376952 一、空间坐标系的基和基矩阵在3-D空间中,我们用空间坐标系来规范物体的位置,空间坐标系由3个相互垂直的坐标轴组成,我们就把它们作为我们观察3-D空间的基础,空间中物体的位置可以通过它们来衡量。当我们把这3个坐标轴上单位长度的向量记为3个相互正交的单位向量i,j,k,空间中每...

2019-02-07 19:40:19 483

转载 向量几何在游戏编程中的使用五

转载自: https://blog.csdn.net/popy007/article/details/376948 欢迎回来这里!此次我们要讨论向量的旋转问题,包括平面绕点旋转和空间绕轴旋转两部分。对于游戏程序员来说,有了向量的旋转,就代表有了操纵游戏中物体旋转的钥匙,而不论它是一个平面精灵还是一组空间的网格体亦或是我们放在3-D世界某一点的相机。我们仍需借助向量来完成我们此次的旅程,但...

2019-02-07 19:37:34 262

转载 向量几何在游戏编程中的使用四

转载自: https://blog.csdn.net/popy007/article/details/376944 这次我要分析两个球体之间的碰撞响应,这样我们就可以结合以前的知识来编写一款最基本的2-D台球游戏了,虽然粗糙了点,但却是个很好的开始,对吗?一、初步分析中学时候上物理课能够认真听讲的人(我?哦,不包括我)应该很熟悉的记得:当两个球体在一个理想环境下相撞之后,它们的总动量...

2019-02-07 19:35:44 174

转载 向量几何在游戏编程中的使用三

转载自: https://blog.csdn.net/popy007/article/details/376941 一、使用向量进行障碍检测的原理上次说了使用向量模拟任意角度的反弹,这次谈谈它的前提---障碍碰撞。在游戏中进行障碍碰撞检测,基本思路是这样的:给定一个障碍范围,判断物体在这次移动后会不会进入这个范围,如果会,就发生碰撞,否则不发生碰撞。在实际操作中,是用物体的边界来判断还...

2019-02-07 19:33:26 175

转载 向量几何在游戏编程中的使用二

转载自: https://blog.csdn.net/popy007/article/details/376937 第一次我说了一下向量知识的基础内容和一点使用技巧,浅显的展示了它在游戏编程中的作用。这次深入一些,充分利用向量的性质模仿一个物理现象。首先,我要介绍一下将要使用的两个基本但非常重要的技巧。一、求与某个向量a正交的向量b 根据向量内积的性质以及正交向量之间的关系,有:设a...

2019-02-07 19:31:40 178

转载 向量几何在游戏编程中的使用一

转载自: https://blog.csdn.net/popy007/article/details/376934 Andre Lamothe说:“向量几何是游戏程序员最好的朋友”。一点不假,向量几何在游戏编程中的地位不容忽视,因为在游戏程序员的眼中,显示屏幕就是一个坐标系,运动物体的轨迹就是物体在这个坐标系曲线运动结果,而描述这些曲线运动的,就是向量。使用向量可以很好的模拟物理现象以及...

2019-02-07 19:27:05 238

转载 深入探索3D拾取技术

转载自: https://blog.csdn.net/popy007/article/details/8477484 在游戏中,玩家需要通过点击2D屏幕来选择3D物体,这个过程就是拾取(picking)。拾取是3D游戏必不可少的基本操作,它实现了玩家和游戏世界内对象的交互。虽然拾取技术很基本,但它却迷惑了很多3D初学者。很多朋友都问过我关于拾取的细节问题,这让我觉得很有必要具体探讨...

2019-02-07 18:53:31 329

转载 关于投影平面变换到viewport后多边形的失真问题

转载自: https://blog.csdn.net/popy007/article/details/8363192 在《深入探索透视投影变换》(http://blog.csdn.net/popy007/article/details/1797121)一文中,我们曾经简单提到多边形从投影平面变换到视口之后可能产生失真问题。很多朋友跟我说不太理解该问题产生的原因,下面我们就来简单探讨一下(...

2019-02-07 18:51:42 214

转载 深入探索透视纹理映射(下)

转载自: https://blog.csdn.net/popy007/article/details/5570803 在上一篇文章中,我们探讨了学习透视纹理映射所需要的基础知识。我们知道了顶点在通过透视投影变换之后,是如何一步一步通过流水线进入屏幕空间的。也知道了一个非常简单的三角形扫描线转换算法,以及通过线性插值实现的仿射纹理映射。尽管我们使用的这个流程非常的直接、简洁,还有大量的细节...

2019-02-06 13:59:50 348

转载 深入探索透视纹理映射(上)

转载自: https://blog.csdn.net/popy007/article/details/5556639 在这篇文章中,我们将探讨图形流水线中另一个复杂的主题——透视纹理映射(Perspective Texture Mapping)。你可能听说过仿射纹理映射(Affine Texture Mapping)(没听过?没关系,我会让你理解的),并且知道在大多数情况下仿射的已经足够...

2019-02-06 13:54:26 295

转载 推导相机变换矩阵

转载自: https://blog.csdn.net/popy007/article/details/5120158 一些网友写信给我希望能够了解固定流水线中世界空间到相机空间变换矩阵的具体推导过程。其实之前我在《向量几何在游戏编程中的使用6》中已经简单的把相机变换作为一个使用基理论的例子进行了说明,但可能仍然不够具体。这篇文章中,我会尽力阐述相机变换的整个来龙去脉。希望能够对正在学习固...

2019-02-06 13:50:37 356

转载 推导正交投影变换

转载自: https://blog.csdn.net/popy007/article/details/4126809 之前我们在《深入探索透视投影变换》以及《深入探索透视投影变换(续)》中研究了OpenGL、D3D以及M3G的透视投影变换的原理以及生成方法。这些方法在当前的主流图形API中得到了普遍使用。但关于投影应用,还有一类经常使用的投影方式需要我们深入理解——正交投影,我们在本篇文...

2019-02-06 13:48:57 662

转载 深入探索透视投影变换(续)

转载自: https://blog.csdn.net/popy007/article/details/4091967 在上一篇文章中我们讨论了透视投影变换的原理,分析了OpenGL所使用的透视投影矩阵的生成方法。正如我们所说,不同的图形API因为左右手坐标系、行向量列向量矩阵以及变换范围等等的不同导致了矩阵的差异,可以有几十个不同的透视投影矩阵,但它们的原理大同小异。这次我们准备讨论一下...

2019-02-06 13:46:36 181

转载 深入探索透视投影变换

转载自: https://blog.csdn.net/popy007/article/details/1797121 透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入...

2019-02-06 13:40:34 169

转载 C for Graphic:UnityCG内置详解(一)

转载自: https://blog.csdn.net/yinhun2012/article/details/86691336 考虑到后面需要写一些更高级复杂的shader,所以这段时间就来一些图形渲染原理以及源码讲解。      主因是昨天晚上写完一个游戏中常用的shader范例,准备写详细注释和讲解博文的时候,发现涉及到的知识点太多了,不得不优先来说明(...

2019-02-06 11:05:44 280

转载 C for Graphic:uv动画特效

转载自: https://blog.csdn.net/yinhun2012/article/details/86644470 最近程序中要最做一个闪电鞭的效果,我用的uv操作实现的,话说操作纹理的uv,能实现的效果实在是太多了,比如最经典的序列帧动画。     大家都用过ngui吧我相信?我记得很以前老版本的ngui是没有直接提供uv动画功能类的,那时候我...

2019-02-06 11:03:28 232

转载 C for Graphic:网格边缘特效

转载自: https://blog.csdn.net/yinhun2012/article/details/86592714 这一篇来讲一下网格边缘特效的实现,也算是很常用的着色效果,不论是三维游戏还是应用,对物体边缘凸显这个功能算是“硬需求”了。      不同于上一篇的“外描边”,这一我们要实现的是“内边缘”,也就是说不是通过对顶点进行扩展操作,也是...

2019-02-06 11:01:32 151

转载 C for Graphic:网格描边特效

转载自: https://blog.csdn.net/yinhun2012/article/details/86537500 实际上如果我们完整经历过之前的学习,可以说shader着色器对于大家来说完全就算入门了。后面的着色器效果实现,可以自行研究,或看书或看源码等学习。      之后呢我会持续更新一些常用、炫酷的shader实现,从简单到复杂,从单一到...

2019-02-06 11:00:06 315 1

转载 C for Graphic:法线映射

转载自: https://blog.csdn.net/yinhun2012/article/details/84821626 最近现实中事情太多了,都隔了好长时间没更新博客了,不管怎么样,一个人一生真正的爱好不多,既然发现一个自己热爱的东西,那么还是要坚持下去的。       继续回归CG着色知识学习。      ...

2019-02-05 12:09:35 193

转载 C for Graphic:屏幕空间(屏幕坐标系)技术①

转载自: https://blog.csdn.net/yinhun2012/article/details/83992907 这篇博文是为了补充前面遗漏的细节技术,之前我们学习了图形流水线(渲染流程),我们在CG shader代码中常用的图形流程就处理到了MVP变换,也就是只处理了顶点源坐标变换到裁剪空间的过程,但是后续裁剪空间到各个不同显示设备空间的过程被忽略了,这是因为nvidiaC...

2019-02-05 12:07:37 775

转载 C for Graphic:语言(实时反射)

转载自: https://blog.csdn.net/yinhun2012/article/details/83900574 之前我们学习过环境反射,是一种基于理想情况下的实现,根据反射向量采样环境盒子的纹理像素,这是一种向运行性能妥协的折中办法,同时采样的像素颜色值也只局限于预先设置好的环境盒子的六面贴图,并非实时反射。       这次我们就...

2019-02-05 12:06:07 188

转载 C for Graphic:语言(环境反射①)

转载自: https://blog.csdn.net/yinhun2012/article/details/82932930 之前我们学习了一系列CG shader制作效果,主要围绕的是vertex顶点和frag片段函数能做的一些"动态"的事情,比如顶点位移啊,像素插值变化啊什么的,这些都属于一种主观的状态变化,什么意思呢?通俗一点来说就是CG shader所作用的物体,自发的在变化着,...

2019-02-05 12:04:37 182

转载 C for Graphic:语言(插值动作②)

转载自: https://blog.csdn.net/yinhun2012/article/details/82876373 上一篇我们为学习插值动作原理做了准备,也就是创建了需要进行插值补间的三个角色网格动作(站立、拍翅、收翅),这一篇我们就来讨论如何将这些网格动作处理成shader能使用的数据,同时使用权重weight值进行动作之间的插值补间,最后输出成完整的角色动作。 ...

2019-02-05 12:03:18 196 1

转载 C for Graphic:语言(插值动作①)

转载自: https://blog.csdn.net/yinhun2012/article/details/82835549 之前我们写了一个简单的“翻书”动画,假如小伙伴是按顺序看博客的话,我觉得基本上算是CG shader入门了,那么对于CG shader的语法写法和含义都有大致了解,相比于以前看着代码一脸茫然的状态,我们算是渡过了“雪中送炭”的阶段,后面的继续学习CG shader...

2019-02-05 12:01:56 204 1

转载 C for Graphic:语言(动画)

转载自: https://blog.csdn.net/yinhun2012/article/details/82797025 之前我们依次学习了vertex顶点和fragment片段函数分别能做些什么事情,这次我们就综合一下,实现一个带有vertex顶点和fragment片段函数的完整的CG shader看下效果。        比如我喜欢看书,...

2019-02-05 12:00:12 221

转载 C for Graphic:语言(frag操作)

转载自: https://blog.csdn.net/yinhun2012/article/details/82784369 之前我们随便尝试了下vertex顶点函数能干些什么稀奇古怪的事情,本质上来说就是让我们开发者自己写代码操作顶点变换。这一篇就看看frag片段函数能干什么!如果看过前面的博客(当然我的意思是肯定要按顺序看前面的博客的),那么也就知道frag片段函数在图形流水线中,需...

2019-02-05 11:58:42 358

转载 C for Graphic:语言(vertex操作)

转载自: https://blog.csdn.net/yinhun2012/article/details/82752910 之前我们非常详细的学习了unity CG shader每一句代码的含义,以及其上下文渲染流程环境,同时也随便讲了几个简单的内置函数比如tex2D等意义,相信小伙伴们基本上对unity CG shader有明确的理解了,用通俗的话来说就是心里有了数。  ...

2019-02-05 11:56:58 1270

转载 C for Graphic:语言(逐句理解)

转载自: https://blog.csdn.net/yinhun2012/article/details/82586162 之前我们通过观察一个最简单的CG shader,详细的学习了CG shader关键代码的运行机制,这一篇我们就要通过unity引擎的shader上下文环境,观察并理解其他细节代码的作用。        首先贴上CG ...

2019-02-05 11:54:48 515

转载 C for Graphic:语言(vertex&fragment含义)

转载自: https://blog.csdn.net/yinhun2012/article/details/82422248 这次我们就通过观察一个简单的CG shader,跟小时候学习文言文咬文嚼字一样,逐句理解这个CG shader的意义,代码如下:    struct app2vert{ float2 pos : POSITION;}; stru...

2019-02-04 20:38:13 342

转载 C for Graphic:语言(简介)

转载自: https://blog.csdn.net/yinhun2012/article/details/81977951 这一篇专栏主要是详细讲解CG语言的,类似市面上那种c# step by step,c++ 从入门到入土,mysql从删库到跑路什么的最基础的讲解,不同于市面上专业书籍的是:在学习理解CG的同时,我会掺杂一些个人见解,主要是为了更加形象的表达。  &n...

2019-02-04 20:35:32 217

转载 入门图形学:光照模型(五)

转载自: https://blog.csdn.net/yinhun2012/article/details/81870248 之前我们详细的学习了怎么使用unity buildin的标准光照模型,给我们的shader指定这个标准光照模型,然后观察呈现出什么样的效果。        具体做法就是添加一个预编译指令:    &...

2019-02-04 20:32:37 650

转载 入门图形学:光照模型(四)

转载自: https://blog.csdn.net/yinhun2012/article/details/81061129 上一篇我们用cg中比较常见的vertex fragment函数去实现了通用光照模型的效果,功能和效果虽然很详细的实现了,但是从代码复用性来讲,不那么友好,这次就按照unity cg编译器的规范去实现一个通用光照模型的函数。   &...

2019-02-04 20:28:59 308 1

转载 入门图形学:光照模型(三)

转载自: https://blog.csdn.net/yinhun2012/article/details/80924102 之前两篇博客,我们学习了一般光照模型对物体颜色的作用公式,如下:       surfaceColor = emissive + ambient + diffuse + specular;...

2019-02-04 20:27:25 282

转载 入门图形学:光照模型(二)

转载自: https://blog.csdn.net/yinhun2012/article/details/80912620 前面我们谈到了光照作用最终表面颜色公式,如下:        surfaceColor = emissive + ambient + diffuse + specular;   &nbsp...

2019-02-04 20:25:23 395

转载 入门图形学:光照模型(一)

转载自: https://blog.csdn.net/yinhun2012/article/details/80654923 之前我们了解了渲染管线的流程,基本上知道了一个图形是如何从一串串二进制数据最终变成显示器上的图案的,但是其中一个很重要的过程我们并没有详细讲解,就是光照的过程。        前面在图形学原理(三)中讲...

2019-02-04 20:19:52 400 1

转载 入门图形学:图形学原理(四)

转载自: https://blog.csdn.net/yinhun2012/article/details/80218734 之前我们学习完图形显示整个流程,对其整个过程有了大致了解,不过依旧有几处知识点不胜明了,比如“顶点变换”的机器把顶点位置变换到屏幕位置的过程,当几何数据经过图形流水线时,图形处理器的顶点处理器变换这些顶点到不同的坐标系统,每个坐标系统都有其特殊的意义,首先来一个...

2019-02-04 20:18:21 272

转载 入门图形学:图形学原理(三)

转载自: https://blog.csdn.net/yinhun2012/article/details/80015565 之前我们了解了计算机图形显示所需要的两个重要硬件(显示器和GPU),现在我们就来学习下到底GPU是怎么把应用数据处理好并输出给显示器进行图形显示的。        目前我们只能浅层次的了解图形显示的这个...

2019-02-04 20:15:29 479

转载 入门图形学:图形学原理(二)

转载自: https://blog.csdn.net/yinhun2012/article/details/79984729 这篇我们了解一下“显示处理器”,也称为GPU,显卡,视觉处理器等等,也就是做图像处理工作的微处理器芯片。我们对显卡应该不陌生,毕竟我们玩游戏都需要购买显卡,那么选购显卡就成了需要考虑的问题,即想价格便宜又想性能高,价格看下标价就行了,性能就不那么好判断了,我们必...

2019-02-04 20:13:33 253 1

转载 入门图形学:图形学原理(一)

转载自: https://blog.csdn.net/yinhun2012/article/details/79865679 前面我们闲聊谈到作为一个准备长期坚持在研发道路上的程序员,怎么样才能保证自己所学的知识属于持久长存的,而不至于在新老交替的时候淘汰掉。那么什么知识属于保质期长久的呢?其中就谈到了理论,也就是也就是原理,或者说事物的本质。图形学也是遵循其原理衍生而来的,从这里开始...

2019-02-03 16:43:21 3020

转载 辅助工具:rectangle拓扑网格创建

转载自: https://blog.csdn.net/yinhun2012/article/details/79746706 入门图形学之辅助工具是我个人对一些学习主线程之外的相关知识的单独分类讲解,因为有些知识在学习图形学过程中属于辅助程序知识,这些知识虽然和数学以及图形学知识并没有串联关系,但是大部分时候我们整个图形学学习中都会偶尔用到,所以我独立开出一个分类也就是“入门图形学之辅...

2019-02-03 16:40:51 278

空空如也

空空如也

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

TA关注的人

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