Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 16:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Three.js - Texturen

Discussion on Three.js - Texturen within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Three.js - Texturen

Habe vor kurzem mit angefangen und verzweifle gerade an den Texturen:
Code:
<!Doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Sample Three.js</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
	<script src="js/Three.js"></script>
	<script type="application/javascript">
$(document).ready(function(){
	// set the scene size
	var WIDTH = 400,
	    HEIGHT = 300;

	// set some camera attributes
	var VIEW_ANGLE = 45,
	    ASPECT = WIDTH / HEIGHT,
	    NEAR = 0.1,
	    FAR = 10000;

	// get the DOM element to attach to
	// - assume we've got jQuery to hand
	var $container = $('#container');

	// create a WebGL renderer, camera
	// and a scene
	//var renderer = new THREE.WebGLRenderer();
                    var renderer=new THREE.CanvasRenderer();
	var camera = new THREE.PerspectiveCamera(  VIEW_ANGLE,
	                                ASPECT,
	                                NEAR,
	                                FAR  );
	var scene = new THREE.Scene();

	// the camera starts at 0,0,0 so pull it back
	camera.position.z = 300;

	// start the renderer
	renderer.setSize(WIDTH, HEIGHT);

	// attach the render-supplied DOM element
	$container.append(renderer.domElement);

	// create the sphere's material
var texture = THREE.ImageUtils.loadTexture('image.jpg');
	var sphereMaterial = new THREE.MeshLambertMaterial({
map:texture
//color:0xCC0000
 });


	// set up the sphere vars
	var radius = 50, segments = 16, rings = 16;

	// create a new mesh with sphere geometry -
	// we will cover the sphereMaterial next!
	var sphere = new THREE.Mesh(
	   new THREE.SphereGeometry(radius, segments, rings),
	   sphereMaterial);
sphere.overdraw=true;

	// add the sphere to the scene
	scene.add(sphere);

	// create a point light
	var pointLight = new THREE.PointLight( 0xFFFFFF );

	// set its position
	pointLight.position.x = 10;
	pointLight.position.y = 50;
	pointLight.position.z = 130;

	// add to the scene
	scene.add(pointLight);

	// draw!
	renderer.render(scene, camera);
});
	</script>

		<style>
			#container {
				background: #000;
				width: 400px;
				height: 300px;
			}
		</style>
	</head>
	<body><div id="container"></div></body>
</html>
Ich habe einfach mal die Farbe durch eine Textur ersetzt:
Code:
var texture = THREE.ImageUtils.loadTexture('image.jpg');
	var sphereMaterial = new THREE.MeshLambertMaterial({
map:texture
//color:0xCC0000
 });
und sowohl mit CanvasRenderer, wie auch WebGLRenderer getestet.
In ersterem wird die Anweisung ignoriert und der Kugel keine Farbe zugewiesen, beim WebGL-Renderer verschwindet sie einfach...
Wenn ich stattdessen die Farbe verwende, funktioniert alles.
Was habe ich falsch gemacht???
PseudoPsycho is offline  
Old 02/15/2012, 17:58   #2
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
'dachte mir schon fast, dass sich mit sowas hier keiner auskennt...
Problem besteht immernoch!
PseudoPsycho is offline  
Old 02/16/2012, 15:15   #3
 
JPGaming's Avatar
 
elite*gold: 169
Join Date: Jul 2011
Posts: 394
Received Thanks: 261
Also soweit ich weiß, braucht canvas auch sein <tag>, sonst malt der nichts.
JPGaming is offline  
Old 02/16/2012, 15:24   #4
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by JPGaming View Post
Also soweit ich weiß, braucht canvas auch sein <tag>, sonst malt der nichts.
Der Canvas-Tag wird von Three.js automatisch erstellt.
Code:
renderer.setSize(WIDTH, HEIGHT);
//...
renderer.render(scene, camera);
Und wie gesagt, ohne die Textur funktioniert alles:
Quote:
Originally Posted by PseudoPsycho
Wenn ich stattdessen die Farbe verwende, funktioniert alles.
PseudoPsycho is offline  
Old 02/16/2012, 21:40   #5
 
elite*gold: 0
Join Date: Oct 2008
Posts: 319
Received Thanks: 88
Quote:
'dachte mir schon fast, dass sich mit sowas hier keiner auskennt...
Problem besteht immernoch!
Wenn du schon hier so auftrumpfst müsstest du wohl auch wissen das JavaScript nicht
asynchron ist. D.h. das JavaScript nicht darauf wartet bis eine Anweisung vollendet wurde,
sondern während es noch an der einen arbeitet schon mit der nächsten beginnt, deshalb
ist es in JavaScript wichtig Callbacks zu verwenden.

Quote:
var sphereMaterial = new THREE.MeshLambertMaterial();
wird folglich nur wenige millisekunden nach THREE.ImageUtils.loadTexture('image.jpg');
aufgerufen. Wenn du das Bild nicht per preloading eingebunden hast ist die variable
"texture" also zum Zeitpunkt zu dem dein Model erstellt wird noch kein "richtiges" Bild
und kann somit auch nicht als textur verwendet werden.

Das sollte die naheliegenste Lösung sein,
Fratyr is offline  
Old 02/17/2012, 21:20   #6
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by Fratyr View Post
Wenn du schon hier so auftrumpfst müsstest du wohl auch wissen das JavaScript nicht
asynchron ist. D.h. das JavaScript nicht darauf wartet bis eine Anweisung vollendet wurde,
sondern während es noch an der einen arbeitet schon mit der nächsten beginnt, deshalb
ist es in JavaScript wichtig Callbacks zu verwenden.



wird folglich nur wenige millisekunden nach THREE.ImageUtils.loadTexture('image.jpg');
aufgerufen. Wenn du das Bild nicht per preloading eingebunden hast ist die variable
"texture" also zum Zeitpunkt zu dem dein Model erstellt wird noch kein "richtiges" Bild
und kann somit auch nicht als textur verwendet werden.

Das sollte die naheliegenste Lösung sein,
Jo, weiß ich natürlich...
Ich hab's auch schon mit Vorladen und mir Callbacks versucht, hat nur alles nicht geholfen... Hab' hier einfach mal den einfachsten Code gepostet.
PseudoPsycho is offline  
Reply


Similar Threads Similar Threads
DT2 Texturen
12/27/2011 - Metin2 Private Server - 4 Replies
Hey Leute ich nutze ein 2011er client und suche bodentexturen für den DT 2 habe echt schon alles versucht und die die hier pub sind kann man nicht entpacken und ich will mein und kein vorgeschriebenen client nutzen. Wäre euch äussert dankbar Lieben gruß
[Help]Map Texturen
11/10/2011 - Metin2 Private Server - 3 Replies
Hey epvp , ich faile momentan ziemlich an den Map's. Ist eigentlich alles relativ einfach aber ich glaub momentan bin ich zu blöd zum denken. Also , ich hatte in meiner eigenen Map die Texturen von metin2_map_c1.txt drin. Da ich bisschen rumprobieren wollte ersetze ich in der setting.txt im clientseitigen Mapordner bei Textureset metin2_map_c1.txt mit metin2_map_trent.txt , so :p Dann ging ich Ingame und sah nur schwarz und einige Gebäude die noch Texturen hatten , waren aber halt...
Texturen
10/24/2011 - Metin2 Private Server - 4 Replies
http://www.imgbox.de/users/public/images/F1FC58Hra W.png Was für Texturen fehlen?
map texturen etc
07/07/2010 - World of Warcraft - 1 Replies
Hallo, ich wollte mal fragen in welcher datei die Texturen usw gesichert werden, und wo einstellungen gespeichert sind wie etwa höhe eines berges oder so(ich weiß dummes beispiel :D aber ich hoffe ihr wisst was gemeint is :D) mfG Secret p.s. @Gorge (sorry ween falsche schreibweiße):Nach so etwas Fragen wird nich verboten sein oder?:D
Texturen
10/12/2007 - Kal Online - 8 Replies
Hi, wollte mal mal fragen wie man die Land Texturen ändern kann den Boden und die Gebäude und mit welchem Tool das machen z.b alles in Weiss die Kal Landschaft oder D1 oder so wäre echt cool wenn ich gescheite antworten kriegen würde nicht wie in andern theards gespammt wird ^^ thx in voraus



All times are GMT +1. The time now is 16:02.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.