不错的工具,如下图:

要Rider 2021之后,最新的编辑器,旧版本2020还不行编写Shader

如有更好的编写的工具,请留言(会补上)

一个光照模型(phong)基于下面这个图:

光看公式,可能很难理解 R . V

其实:R . V== (R点乘法V)==RdotV== 反射点乘视线方向

也等于:== Reflect dot ViewDir

其实只要结合上图Specular部分,再根据日常常识判断,反射光最强的地方和视线重合的地方必然产生一个亮点,也就是Specular

所以 Specular == NdotV (Specular 最亮的点,也就是NdotV 值最接近1的点;因为NdotV就是要计算N和V,这2个法线重合率;对于NdotV的计算值: 1是重合,0是90度,-1是反方向)

ViewDir的计算

viewDir = 观察摄像机的位置 - 顶点在世界坐标的位置

half3 view_dir = normalize(_WorldSpaceCameraPos.xyz - i.pos_world);

RdotV

half3 reflect_dir = reflect(-light_dir,normal_dir);
half NdotV = dot(reflect_dir,view_dir);

这里稍微岔开说说:第二种计算高光反射的方法

     //2.高光反射half3 H = normalize(lightDir + viewDir);half NdotH = dot(normalDir, H);//1.float3 reflect_dir = reflect(-lightDir, normalDir);half NdotH = dot(reflect_dir, viewDir);

到底哪种比较好呢(1.就是上面的示意图方法)

记一次Rider手写UnityShader_非图解基本的光照模型,包含ViewDir_NdotL高光和漫反射等等计算相关推荐

  1. Java数据结构之链表、树、堆、图手写双向非循环链表

    数据结构.手写双向非循环链表 文章目录 数据结构.手写双向非循环链表 链表 1.链表的分类 2.链表的特点 二.手写双向非循环链表 2.1方法总结 2.2 环境搭建 2.3 add 添加结点 2.3. ...

  2. 进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】

    各种进制之间的相互转换 1. 各进制表示数 1.1 数码 1.2 基数 1.3 位权 2. 十进制转换为其他进制 2.1 整数部分 2.2 小数部分 3. 其他进制转换为十进制 4. 二进制转换为八进 ...

  3. 现在论文用手写还是用计算机写,调查显示近半人基本全用电脑写字 八成受访者提笔忘字...

    电脑已经成为大多数人的写字工具.(资料图片) 大部分现代人,只有在签名的时候才会拿起笔.(资料图片) "罄竹难书"."鳞次栉比"."沆瀣一气" ...

  4. 我的Go+语言初体验——Go+语言构建神经网络实战手写数字识别

    "我的Go+语言初体验" | 征文活动进行中- 我的Go+语言初体验--Go+语言构建神经网络实战手写数字识别 0. 前言 1. 神经网络相关概念 2. 构建神经网络实战手写数字识 ...

  5. 利用Tensorflow实现手写数字识别(附python代码)

    手写识别的应用场景有很多,智能手机.掌上电脑的信息工具的普及,手写文字输入,机器识别感应输出:还可以用来识别银行支票,如果准确率不够高,可能会引起严重的后果.当然,手写识别也是机器学习领域的一个Hel ...

  6. 神经网络学习(二)Tensorflow-简单神经网络(全连接层神经网络)实现手写字体识别

    神经网络学习(二)神经网络-手写字体识别 框架:Tensorflow 1.10.0 数据集:mnist数据集 策略:交叉熵损失 优化:梯度下降 五个模块:拿数据.搭网络.求损失.优化损失.算准确率 一 ...

  7. mnist手写数字识别python_Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】...

    本文实例讲述了Python tensorflow实现mnist手写数字识别.分享给大家供大家参考,具体如下: 非卷积实现 import tensorflow as tf from tensorflow ...

  8. 计算机网络手写笔记图片,一键收藏!清华学子这样记笔记!

    原标题:一键收藏!清华学子这样记笔记! 还记得前段时间 朋友圈刷屏的清华学子笔记吗 整齐的排版. 清晰的思路无不令人赞叹 那么这些笔记是如何产生的呢? 相信看完下面这段视频 你会有更直观的了解 笔记教 ...

  9. notability整理归档_ipad记手写笔记软件 Notability的使用方法图解教程

    我一直向所有打算用ipad记手写笔记的同学强烈安利notability这款软件,现在就来向大家一一介绍他的功能和用法. 笔记归类 打开notability后先点击右上角建立一个新的笔记,当你创立了几个 ...

最新文章

  1. R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色、基于显著性阈值进行点的颜色美化、为选定基因添加标签
  2. Netty时间轮调度原理分析,再不了解你就out啦
  3. Linux 下, npm i 老是被killed 已杀死
  4. java ocsp请求_java – 客户端证书上的OCSP吊销
  5. Vue最全知识点,面试必备(基础到进阶,覆盖vue3.0,持续更新整理,欢迎补充讨论)
  6. NYOJ-子串和(dp)
  7. JAVA四行代码制作简单的翻译软件(傻瓜式教程)
  8. 期刊会议的论文,sci,ieee,ccf ,acm等等他们之间的关系,以及如何能看到这些高质量文章
  9. 思科模拟器连通服务器网页,思科模拟器主机访问服务器
  10. markdown删除代码空白行
  11. “华为”云桌面终端CT3200+显示器、键盘和鼠标
  12. 雷锋科普:联发科MT6577,国产平民双核手机的芯
  13. 半导体随机存储器(random access memory)
  14. win10密码忘了怎么办_笔记本密码忘了怎么办
  15. Unity 实现回血效果
  16. 搜索已配对蓝牙 java,java-查找和配对蓝牙设备
  17. chrome 浏览器的快捷键设置
  18. 软件压缩卡与硬件压缩卡的比较
  19. Mybatis 批量操作8种实现总结
  20. WebSocket区分不同客户端方法

热门文章

  1. spring实战学习(六)事务管理
  2. 多链跨链、高可用、高安全性的区块链应用如何落地? 金链盟大赛10强揭晓
  3. 设计模式学习笔记--享元(Flyweight)模式
  4. matlab线性回归程序,MATLAB 线性回归
  5. MFC界面开发进入BCGControlBar v30.5时代,Gauge控件全新升级
  6. 11月微博博客日均覆盖数TOP10:网易博客升至第七
  7. android sdl 插件,在Eclipse中配置SDL2.0 for Android
  8. LENOVO ERAZER Z51 安装固态指南
  9. 机器学习——霍夫丁不等式【转】
  10. linux筑基之常用命令