Reputation: 3
I have no idea whats wrong can any one help me? when I try to load it up on chrome it is just white screen and the code use to be in its own file and it will be when i find out whats wrong it just loads a white page i am trying to make a cube load with help from jquery and three.js
<!DOCTYPE HTML>
<html>
<head>
<title>THREE</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="js/three.js"></script>
<style>
body{
margins:0;
overflow:hidden;
}
</style>
</head>
<body>
<div id="container"></div>
<script>
$(document).ready(function(){}
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, .1, 500);
var renderer = new THREE.WebGLRenderer();
renderer.setColor(0xdddddd);
renderer.setSize(window.innerWidth, window.innerHeight);
var axis = new THREE.AxisHelper(10);
scene.add(axis);
var grid = new THREE.GridHelper(50, 5);
var color = new Color("rgb(255, 0, 0)");
grid.setColors(color, 0x000000);
//scene.add(grid);
var cubeGeo = new THREE.BoxGeometry(5, 5, 5);
var cubeMat = new THREE.MeshBasicMaterial({color:0xdddddd, wireframe:true});
var cube = new THREE.Mesh(cubeGeo, cubeMat);
cube.position.x = 0;
cube.position.y = 0;
cube.position.z = 0;
scene.add(cube);
camera.position.x = 40;
camera.position.y = 40;
camera.position.z = 40;
camera.lookAt(scene.position);
$("#container").append(renderer.domElement);
renderer.render(scene,camera);
});
</script>
</body>
</html>
Upvotes: 0
Views: 56
Reputation: 539
Remove the closing bracket from this:
$(document).ready(function(){
Remove this line, setColor doesn't seem to be a method for THREE.WebGLRenderer:
renderer.setColor(0xdddddd);
Change:
var color = new Color("rgb(255, 0, 0)");
to:
var color = new THREE.Color("rgb(255, 0, 0)");
Upvotes: 1
Reputation: 242
It looks like you immediately opened and closed your $(document).ready(function(){}
. So the right bracket needs to be deleted $(document).ready(function(){}
so the entire script is contained in it and you have the appropriate closing tag at the bottom. I don't have three.js, but I think the following should work.
<!DOCTYPE HTML>
<html>
<head>
<title>THREE</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="js/three.js"></script>
<style>
body{
margins:0;
}
</style>
</head>
<body>
<div id="container"></div>
<script>
$(document).ready(function(){
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, .1, 500);
var renderer = new THREE.WebGLRenderer();
renderer.setColor(0xdddddd);
renderer.setSize(window.innerWidth, window.innerHeight);
var axis = new THREE.AxisHelper(10);
scene.add(axis);
var grid = new THREE.GridHelper(50, 5);
var color = new Color("rgb(255, 0, 0)");
grid.setColors(color, 0x000000);
//scene.add(grid);
var cubeGeo = new THREE.BoxGeometry(5, 5, 5);
var cubeMat = new THREE.MeshBasicMaterial({color:0xdddddd, wireframe:true});
var cube = new THREE.Mesh(cubeGeo, cubeMat);
cube.position.x = 0;
cube.position.y = 0;
cube.position.z = 0;
scene.add(cube);
camera.position.x = 40;
camera.position.y = 40;
camera.position.z = 40;
camera.lookAt(scene.position);
$("#container").append(renderer.domElement);
renderer.render(scene,camera);
});
</script>
</body>
</html>
Upvotes: 0