| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  16-03-2010, 13:01 | #1 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
				
				[Java3d] Pavimenti con texture
			 Codice: private TransformGroup creaPavimento() {
Texture texture = (new TextureLoader("textures/autobloccanti.jpg", this))
		.getTexture();
float l = 60f; // (float) lato;
texture.setMagFilter(Texture.NICEST);
texture.setMipMapMode(Texture.BASE_LEVEL);
Appearance apparence = new Appearance();
apparence.setTexture(texture);
Box pavimento = new Box(l, 0.1f, l, Box.GENERATE_TEXTURE_COORDS, apparence);
GeometryArray g = (GeometryArray) pavimento.getShape(Box.TOP)
				.getGeometry();
TexCoord2f[] tx = new TexCoord2f[g.getVertexCount()];
for (int k = 0; k < tx.length; k++) {
	tx[k] = new TexCoord2f();
}
g.getTextureCoordinates(0, 0, tx);
for (TexCoord2f t : tx) {
	t.scale(2f);
}
g.setTextureCoordinates(0, 0, tx);
pavimento.getShape(Box.TOP).setAppearance(apparence);
Transform3D transf = new Transform3D();
TransformGroup tg = new TransformGroup();
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
Vector3f posizione = new Vector3f(0, -2.5f, 0);
transf.setTranslation(posizione);
tg.setTransform(transf);
tg.addChild(pavimento);
return tg;
}solo che non riesco a trovare il codice per "replicare" questa texture, ovvero me ne crea una ma poi tutto il resto è vuoto. considerando che bene o male io sò la dimensione massima del mio "mondo", come faccio a fargliela replicaer? 
				__________________ My gaming placement | 
|   |   | 
|  16-03-2010, 17:11 | #2 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		allora gho trovato qeusta vecchia discussione: http://www.hwupgrade.it/forum/showthread.php?t=1952043 (P.S.: tramite google, con la ricerca interna non l'aveva trovata O_O) solo che non riesco a fare quello che voglio praticamente io creo un box 1000x1000 e voglio replicare su di lui la stessa texture. non riesco e ci sto sbattendo abbastanza 
				__________________ My gaming placement | 
|   |   | 
|  16-03-2010, 17:24 | #3 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		continuando a spulciare ho trovato questo.... apparence.setTexCoordGeneration(new TexCoordGeneration()); però ora la texture la restringe troppo e sembra una immagine "diversa"... 
				__________________ My gaming placement | 
|   |   | 
|  18-03-2010, 14:56 | #4 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		up
		 
				__________________ My gaming placement | 
|   |   | 
|  18-03-2010, 15:17 | #5 | 
| Senior Member Iscritto dal: Nov 2004 Città: Tra Verona e Mantova 
					Messaggi: 4553
				 | 
		Puoi replicare un'immagine su una superficie usando WRAP come valore per i metodi setBoundary S e T di un oggetto Texture E avendo un set di coordinate per le texture che ecceda il range [0,1]. Vale a dire che se ho un quadrato le cui coordinate texture vanno da (0,0) per un estremo a (4,4) per l'altro e uso un oggetto Texture in modalità "WRAP" l'immagine della texture sarà replicata 4 volte (lungo il lato, quindi 16 tile sulla superficie). TexCoordGeneration "replica troppo" perch produce un set di coodinate usando una formula tipo: u = x + z v = y che genera valori eccedenti il range [0,1] per una superficie piana sufficientemente estesa. 
				__________________ Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! | 
|   |   | 
|  18-03-2010, 15:25 | #6 | |
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | Quote: 
 
				__________________ My gaming placement | |
|   |   | 
|  18-03-2010, 15:31 | #7 | 
| Senior Member Iscritto dal: Nov 2004 Città: Tra Verona e Mantova 
					Messaggi: 4553
				 | 
		La dimensione dell'immagine non contribuisce alla dimensione della sua proiezione sulla superficie 3d ma stabilisce la risoluzione di quella proiezione.
		 
				__________________ Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! Ultima modifica di PGI-Bis : 18-03-2010 alle 15:31. Motivo: ei ie... | 
|   |   | 
|  18-03-2010, 15:34 | #8 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		
ok, dopo provo a fare come mi hai suggerito
		 
				__________________ My gaming placement | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 11:07.









 
		 
		 
		 
		








 
  
 



 
                        
                        










