以下代码为three.js于github平台上82版内部贴花实例:webgl_decals.html
html代码:
<span style="font-size:18px;"><!DOCTYPE html>
<html lang="en">
<head>
<title>WebGL decals</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
color: #fff;
font-family:Monospace;
font-size:13px;
margin: 0px;
text-align:center;
overflow: hidden;
}
#info{ position: absolute; width: 100%; padding: 5px; }
</style>
</head>
<body>
<div id="container"></div>
<div id="info">
<strong>Decal Splatter</strong><br />
Click or tap to shoot.</p>
</div>
<script src="js/three.js"></script>
<script src="js/geometries/DecalGeometry.js"></script>
<script src="js/controls/OrbitControls.js"></script>
<script src="js/libs/dat.gui.min.js"></script>
<script>
var container = document.getElementById( 'container' );
var renderer, scene, camera, fov = 45;
var mesh, decal;
var raycaster;
var line;
var intersection = {
intersects: false,
point: new THREE.Vector3(),
normal: new THREE.Vector3()
};
var controls;
var mouse = new THREE.Vector2();
var textureLoader = new THREE.TextureLoader();
var decalDiffuse = textureLoader.load( 'textures/decal/decal-diffuse.png' );
var decalNormal = textureLoader.load( 'textures/decal