关于图形学的那些让人迷惑的入门概念

断断续续的也学了一些图形学和3D渲染的知识,出于对游戏的喜欢吧。

因为有一些知识是,我当时不明白,后来突然焕然大悟的,我觉得可以写出来,分享一下。大神略过。

管线?流水线

英文单词是pipeline,可以翻译成管道、管线。但是管线,这个根本不形象,甚至误导。“渲染管线”,难道是拿笔 去画一个管子?直到我看了这个单词,之前都是看中文,这个单词还可以翻译成流水线。“渲染管线”实际是指像工厂的流水线那样一套流程下来,把定点数据变成屏幕上的像素的一套流程。或者说,它想说的是流程,抓住“Render Pipeline”这个东西的本质是一套流程

UV

可乐的瓶子上有一层纸,就是那层油纸,一般饮料瓶上都有。这个纸它是二维的,而瓶子是三维的,但是,这是重点,当它们贴在一起的时候,对于瓶子上的某一点,它在纸上都有一个对应的点。

那么是不是对于任何形状的物体,我们都可以找到一张纸,可以很完美的贴到它的表面上?这个我无法确定,但可以用来理解概念,就假设真的有。假如这张纸是粘性的,可以把物体表面的点粘下来,那么把这张纸再张开成二维的,那么原本在物体表面上的点都被展开到了二维平面里,那么在这个二维的平面里就有另一套坐标系统,这个坐标就是UV。

UV有什么用?假设有一个三维物体表面的点A,它的UV坐标是(u,v),然后我给你一张图片,你按这个坐标去图片里去点,然后把这个点的颜色涂到三维物体表面的这个点A上,那么结果是什么?

想象瓶子的表面上每个点,都射出一条线,线的另一端连接到图片上他们对应的UV坐标上。然后这些线逐渐的缩短,最终,是不是这个图片就被贴到了三维物体表面上的?!

这个图就是纹理(texture)

  • 有了UV坐标,就可以把任意二维图片贴到三维物体上,所以你建模的时候,建一个空白的,然后你想要什么表面就要什么。所以“皮肤”就是这么来的。
  • UV还有一个大用处,就是动画?想象可乐瓶上的包装纸被转动时候的情况,其实就是每个点的UV同步调的发生改变。比如水面效果,先给一个水的波纹图片,然后把这个波纹图片不断的移动,看起来就像水面不断的起伏。而这个波纹图片的移动,就是不断随时间调整物体上点的UV左边。

这些东西,下个Unity,建个胶囊,搞个贴图,拖一拖UV就有直观的感觉。

法线贴图

  • 首先光照模型里要用到法线,比如漫反射模型
I_diff = K_d * ambient+ K_d * light* dot (Normal,lightDir);

K_d 是反射系数,ambient 是环境光,light是光照,Normal是法线方向,lightDir光照方向
从公式里可以看出:法线可以影响光照。

假如有一个平面A,那么它的光是均匀的,然后有另一个平面B是凹凸不平的,当我在计算A的光照的时候,我用B的法线数据,那么计算出来是什么结果?那就是把平面A掰成B那样凹凸不平的结果,是不是?

进一步,我把B的法线用一张图记下来,然后计算A的时候用这张图,那么A就拥有了B的表面光照特征。而这张图就是法线贴图。

怎么用图记下来?普通图片是什么,每个点是RGB(当然也有其他颜色空间的)的 数据,而法线是一个向量,刚好也是3个分量(xyz),那么正好把xyz存到RGB里去。那么我们得到了一张图,而这个图里每个颜色信息实际是法线信息。

然后是为什么要这么干?
假如游戏里有一堵墙,墙上是凹凸不平的砖块,要么建模的时候就是这样的,那就要费力气了,也可以实际这个墙是个极其光滑的平面,然后用一个砖块墙面的法线贴图来计算的它的光照,它就有了凹凸不平的效果。这样:1.我想换其他效果,一张图的事 2. 省去了建模的工作

打个比喻:你在一张白纸上画了一个极其逼真的坑,那个坑存在吗?不存在。你看上去是一个坑吗?是。什么地方出了问题:光照!

这个东西,追根溯源,其实就是这本身是一个操纵眼睛的技术。而性能是永远不嫌多的,能省则省,所以就有了很多的模拟

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,428评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,024评论 3 413
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,285评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,548评论 1 307
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,328评论 6 404
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,878评论 1 321
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,971评论 3 439
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,098评论 0 286
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,616评论 1 331
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,554评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,725评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,243评论 5 355
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,971评论 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,361评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,613评论 1 280
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,339评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,695评论 2 370

推荐阅读更多精彩内容

  • 本文将要介绍图形渲染管线,它被认为是实时图形学中的核心部分。图形渲染管线的主要功能是在给定了的虚拟摄像机,三维的对...
    SwordMaster阅读 15,148评论 0 19
  • 我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。在...
    自由的天空阅读 12,400评论 0 12
  • 【引言】 上一篇谈到C4D的凹凸贴图及其应用。最后说道,在现实使用中,尤其是在游戏引擎中,很少有使用凹凸贴图...
    DIGITALMAN阅读 40,318评论 19 190
  • <转>我也忘了转自哪里,抱歉,感谢原作者 什么是Shader Shader(着色器)是一段能够针对3D对象进行操作...
    星易乾川阅读 5,614评论 1 16
  • 十八岁的时候所感所想记下了一些矫情的东西,现在看来也不是不能读,而且发现过了这么多年,我以为自己的心境发生了巨大改...
    BKLZY阅读 335评论 0 0