[Gvsig_desarrolladores] OSGVP: Usar un jpg como suelo de un planeta

Maria Arias de Reyna marias en emergya.es
Vie Ene 23 11:14:01 CET 2009


El Jueves 22 Enero 2009 13:24, Maria Arias de Reyna escribió:
> Sigo experimentando con OSG Virtual Planet y estoy buscando la forma de
> poner un jpg como el suelo de un planeta. Estoy usando un planeta con un
> sistema de coordenadas proyectadas (Planet.CoordinateSystemType.PROJECTED).
> ¿Sería posible hacerlo? El jpg estaría georreferenciado, por supuesto.


Bueno, no fui capaz de añadir una textura al planeta, pero como está 
proyectado y por tanto es plano, poniendo un poligono con la imagen justo 
encima se hace el apaño. Cogiendo de base el ejemplo de la vaca en el polo 
norte y mezclandolo con el de los polígonos con la imagen de la tierra:



		Rectangle2D extent = earth.getExtent();
		double xmin = extent.getMinX();
		double xmax = extent.getMaxX();
		double ymin = extent.getMinY();
		double ymax = extent.getMaxY();

		Group g = new Group();
		Vec4 color = new Vec4(1.0, 1.0, 1.0, 1.0);
		AutoTransform at;
		try {
			at = new AutoTransform();
		
		TessellablePolygon _rect1 = new TessellablePolygon();
		_rect1.addVertex(new Vec3(xmax, ymax, 0.01), color);
		_rect1.addVertex(new Vec3(xmax, ymin, 0.01), color);
		_rect1.addVertex(new Vec3(xmin, ymin, 0.01), color);
		_rect1.addVertex(new Vec3(xmin, ymax, 0.01), color);
		_rect1
				.setNormalBinding(GeometryFeature.AttributeBinding.BIND_PER_VERTEX);

			File texture = Util.extractFromURL(Main.class.getResource(
					"/earth.gif");
			_rect1.setTexture(texture.getPath());
		
		_rect1.setEnabledBlending(true);
		Material m = new Material();

			m.setColorMode(Material.ColorMode.SPECULAR);
			m.setSpecular(Material.Face.FRONT_AND_BACK, new Vec4(0.0, 1, 0.0,
					1.0));
			m.setTransparency(Material.Face.FRONT_AND_BACK, 0.8f);


			_rect1.getOrCreateStateSet().setMaterial(m, Node.Mode.ON);
			at.addChild(_rect1);

			
			g.addChild(at);

-- 
María Arias de Reyna Domínguez
Emergya Consultoría



Más información sobre la lista de distribución gvSIG_desarrolladores