当前位置: 首页 > news >正文

金坛常州做网站西安seo优化公司

金坛常州做网站,西安seo优化公司,网站建设用啥技术,web界面模板材质&&漫反射,光照贴图 使用struct为材质建立结构体,以便方便管理漫反射贴图是物体的颜色值(纹理)(通过 UV 坐标映射到渲染物体的表面),材质是物体的属性(物体对光的交互&a…

材质&&漫反射,光照贴图

  1. 使用struct为材质建立结构体,以便方便管理
  2. 漫反射贴图是物体的颜色值(纹理)(通过 UV 坐标映射到渲染物体的表面),材质是物体的属性(物体对光的交互)
  3. glm::rotate(lightPos, glm::radians(0.1f), glm::vec3(0.0f, 1.0f, 0.0f)) 表示旋转的对象、旋转的角度和旋转的轴。
  4. /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/
  5. 向量转化:
  6. 访问向量的前几个分量:xyzw,rgba,stpq(.)符号访问
  7. 增添分量:vecx( vecx,……,……)
  8. /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/
  9. 光照贴图:由黑白颜色组成 * 镜面反射光,颜色黑到白(0.0——1.0),所以贴图颜色值越接近白色,镜面反射越强
  10. 光照贴图作用:根据贴图决定,镜面光对物体的每个部分的影响

投光物

  1. 我们可以根据物体的材质,计算光对物体的影响,但是光也有自己的模型(平行光,点光,聚光)
  2. 比如点光根据半径范围,强度逐渐衰减,那么根据物体与点光源的距离,需要获得新的光照强度,再计算光对物体的影响
  3. 比如聚光,会有方向以及切光角,在聚光范围内才会有光强度,并且如果执行了边缘软化,也会有光强度的影响
  4. 平行光不会向周围发射,光线平行,意味着不同位置的物体,接受的光线角度是一致的
  5. /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/
  6. 点光源:之前模拟的就是点光源,这次增加了衰减,更真实的渲染效果
  7. 衰减:光线传播距离的增长逐渐削减光的强度
  8. d为片段到光的距离,距离越远d越大,一次项越大,作为分母,衰减值越小
  9. 二次项随着d的增加,变化幅度越快,作为分母,衰减值越小
  10. 衰减 = 1.0f /(1(控制分母>1,让强度值保持在0——1之间,让光强度只会减少不会增加)+一次项(线性)+二次项(距离越远,衰减速度越慢))
  11. 一次项:1/10 = 0.1;1/20= 0.05;1/30=0.03
  12. 二次项:1/100 = 0.01;1/400 = 0.0025;1/900=0.0011
  13. 由此可见,衰减速度都会越来越慢,并且二次项,对速度影响更大
  14. 通过一次二次项系数,调整衰减函数,从而影响光源的半径(点光源),
  15. 衰减值分别乘以环境光、漫反射和镜面光颜色
// attenuation
float distance    = length(lightPos - v_Position);
float attenuation = 1.0 / (light.constant + light.linear * distance + light.quadratic * (distance * distance));    
  1. /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/
  2. 聚光:只朝一个特定方向而不是所有方向照射光线,只有在聚光方向的特定半径内的物体才会被照亮
  3. 光的位置,SpotDir聚光的方向,LightDir光线方向,Phi𝜙聚光半径的切光角,Theta𝜃光线方向和聚光方向的夹角
  4. 计算LightDir向量和SpotDir向量之间的点积,角度越大,光强度越小。
  5. 向量的标准化:向量每个分量  /  向量长度(标量),最后向量长度变为1,方向不变
  6. 将要被点乘的向量归一化,指关心方向,所以点乘结果和向量长度无关,只和方向有关
  7. /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/
  8. 以摄像机作为手电筒,相机前方为聚光方向
  9. 如何判断当前的片段是否在聚光内呢?
  10. 从聚光起始点(摄像机位置)到片段的向量(光线),计算与聚光方向的dot点乘,然后判断点乘的cos角度,是否在切光角内部,
  11. 因为切光角是角度,为了节约一点性能开销,需要把切光角glm::cos()转为cos,而不是将点积结果的反余弦
  12. 这里theta 差值 > light.cutOff进行光照计算:是因为角度都转化为了cos,一个0度的角度表示的是1.0的余弦值,而一个90度的角度表示的是0.0的余弦值。从而角度越大,cos越小,所以应该>cos角度才行。
  13. 最后如果在聚光内,执行光照计算,否则只有纹理颜色值+一点环境光(让场景在聚光之外时不至于完全黑暗)

  14. 我们现在就有了两个光源,手电筒,和点光源
  15. /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/
  16. 边缘软化:新建外圆锥,原切光角为内圆锥,光从内圆锥逐渐减暗,直到外圆锥的边界
  17. 计算:(  (当前角度cos - 外光切cos) / (内光切 cos- 外光切cos) )
  18. 注意,角度越大cos越小,设内外光切不变,内 - 外 = 正值
    1. 角度>在内外光切之间,分子为正数,差值 < 内外光切差值,聚光强度 <1
    2. 角度>外光切时,分子为负数,聚光强度 < 0 
    3. 角度<内光切时,分子为正数,差值 > 内外光切差值,聚光强度 >1
  19. 不再需要if-else,因为在切光角范围外,聚光强度为负,
  20. 是为了光照避免为负数,需要clamp()约束到0——1之间
http://www.shuangfujiaoyu.com/news/9317.html

相关文章:

  • 做app和网站哪个沈阳优化推广哪家好
  • 大兴网站开发网站建设报价网站开发外包
  • 秦皇岛建网站百度账号中心
  • 深圳定制建设网站搜资源
  • 网站模板怎么用dreamweaver编辑营销策略分析论文
  • web网站开发基础培训如何优化网站
  • 轮播网站手游cpa推广平台
  • wordpress cms怎么登陆重庆seo整站优化方案范文
  • oa办公系统如何使用windows7优化大师下载
  • 梁志天设计公司简介网站优化哪家好
  • wordpress 自定义标签云seo公司关键词
  • 网站制作 发票杭州seo网站排名
  • 模仿网站怎么做南昌网站seo
  • 展厅布置摆放设计公司安卓手机游戏优化器
  • 淘宝客导购网站建设?企业建站用什么好
  • 网站主体信息百度seo发包工具
  • 网页链接转二维码seo chinaz
  • app开发定制外包26成都关键词优化排名
  • 网站建设服务的风险网络推广员的日常工作
  • 网站建设哪家公司淘宝客怎么做推广
  • 免费自助建站软件有哪些百度统计网站
  • 个人怎么样做网站百度销售是做什么
  • 做淘客网站 备案痘痘如何去除效果好
  • 黔东南手机网站建设站长统计在线观看
  • 怎样自己做公司网站百度百度
  • 浦东网站推广表白网站制作
  • 烟台网站改版南宁网络推广平台
  • ps做图软件怎么下载网站今日热点新闻素材
  • 网站怎么做导航条什么叫关键词举例
  • 四川交投建设招标网站谷歌排名推广