domingo, 26 de octubre de 2008

ATI sigue indicando que su driver "soporta" Ubuntu

Si entramos en la página de "release notes" del driver de ATI veremos que los sistemas operativos soportados oficialmente son SUSE, RedHat y Ubuntu. Como ya he comentado en posts anteriores el driver no soportará la nueva versión del servidor Xorg 7.5 que ubuntu Intrepid Ibex incluye por defecto, por lo que esta compatibilidad es totalmente falsa. Quedan pocos días para que Ubuntu 8.10 Intrepid Ibex salga a la calle y todavía no han quitado el mensaje de soporte para Ubuntu. ¿Van a seguir intentando engañarnos?
Por otra parte llevo más de un mes probando Ubuntu 8.10 Beta y no he encontrado ningun problema de relevancia en su utilización, una de las cosas que más me han gustado es la encriptación de ficheros personales, ahora se puede encriptar un directorio simplemente pulsando el botón derecho del ratón. La nueva versión de Xorg 7.5 mejora la configuración de video, proceso históricamente tedioso que cada vez es más sencillo, algo que sin duda favorecerá el que usuarios no habituados a Linux lo prueben y juzguen mejor sin tener que pelearse con ficheros de texto para configurar sus sistemas.

viernes, 24 de octubre de 2008

Extrañas campañas publicitarias


En la página de elmundo.es me encontré esta extraña campaña publicitaria en la que tal vez se nos aconseja la compra de un formato de compresión de imagenes alternativo. ¿Cuanto puede costar comprar un formato GIF alternativo en el Corte Inglés? ¡al menos podían haber puesto el precio! yo quería uno.

lunes, 20 de octubre de 2008

Sobre Flash CS4. ActionScript 3 y la tercera dimensión

Este fin de semana he tenido la oportunidad de probar el nuevo Flash CS4 y la verdad es que me ha sorprendido gratamente la velocidad. La integración con las gráficas es magnifica porque proporciona una suavidad nunca vista antes en una película Flash.
Ayer estuve intentando implementar un sencillo efecto en el que había un carrusel de objetos rotando alrededor del eje Y, mi sorpresa fue que Flash no maneja la profundidad como lo hace un entorno 3D normal, sino que respeta el orden de dibujado de los objetos en la manera en la que fueron añadidos a su contenedor. Es por esto que tuve que implementar el algoritmo del pintor para que los objetos pudieran dibujarse en el orden correcto (antes de esto había objetos que se pintaban delante de otros cuando debían hacerlo detras).
El algoritmo del pintor consiste sencillamente en pintar de atrás hacia adelante, para ello debemos añadir nuestros Sprites a un vector y posteriormente implementar una función que compara los valores Z de cada Sprite devolviendo el vector ordenado para después mediante un simple pop añadir los objetos al contenedor. El problema viene a la hora de aplicar Tweeners, ya que debido al movimiento puede que en determinadas circunstancias sea necesario intercambiar los objetos de orden en su contenedor (porque ahora estén delante cuando antes estaban detrás), obligando al tweener a llevar un control de sorting constante y administrando el contenedor de tal forma que el dibujado siempre sea correcto.


var sprites:Vector.<Sprite>=new Vector.<Sprite>();
var radio:Number=900;

public function creaSprites():void{

// Creamos los sprites y los metemos en el vector

for (i=0;i<360;i+=45){
var sp:Sprite=new Sprite();
sp.graphics.beginFill(Math.random()*0xFFFFFF);
sp.graphics.drawRect(0,0,300,300);
sp.x=150-(radio*Math.cos(i*Math.PI/180)); // multiplicamos por PI/180 para pasar a grados
sp.y=0;
sp.z=20000-(radio*Math.sin(i*Math.PI/180));
sprites.push(sp);
}

// Ordenamos el vector e insertamos los sprites en el contenedor

sprites.sort(compare);

while (sprites.length!=0){
addChild(sprites.pop());
}
}

// Aqui viene la función de comparación utilizada por el sort del vector.
// Dados dos Sprites devuelve la diferencia de z.

private function compare(a:Sprite, b:Sprite):Number{
return a.z-b.z;
}


Como puede verse el proceso es sencillo (siempre y cuando no se realice ningún tween en el eje z), aunque a medida que investigue un poco más iré completando este artículo.

domingo, 12 de octubre de 2008

Adiós ATI

He de confesar que he utilizado ATI durante muchos años, siempre me gustó su relación calidad/precio, al margen de la calidad de su driver propietario.
Con la llegada de Ubuntu 8.10 y la implementación del servidor gráfico Xorg 7.5 se necesitaba una actualización de los drivers por parte de las principales compañías suministradoras de Hardware.
La sorpresa ha llegado cuando ATI no ha presentado un driver compatible con esta versión del servidor, dejando a Ubuntu y futuras distribuciones sin soporte propietario, unicamente el driver libre (con menor soporte 3D) es compatible con estas nuevas configuraciones.
Mi reacción es lógica y normal, vender todo mi hardware de marca ATI, y comprar Nvidia o Intel. No me importa que el rendimiento en algunos casos sea inferior, tan solo quiero compatibilidad con el software que utilizo, no voy a renunciar a mi libertad. No lo hagas tu tampoco!
Todavía estoy maravillado con mi nuevo Netbook Acer Aspire One que implementa una gráfica de Intel (muy inferior a las ATI) pero en la que hay instalado un driver abierto y desarrollado conjuntamente por el desarrollador del hardware y la comunidad de código abierto, y eso es mucho más importante para mi que un "chip super-potente para super-gamers".