shader中常见的光照基础-漫反射
来源:互联网 发布:zepto.js 左右滑动 编辑:程序博客网 时间:2024/05/18 03:38
shader是实现各种图形效果的地方,用渲染语言cg(C for graphic)/hlsl(hight level shader language(高等级渲染语言))/glsl(open gl shader language)来实现一个渲染的流程,常用于游戏开发等等方面
其实早先实现图形渲染是通过汇编来控制硬件,但是太麻烦了,所以有一句话说得好,世界上任何东西都可以套一层封装。既然汇编语言很多人都搞不到,干脆我们把他直接干掉,大家直接学类似的高级语言就好了,所以所谓的渲染语言就来了。
上面三个渲染语言都是由不同公司出的,但是实际上也大同小异,学会一个,其他基本没什么问题了,比如nvidia的cg语言和微软的hlsl语言大部分语法基本相似。不过说实在的语法,没啥难的,关键是原理,能理解原理后,再去看语法,就简单多了。
首先一个shader的实现分很多个阶段,粗略来看比如应用阶段,几何阶段,光栅化阶段。其实这几个阶段就是对每个顶点,然后每个像素(其实是错的,但我们先这样理解)处理,然后将相邻像素合成一个片源.....最后一个图形就渲染到屏幕上去拉!
了解这个之后,我们这回从几个比较简单的例子入手
1.漫反射-光啪嗒打到物体上,然后散射出去,效果就是光打的地方比较亮,然后由亮的地方向四周慢慢变暗。。。
那么怎么实现呢?在计算机图形学有一句话,也就是看上去效果是正确的,那么它就是正确的。而且我们不可能真正按照现实物理原理去实现这个效果,不然目前计算机可吃不消。。。
0 0
- shader中常见的光照基础-漫反射
- 【Shader】一些基础常用的漫反射光照模型
- unity shader漫反射中逐像素的光照模型
- Unity Shader入门精要笔记(九):Unity 的基础光照——漫反射的实现
- unity Shader 的漫反射逐顶点的光照模型
- Unity Shader之自定义漫反射光照模型
- [Unity基础]从“漫反射光照模型”了解Unity Shader渲染原理
- 一步步学shader系列(2):环境光照diffuse漫反射光照
- unity shader学习笔记(二)——在Unity中计算漫反射光照
- 漫反射光照
- 【Unity Shader】基础光照
- XNA Shader编程教程2-漫反射光照
- Unity3D 开发之shader教程(浅谈光照之漫反射diffuse)
- Unity Shader 学习笔记(十二)漫反射卷积光照模型
- Shader山下(二)光照模型——漫反射
- Shader forge 序列帧、漫反射、折射、环境光照
- OpenGL_ES-光照(光照基础,漫反射,镜面反射)
- GLSL shader中光照的计算
- unity UGUI Button 点击之后按空格还是会触发点击事件
- 创建Employee类,在类中定义三个属性:编号,姓名,年龄,然后在构造方法里初始化这三个属性,最后载实现接口中的定义的CompareTo方法,将对象按编号升序排列。根据已有的代码,补全程序。
- spark平台 mllib K-Means聚类算法 实现
- 基于Java语言的安卓编程之二十三文件读写(下)
- 整数中1出现的次数
- shader中常见的光照基础-漫反射
- codevs 3289 花匠 (dp + 线段树)
- 1063. 计算谱半径(20)
- java 是那么简单
- C++离航篇——函数默认参数、函数重载、内敛函数
- JAVA基础之循环语句(1)
- some tricks about 2s complementary about mask address
- Java常见异常总结
- LightOJ1030- Discovering Gold(期望dp)