Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2012, 20:14   #1
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
Восклицание WebGl, использование Three.js оптимизировать и подправить код

Доброго времени суток форумчани.

Делаю на сайт 3D модели, решил юзать Three.js. Нашел примеры, подключил модельн. Работает но не так как хотелось бы.
Помогите оптимизировать код. Может чтото подправить надо.

Код:
<script>
		//	if ( ! Detector.webgl ) Detector.addGetWebGLMessage();

			var SCREEN_WIDTH = window.innerWidth;
			var SCREEN_HEIGHT = window.innerHeight;
			var FLOOR = 0;

			var container;

			var camera, scene;
			var webglRenderer;

			var zmesh, geometry;

			var mouseX = 0, mouseY = 0;

			var windowHalfX = window.innerWidth / 2;
			var windowHalfY = window.innerHeight / 2;

			document.addEventListener( 'mousemove', onDocumentMouseMove, false );

			

			init();
			animate();

			function init() {

				container = document.createElement('div');
				
				document.body.appendChild( container );
				
				
				
				
				// camera
				camera = new THREE.PerspectiveCamera(75, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 );
				camera.position.z = 75;

				
				//scene
				scene = new THREE.Scene();

				// lights
				var ambient = new THREE.AmbientLight( 0xffffff );
				scene.add( ambient );

				// more lights
				var directionalLight = new THREE.DirectionalLight( 0xffeedd );
				directionalLight.position.set( 0, -70, 100 ).normalize();
				scene.add( directionalLight );
				
				// renderer
				webglRenderer = new THREE.WebGLRenderer();
				webglRenderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
				webglRenderer.domElement.style.position = "relative";
				container.appendChild( webglRenderer.domElement );
				
				// loader
				
				var loader = new THREE.JSONLoader(),
					callbackModel   = function( geometry ) { createScene(geometry) };
				loader.load( { model: "mod/outfile.js", callback: callbackModel } );
				
				
			}
			


			function createScene(geometry) {

				zmesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial() );
				zmesh.position.set( 0, 0, 0 );
				zmesh.scale.set( 1, 1, 1 );
				scene.add( zmesh );
			}
			function onDocumentMouseMove(event) {

				mouseX = ( event.clientX - windowHalfX );
				mouseY = ( event.clientY - windowHalfY );
			}

			function animate() {

				requestAnimationFrame( animate );
				render();
			}

			function render() {

				zmesh.rotation.set(-mouseY/500 + 1, -mouseX/200, 0);

				webglRenderer.render( scene, camera );
			}

		</script>
dem66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизировать, подправить OCR dem66 PHP 6 14.04.2012 17:27
Подправить код werser Помощь студентам 4 14.03.2010 23:26
Подправить рабочий код. michaelk Общие вопросы C/C++ 0 06.12.2009 11:33
подправить код ELF astserg01 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.04.2009 06:49