这个系列接近尾声了,自己也着急想早点弄完,最近忙着项目的事情,一连几天没有更新, 更新的时候遇到疑点也没有时间细细研究,大抵是囫囵吞枣,这种习惯很不好, 来得容易忘得也容易,到底是纸上得来终觉浅;想着闲下来细细做几个课题作业,想弄的很多,想看一遍整理一下Lua5.3.5的源码,分析一下skynet的机制,还想了解一下IBM-PC微机原理,一直因为各种各样的项目琐事被迫往后推迟,现在和自己说过最多的谎话大概是,等我闲下来。

一、光照计算的回顾

Blinn-Phong光照明模型

二、光照计算发生在哪个阶段?

三、三种明暗处理方法

1、常数明暗处理

2、Gourand阴暗处理(Gouraud shading)

3 、Phong明暗处理(phong shading)

四、用Vertex Shader实现逐顶点的光照计算(Gourand shading)

在Vertex shader中计算光照明公式:

关于光照计算这个前面的文章中有https://zhuanlan.zhihu.com/p/84093894介绍,

五、光照相关的全局变量

六、光照方向的计算(点光源)

七、视线方向的计算

eyeDir = vec3((vec4(0.0) - v));
eyeDir = normalize(eyeDir);

八、法向的计算

vec3 normal = vec3(gl_NormalMatrix * gl_Normal);
normal = normalize( normal );

为什么不是vec3 normal = vec3(gl_ModelViewMatrix * gl_Normal)?

扩展链接:https://www.jianshu.com/p/e001aec29976

九、计算H,N.L,N.H

这里做了一个判断,当是背面光照的时候我们不做计算

十、由此即可完成整个光照模型的计算

机器学习实现计算不规则图形面积_《图形编程技术学习》(五十八)用VS实现逐顶点的光照计算...相关推荐

  1. 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...

    1 小数乘法PPT课件教案下载_小学数学人教版五年级上册师梦圆​www.shimengyuan.com小数乘整数PPT课件教案下载_小学数学人教版五年级上册师梦圆​www.shimengyuan.co ...

  2. 【D3D11游戏编程】学习笔记十八:模板缓冲区的使用、镜子的实现

    (注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 模板缓冲区(Stencil Buffe ...

  3. 机器学习实现计算不规则图形面积_不用任何数学方法,如何计算圆面积

    杀鸡用牛刀,我们用机器学习方法来算圆的面积. 询问任何人圆的面积是多少,他们都会告诉你不就是r²吗.但如果你问他们为什么,他们很可能并不知道. 这是因为圆的面积公式的证明在大多数情况下要么不直观,不令 ...

  4. 机器学习实现计算不规则图形面积_谷歌开源 TensorFlow Graphics:专为 3D 图像打造的深度学习利器...

    Github 项目链接:https://github.com/tensorflow/graphics 最近几年以来,能够插入神经网络架构中的新型可区分图层在数量上有所增加.从空间转换器到可变图形渲染器 ...

  5. opengl实现经纹理映射的旋转立方体_《图形编程技术学习》(五十三)环境映射...

    一.环境映射(Environment Mapping) 1.具有光滑表面的物体会反射形成周围环境的影像 2.属于环境光效果 二.如何实现这种效果 1.光线跟踪(全局光照技术)可以实现这种效果,但效率太 ...

  6. 《图形编程技术学习》(一)计算机图形学与图形流水线

    这个系列是学习北京林业大学杨刚教授的课程时的学习笔记,课程简洁易懂又含以重要知识,谨以此分享出来.欢迎勘误~ 一.计算机图形学的概念及主要研究内容  计算机图形学是作什么的 计算机图形学(Comput ...

  7. C语言试题五十八之请编写函数fun,:计算并输出下列多项式的值(sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n! )

    1. 题目 请编写函数fun,其功能时:计算并输出下列多项式的值 sn=1+1/1!+1/2!+1/3!+1/4!+-+1/n! 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究 ...

  8. 从图形到像素:前端图形编程技术概览

    \n 图形是人与人之间传递信息的媒介,直观性远胜于口头语言和书面语言.4000多年前,古巴比伦人在石块上绘制建筑物的平面图:2000多年前,古希腊人用图形表达建筑思想,而与其相关的数学直到文艺复兴时期 ...

  9. 简单图形编程的学习(2)---点 (small basic实现)

    简单图形编程的学习(2)---点 (small basic实现) write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 一. 又一顿牢骚 ...

最新文章

  1. Python学习者可能存在的几个问题,你遇到过吗?
  2. 操作多个表_5_记录匹配不上
  3. 大妈也能看懂的大数据分布式计算
  4. html 如何改变图片形状,图形变换的三种方式是什么?
  5. 十分钟让你明白Objective-C的语法(和Java、C++的对比)
  6. kind富文本编辑器_在VueJs中集成UEditor 富文本编辑器
  7. 比excel更好用的免费拖拽报表—JimuReport 1.4.4新特性
  8. pymysql安装_pymysql 模块简单使用
  9. js 转php json string,JS里字符串转json方法总结
  10. 查看某个进程的线程在干什么_有了多线程,为什么还要有协程?
  11. Java开发童年小游戏
  12. ODBC连接MySQL数据库、TLex配置ODBC
  13. Saving Tang Monk II(bfs+优先队列)
  14. exlc表格怎么换行_excel表格怎么设置文字自动换行
  15. 【集合】CFdiv.2#600B Silly Mistake
  16. iCloud数据存储
  17. 项目管理之敏捷开发总结
  18. android系统APK签名生成大全
  19. 用Spring Boot开发API请求详解--API开发
  20. linux学习笔记三: secureCRT小键盘输入数字键的时候,出现字母的解决方法:

热门文章

  1. [Python] 维度交换函数:transpose(m,n,r)和permute(m,n,r)
  2. python机器学习库教程——结巴中文分词
  3. python网络爬虫系列教程——python中requests库应用全解
  4. java执行cmd命令并获取返回结果字符串
  5. python截图工具
  6. 数量场的等值面与矢量场的矢量线的一些基本的东西(写得不好)
  7. AD小技巧:update changes to PCB后如何调整布线
  8. Kibana6.x.x源码结构分析笔记
  9. Java安装以及环境配置
  10. 痴情研究java内存中的对象