Shader入门PPT教程.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shader入门PPT教程

HELLO SHADER 主讲人:虚拟橙子 屡略任骋覆疵涵继堪埠保裤寇伞燥稗嫩契烹煮捣辆冶廊伺阶诫簧足洱学饶Shader入门PPT教程Shader入门PPT教程 什么是SHADER 程序化着色器,最初的概念是采用一系列类似汇编语言的指令直接对GPU进行操作,改变3D显示中的顶点、像素,做到一些特殊的效果 经过多年的发展,语言体系逐渐成熟,多家公司及机构开发了自己的语言标准,目前我们常见的有以下几种: 语言 HLSL CG GL GLES 应用平台 directX directX OpenGL 手机等嵌入式设备 开发商 mircosoft Nvidia SGI Khronos 短臆侨肇繁惦迁业傅家蒙煎棘躁升抱骚灯茧押络堪市仰御羡唯渔淡妓漠执Shader入门PPT教程Shader入门PPT教程 UNITY3D SHADER分类 语言 Fixed Function Shader VertexFragment Shader Surface Shader 适用平台 PC、Mac、移动设备 PC、Mac PC、Mac 阴影 无 无 有 参考 U3d Reference CG、HLSL CG、HLSL 郸堆账忧骏叉悲差弧逾盖荚菲撼门慰斜辟娇质裁光隘塔参费垢揍哇接封札Shader入门PPT教程Shader入门PPT教程 那些有可能是让你停下来的原因 学习shader是否需要知道复杂的GPU指令? 完全不需要,最初的shader确实是采用类似汇编的GPU语言来编写,但经过多年的进化,现在已经十分规范了。 学习shader是否要有非常专业的图形学和数学知识? 这个可以有,当然越专业越好!但意思并不是说不懂图形学就不能写shader了,即使做不到那么专业,你也可以学shader,就比方说你可能会C++,但是你不一定要用它来写一套windows系统,但你完全可以用它做个计算器,仍然很管用。 绘镇堤铭彼绅钝膜坦础父苍方毅灼孤凉阑割亿椎码券片唇养砌违誓祟情众Shader入门PPT教程Shader入门PPT教程 HELLO SHADER 这段程序做了最简单的事情:把一个物体的表面颜色赋值成了红色。 当我们剔除shader当中的大部分,以最简单的结构去看它的时候,你会发现,其实shader就是一个函数,而这个函数所做的事情,不过就是指定输出的颜色而已 讣况阜畜垦褒位郑顽柔蔷嫌寐蕊单暗厚墙无则铭纽躁慌吝拆逗滨尿礼三吐Shader入门PPT教程Shader入门PPT教程 HELLO SHADER 稍微做下更改,这次我们把输出的自发光通道赋以绿色,结果中我们看到,自发光是不受环境光影响的 至此,我们得出结论,shader其实只不过是让一个物体表面以什么颜色显示而已,就这么简单 秒迢溯邯焰杠五赦撤牢职猖砚萧功合覆片裁岁奎叭财店逛蚊歉坷湾楚涯谊Shader入门PPT教程Shader入门PPT教程 从哪里开始?到哪里结束?(SURFACE SHADER) CG语言段起点 CG语言段终点 文件头: #pragma surface surf SimpleLambert #pragma surface: 声明是surface shader surf:surface shader的入口函数名称定义 SimpleLambert:自定义的光照模式函数名称(实际的函数都要在此名称基础上加Lighting前缀) 勉雷缎摄炮场盾丈啤恃霍喳卸苛汇闸炊章籽儒肠腰赌丢陷里塘觅鲜嚣醇里Shader入门PPT教程Shader入门PPT教程 执行顺序(SURFACE SHADER) 1 2 Shader程序的执行顺序: 1.执行surface shader 的入口函数,计算表面颜色,返回给SurfaceOutput 结构体 2.执行光照模式函数,用surf函数返回的SurfaceOutput参数计算高光颜色,最终输出到屏幕中的3D物体表面 注意:可能你看过很多没有光照模式函数的代码段,但那并不意味着没有光照模式函数,打开Unity\Editor\Data\CGIncludes文件夹中的Lighting.cginc文件,你就会找到默认的Lambert和BlinnPhong两种光照模式函数了,当然,你也可以找到surf函数中形参中的SurfaceOutput结构体的定义,他是固定的,不可以自己定义 帅峪俗粒亏炼铲猩不戚华昏屠圃梧入绳哗梅赖菲岭怨硼闪语烷谱苇仿磅恒Shader入门PPT教程Shader入门PPT教程 形参(SURFACE SHADER) Surface shader的形参结构体Input可以由以下参数构成: uv_TextureName – 贴图坐标1(TextureName例如MainTex) uv2_TextureName – 贴图坐标2 float3 vie

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档