Browse Source

源码研究开始

master
blobt 4 years ago
parent
commit
691f1650bd
  1. 38
      src/index.js

38
src/index.js

@ -1,54 +1,40 @@
import * as THREE from 'three';
import { WebGLRenderer } from 'three/src/renderers/WebGLRenderer.js';
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
//创建场景
var scene = new THREE.Scene();
//创建模型和material
var geometry = new THREE.BufferGeometry();
var vertices = new Float32Array([
0, 0, 0
]);
var posAttribute = new THREE.BufferAttribute(vertices, 3);
//类型数组创建顶点颜色color数据
var colors = new Float32Array([
1, 1, 0
]);
var colorAttribute = new THREE.BufferAttribute(colors, 3);
geometry.attributes.position = posAttribute;
geometry.attributes.color = colorAttribute;
var material = new THREE.PointsMaterial( {
vertexColors: THREE.VertexColors,
size: 10.0 //点对象像素尺寸
} );
var mesh = new THREE.Points( geometry, material );
var geometry = new THREE.SphereBufferGeometry(10,10,10);
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var mesh = new THREE.Mesh( geometry, material );
scene.add(mesh);
//光照
var ambient = new THREE.AmbientLight(0x444444); //环境光
var ambient = new THREE.AmbientLight(0x004444); //环境光
var point = new THREE.PointLight(0xffffff);
point.position.set(400, 200, 300); //点光源位置
//布置场景
scene.add(ambient);
scene.add(point);
// scene.add(ambient);
// scene.add(point);
// 辅助坐标系
var axisHelper = new THREE.AxesHelper(250);
scene.add(axisHelper);
//scene.add(axisHelper);
//创建摄像机
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(200, 300, 200);
camera.position.set(0, 0, 100);
camera.lookAt(scene.position);
//创建渲染器
var renderer = new THREE.WebGLRenderer();
var renderer = new WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor("rgb(30, 30, 30)", 1); //设置背景颜色
renderer.setClearColor("rgb(255, 255, 255)", 1); //设置背景颜色
document.body.appendChild(renderer.domElement);
const controls = new OrbitControls(camera, renderer.domElement);

Loading…
Cancel
Save