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

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

一、光照计算的回顾

f0d6feecb0c0ed1bc6485295b76a7533.png

Blinn-Phong光照明模型

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

7edf4fe0f269cf9016cffc7a0bb69c00.png

三、三种明暗处理方法

1、常数明暗处理

2、Gourand阴暗处理(Gouraud shading)

3 、Phong明暗处理(phong shading)

9bf1949375d3b449b7b755ef472c68a3.png

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

ee14839ab66fe2604e95b343a88aefdb.png

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

ccf54feaa611ca3d7c0173fa0873193a.png

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

五、光照相关的全局变量

940d331aaedc8407cd4640b78155ede2.png

a7fc4a10fd0d9a8b71f581a91abc4d3c.png

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

38c00d197c0809f52019ceba3282e5b2.png

七、视线方向的计算

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

4fc3fb8ad0ea5b2261fa9bec7e6a69f9.png

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

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

61ffc8733091628b5fe606b52288180e.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
不同机器学习算法的实现类中,重要参数的含义可能不同,下面以几种常见的机器学习算法为例,介绍它们实现类中的重要参数含义。 1. 决策树 - criterion:衡量分裂质量的指标,可以选择“gini”或“entropy”。 - max_depth:树的最大深度。 - min_samples_split:分裂内部节点所需的最小样本数。 - min_samples_leaf:叶节点所需的最小样本数。 2. 随机森林 - n_estimators:森林中树的数量。 - criterion:衡量分裂质量的指标,可以选择“gini”或“entropy”。 - max_depth:每棵树的最大深度。 - min_samples_split:分裂内部节点所需的最小样本数。 - min_samples_leaf:叶节点所需的最小样本数。 3. 朴素贝叶斯 - alpha:平滑参数,用于避免概率为0。 - fit_prior:是否学习先验概率。 - class_prior:指定先验概率。 4. 支持向量机 - C:正则化参数,控制分类错误和模型复杂度。 - kernel:核函数,可以选择“linear”(线性核函数)、“poly”(多项式核函数)或“rbf”(径向基核函数)等。 - gamma:核函数的系数。 5. K近邻 - n_neighbors:选取的最近邻数目。 - weights:计算最近邻时的权重,可以选择“uniform”或“distance”。 - algorithm:计算最近邻的算法,可以选择“auto”、“ball_tree”、“kd_tree”或“brute”。 6. 线性回归 - fit_intercept:是否拟合截距。 - normalize:是否对数据进行标准化。 - copy_X:是否复制数据。 以上仅是各类机器学习算法中常用参数的部分示例,实际上不同算法实现类中的参数可能会更多,其含义和作用也会有所不同。在使用机器学习算法时,需要根据具体的应用场景和数据集合适地选择和调整参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值