这是根据徐明亮<OpenGL游戏编程>书上光灯一节的一个例子改编的. 从这个例子可以学习到二次曲面的参数设置,程序中提供了两个画球的函数,一个是用三角形画出来的,一个是二次曲面构成的. 你会发现,跟三角形版本不同,二次曲面要做一些设定,否则画出来的球体无法接受光照. 先上代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.…
一.Three.js中有哪些光源? 在Three.js中,光源有一个基类THREE.Light(hex),这个hex接受16进制颜色作为参数而初始化光源的颜色,比如我们要定义一种绿色的光源,可以这样来定义: var greenLight = new THREE.Light(0x00FF00); 而作为3d引擎three.js,这个基类是很难满足我们的要求的,所以,我们还需要继承这个基类的更多样化的光源: 即除了这个基类光源之外,我们还有环境光.区域光.方向光.聚光灯.点光源等等.下面我们介绍…
<Physically-Based Shading Models in Film and Game Production>(SIGGRAPH 2010 Course Notes) (地址:http://renderwonk.com/publications/s2010-shading-course/hoffman/s2010_physically_based_shading_hoffman_a_notes.pdf) Punctual Light Sources一段若干注解: 由于物理渲染基于辐…