zoukankan      html  css  js  c++  java
  • u3d shader学习笔记1

    促使我学习SHADER的重要原因是希望深入理解3D渲染的机制,在此基础上可以灵活达到某种效果与性能的平衡,开发出具有良好体验的VR应用。

    因为VR应用体验的好坏,直接由游戏的帧率决定,而游戏的帧率则受到渲染一帧画面所花时间的影响,因此如何提升渲染时间,而又可以得到期望的效果,必须要对SHADER或者说渲染机制有深入的理解。

    一、在U3D中,shader是什么?shader即“着色器”,我们之所以能够看到屏幕上丰富多彩的3D画面,正是得益于它。U3D中与shader相关的概念以及它们同shader间的关系如下图所示:

    当你闭上眼睛,或是关掉房间中的灯时,你前面的物体都看不见了,但是,这个物体仍然是在那里的,它不会因为你看不见它而消失,从这个角度来说,物体即具有它的自有属性,正如上图中的meshfilter部份,这个物体有自身的“骨架”,同时,这个物体也有自身的表面材质,因此,可以说,物体的自有属性即是“骨架”+“表面材质”。

    正是由于不同的物体都有各自的“骨架”和“表面材质”,这样在我们打开灯光时,我们才会看到不同的物体。

    在我们观察周围的世界时,我们会看到很多现像:

    1、同一个场景下,当光线越强时,物体也越明亮,当光线颜色发生变化时,我们看到的物体表面颜色也发生了变化;

    2、同一个场景下,同一盏灯下面,有些物体表面是光滑的,有明显的高光,而有些物体表面是粗糙的,看起来很柔和;

    等等多种不同的视觉现像。。。

    那么这些我们最终看到的画面,则是在光线照射到物体表面后反射光线进我们的眼睛造成的。具体来说就是物体上每一个点的反射光进入我们的眼睛,经由我们的大脑的综合处理,就形成了一个物体的形像。

    其实综上所述,可以认为:从微观上看,计算出物体上的每一个点的反射光线的颜色和强弱就是shader要做的事情

  • 相关阅读:
    requests 关于multipart/form-data类型上传文件
    APPIUM 小程序webview问题
    python多重继承,优先级
    关于apppium启动微信,每次都要重新登录的解决方法
    map函数
    unittest: if __name__ == "__main__" 理解
    接口自动化____如何根据测试数据excel中的数据量多少 去test类中定义同数据量的测试函数
    写一个简单的 django_post demo
    django day1 建立一个简答的django demo
    201903-1 分蛋糕
  • 原文地址:https://www.cnblogs.com/donghua/p/5040477.html
Copyright © 2011-2022 走看看