Three.js学习之学习之Lamber材质和材质和Phong材质材质
前言前言
材质(Material)是独立于物体顶点信息之外的与渲染效果相关的属性。通过设置材质可以改变物体的颜色、纹理贴图、
光照模式等。
MeshBasicMaterial::对光照无感,给几何体一种简单的颜色或显示线框。
MeshLambertMaterial::这种材质对光照有反应,用于创建暗淡的不发光的物体。
MeshPhongMaterial::这种材质对光照也有反应,用于创建金属类明亮的物体。
1.基本材质基本材质
使用基本材质(BasicMaterial)的物体,渲染后物体的颜色始终为该材质的颜色,而不会由于光照产生明暗、阴影效果。
如果没有指定材质的颜色,则颜色是随机的。其构造函数是:
THREE.MeshLambertMaterial(opt)
其中,opt可以缺省,或者为包含各属性的值。如新建一个不透明度为0.75的黄色材质:
new THREE.MeshBasicMaterial({
color: 0xffff00,
opacity: 0.75
});
将其应用于一个正方体(方法参见《Three.js学习之几何形状》,效果为:
源码:源码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>3.js测试7.1</title>
</head>
<body onload="init()">
<canvas id="mainCanvas" width="400px" height="300px" ></canvas>
</body>
<script type="text/javascript" src="js/three.min.js"></script>
<script type="text/javascript">
function init() {
var renderer = new THREE.WebGLRenderer({
canvas: document.getElementById('mainCanvas')
});
renderer.setClearColor(0x000000);
var scene = new THREE.Scene();
// camera
var camera = new THREE.OrthographicCamera(-5, 5, 3.75, -3.75, 0.1, 100);