Saltar al contenido

Realidad Virtual inalámbrica de alto rendimiento

7 abril, 2020

Llegar a esto, a visitar a un cliente con un portátil, unas Oculus Quest y mostrar nuestro proyecto en VR de alta calidad de forma inalámbrica, sin sensores, sin cables, sin configuraciones complicadas, a plena potencia, sin compilar APKs para Android con sus limitaciones. VR nativa Win. Con gráficas RTX.

WhatsApp Image 2020-04-05 at 20.15.38

Potencia a raudales: una workstation HP Zbook con una gráfica Quadro P4500 junto a un viejo MSI con una GTX980Ti, unas Quest y un repetidor Wifi 5G. Es todo lo que necesito. Y algo de software. Aquí os lo cuento.

Antecedentes: primera generación de VR

Este artículo lleva desarrollándose en mi cabeza desde hace dos o tres meses, pero he tenido que madurar la forma de hacerlo y sobre todo constatar que el final del viaje sea fiable y esté listo en su forma comercial, B2B.

Todo comienza cuando en 2015 mi sueño juvenil de materializar el concepto de “realidad virtual” deja de ser virtual (libros, cómics, bla, bla) y se hace real a través de unas gafas Oculus DK2, el kit de desarrollo de la fase pre-Facebook de Palmer Luckey y su compañía Oculus. Simultáneamente HTC también estaba llevando a cabo el desarrollo de su alternativa.

HTC vs Oculus

Primera generación de soluciones comerciales VR

Hago el inciso de que como especialista de visualización AEC con 23 años de carrera vengo considerando los renders tradicionales y las animaciones o visitas guiadas herramientas del pasado, puesto que el avance en computación gráfica y las sinergias del sector AEC con el sector de videojuegos y VFX hacen converger todo hacia el tiempo real y render online con latencias muy bajas.

Ambos casos, Oculus y HTC, son soluciones de seis grados de libertad, es decir, realidad virtual plena, con detección de posicionamiento absoluto y orientación de las gafas en el espacio, nada que ver a soluciones de tres grados de libertad tipo Cardboard y demás. Son soluciones claramente orientadas a mundos virtuales 3D plenos, no a recorridos virtuales basados en imágenes 360 o videos 360 aunque sean estereoscópicos.

Dando unos resultados muy precisos en el posicionamiento requerido, esta primera generación de dispositivos VR (Outside-In “tracking”) tienen como primera desventaja que hacen uso de otros dispositivos añadidos a la configuración: sensores de luz infraroja (los sensores de Oculus) o emisores de luz estructurada (los “lighthouses” de HTC).

img_20160617_124328

Instalación estacionaria en showroom

Para instalaciones estacionarias, llamémosle “showroom”, esto en principio no es ningún problema: el “setup” más o menos complicado que hay que hacer al comienzo de su uso queda registrado para “siempre”. El problema se manifiesta cuando hay que ir a las instalaciones de un cliente en lugar de que venga a las nuestras. El cliente tiene ciertas reticencias para montar el tinglado en una sala donde quizá no hay espacio o quizá no hay el tiempo necesario para el setup. Añadamos el hecho de que el equipaje es un bulto importante, que si vamos en coche al cliente no es demasiado negativo, pero si vamos en avión, siempre con prisas, y evitamos facturar, con este flujo de trabajo no es posible. Esto es suficiente no ya para que haya detectado reticencias, directamente rechazo.

Tenemos un segundo hándicap: el cable que une gafas al ordenador que procesa. Alimentación y señal. Por experiencia puedo afirmar que los novatos se lían con el cable, lo pisan, se enrollan y quienes sufren de impericia con la tecnología necesitan de una mano amiga. Si además se sufre de algún patrón Asperger y se rehúsa del contacto físico de la mano amiga, la experiencia no es muy premium.

Todo esto no quita que siga considerando el seguimiento Outside-In de extraordinaria precisión y que así considere también soluciones como Valve Index, Varjo o Pimax, todas basadas en SteamVR Base Stations 2.0 como candidatas para aconsejar a cualquier cliente que me pregunte por una solución estacionaria puesto que la calidad que ofrecen en visualización (densidad de pixel, no “screen-door efffect”, “mura”, frecuencia Hz, trackeo de ojos, bla, bla…) es la más alta. El asunto del cable y el lío se resuelve de varias formas.

181029_Suspender_cable

Fórmulas de fortuna, más o menos ingeniosas para suspender el cable: correa de perro y lámpara de Ikea.

VR de segunda generación

Sirviendo lo leído hasta aquí como preámbulo, y no perdiendo el objetivo inicial de ofrecer al cliente una solución compacta para tener movilidad, sencilla, rápida de instalar, ligera y de calidad para poder visitar a sus clientes, desde aquello a los años 2018 y 2019 nos encontramos que los sistemas de reconocimiento de imagen y las unidades magnético inerciales de la telefonía móvil (IMU) han avanzado lo suficiente y tanto como para comenzar a pensar en una VR sin sensores externos, en unos casos autónoma, en otros cableada a un ordenador.

Aparece HTC con Focus, una solución especialmente pensada para el mercado asiático, aquí tuvo poca fortuna. Adquirí un kit de desarrollo, pero quedó bastante desamparado por falta soporte, más que un SDK para UE4 poco documentado. Comercialmente noté poco esfuerzo. Quizá también no le dediqué demasiado tiempo. Fue el primer modelo que tuve autónomo y 6DOF (seis grados de libertad) y funcionaba, claro que sí, si bien lleva un sólo controlador y no se hace seguimiento de él si no que se intuye su posicionamiento por IMU. Actualmente lo enfocan al mundo de los negocios y no le he prestado más atención.

También llega Oculus con su solución Go, una propuesta 3DOF, no detecta movimiento, sólo orientación, dirigida al entretenimiento, museos, exposiciones y demás. Experiencias 360 y 180, retransmisiones deportivas (Copa Lavert, muy buena), estar sentado en el sofá y ver cualquier contenido preparado para VR. También un sólo controlador y seguimiento por IMU.

HTC_Focus+Oculus_Go

Primeras propuestas autónomas de calidad. Segunda generación de VR. Posicionamiento Inside-Out.

Pero no es hasta que Oculus da un paso mayor, que considero trascendental en la segunda generación de VR, al proponer sus Oculus Quest y Oculus Rift S cuando uno toma conciencia de la evolución que vivimos en aquel momento. Seguimiento Inside-Out, y en las Quest, gafas autónomas, encuentro una calidad excelente por el precio y el momento en que son lanzadas. Dos mandos de los que se hace seguimiento óptico. Yo era escéptico con la tecnología Inside-Out, consideraba que no podía estar tan avanzada la resolución del posicionamiento a partir de análisis de imagen e IMU, pero sí, son muy precisas. Y repito, son autónomas, no necesitan ordenador, no necesitan cable. Luego vuelvo con ellas.

También HTC responde con su gama Cosmos. Inside-out basada en PC, como las Rift S y con dos “motion controller” también.

Cabe añadir la solución o plataforma Windows MR, con propuestas como la de HP con Reverb, cuya calidad visual es sobresaliente, confirman esta segunda generación de VR en su conjunto, libre de sensores, ideales para viaje. Además, al caso de HP se suma su propuesta autónoma de alto rendimiento en forma de “mochila-ordenador”.  No sé cuál es el límite en espacio recorrido caminando con unas Reverb conectadas a una mochila, pero sé que es muy grande a tenor de algunos experimentos. Al ser ISV Partner de HP he tenido la fortuna de testar para un proyecto un equipo completo así y encuentro que son una solución excelente.

BackpackOmenxcompact2

La solución Omen de HP. Muy potente como solución autónoma. Y además el portátil funciona también de manera estacionaria en una base de sobremesa.

Decía de Oculus Quest que son unas gafas muy versátiles, y quiero añadir que reconocen diversos setups según la habitación en la que uno se halle si ya ha pasado antes por ella, que son precisas, que la disposición periférica de las cámaras hacen que el seguimiento de los mandos no se pierda casi nunca, pero…, siempre el pero: son un smartphone de gama alta sin capacidad de telefonía. Su capacidad de computación autónoma se basa en un chip Snapdragon 835, con bastante potencia gráfica y de proceso en un móvil, pero no la suficiente para una VR de alta calidad. Además su frecuencia máxima de pantalla es de 72 Hz, suficientes, pero 18 por debajo de los sugeridos siempre 90 Hz.

Un juego extraordinario en calidad gráfica como Robo Recall en las Oculus Rift, tuvo que ser repensado casi en su totalidad para portarlo a Quest.

IMG_20191128_134551

Las ya maduras Oculus Rift a la izquierda, las Oculus Quest a la derecha

Mi sector, como he dicho, es AEC y el flujo de trabajo es normalmente muy rápido en la respuesta que he de dar. No hay, que yo sepa, aplicaciones de visualización AEC, que es a lo que vamos, que compilen de forma directa para Quest. La única solución pasa por editores de motores de videojuego como Unreal. No hay una solución “Oneclick” como la que uso de forma cotidiana, Enscape, que genera ejecutables para ser disparados desde cualquier ordenador con relativa potencia, también hacia unas gafas VR de forma instantánea. No hay APKs, el formato Android de aplicación, que es lo que son, no lo olvidemos, unas Quest.

Sí que hay aplicaciones nativas para Quest de revisión de modelos BIM en la nube de forma colaborativa, muy interesantes como InsiteVR, IrisVR Prospect, The Wild, y otros que no recuerdo ahora, cuya calidad gráfica es menor que lo que se pueda obtener desde Unreal, pero suficiente para su objetivo de revisión conceptual.

com.insitevr.oculusquest-20200407-165922

Pantallazo de una sesión de un modelo en InsiteVR

Por tanto, Opción 1 para desarrollar contenido de visualización para Quest: Unreal (o el motor de videojuego que sea) y el conjunto de añadidos necesarios de Android. Builds complicados y sensibles al SDK de Android que se esté utilizando, shaders limitados, cálculo y almacenamiento limitados. Calidad visual regular, pero suficiente en muchos casos.

APK Quest

Calidad gráfica obtenida en un build nativo de Quest, una APK de Android hecha en UnrealEngine. Es un test en el conocido VR template. Iluminación precalculada.

En Octubre de 2018 la multinacional Abbott llevó al congreso LabClin un stand con una zona VR que preparamos ex-profeso. El contenido que mostramos se preparó en Unreal Engine para unas HTC Vive Pro. A tenor por lo comentado, la experiencia de tres días tuvo bastante éxito, más de 50 profesionales del sector experienciaron un laboratorio de análisis clínicos hospitalarios en VR con diversas mecánicas de interacción, quizá demasiadas. Y nosotros aprendimos mucho de ellos, de sus reacciones y de un setup en un entorno que no se mostró como el ideal: cristales, reflejos e iluminación LED poco propicia. Hubo y hay que cambiar algunas cosas.

El contenido tardó en desarrollarse un par de semanas, y eso que ya teníamos una librería al 50% tanto de actores como de “shaders”. Hoy no llevaría aquellas gafas, llevaría unas Quest, pero querría la calidad gráfica que tuve en aquél evento en las Vive a través de una experiencia hecha en UnrealEngine. ¿Es posible combinar el conjunto de bonanzas de unas Quest con la calidad gráfica del renderizado en un ordenador de altas prestaciones? En aquel momento NO. Por otro lado una cosa es la calidad gráfica que yo quiera y otra es con la que se conforme un cliente neófito en VR, con poca base crítica o incluso pragmática, a veces no es necesaria una calificación triple A, me han convencido.

Las gafas Bowie

En noviembre de 2019, en el evento Oculus Connect se presenta de forma oficial algo que se venía cociendo durante el verano: Oculus Link. Conectar por cable USB las Oculus Quest a un ordenador y convertirlas en unas Rift S. Un cable un tanto especial, eso sí.

IMG_20191128_134936

Anker Powerline USB-C to USB3.0 – Model: A8167011 (3 m.)

El cálculo se realiza en el ordenador, como en cualquier modelo de la primera generación con total calidad, incluso con bakeado de iluminación premium, ya que no hay límite de memoria ni de proceso. Podemos hacer cálculos previos de iluminación con soluciones de muchos procesadores como la de la foto o con soluciones de cálculo en la nube como la de SimpleCloud o EC2 de AWS. A fin de cuentas se crea esta posibilidad para poder jugar con cualquier juego que lo haga en una Rift.

IMG_20171229_193401

Es decir builds convencionales. La Quest queda convertida así en una propuesta doblemente versátil, de segunda generación y sin sensores. Tanto que se ha cuestionado la necesidad de Rift S. Son unas gafas camaleónicas.

Sin sensores y sin cable: el santo grial de la VR

Seguimos teniendo cable. Ya nos hemos deshecho de los sensores. Pero para esto nos quedamos con unas Rift S, con unas HP Reverb o con unas Cosmos.

Ya hace tiempo HTC proponía una solución inalámbrica con su adaptador, es decir, el viaje contrario, convertir unas gafas de cable a unas autónomas. Pero es que el adaptador es un poco…

vive-wireless-adapter2w

Aparatoso

También había soluciones de terceros como TPCast pero requerían de una tarjeta especial que no se podía poner en ordenadores portátiles. Y seguíamos con sensores en ambos casos.

TPCast02

La solución de TPCast, algo menos aparatosa

Por último las gafas Vive Cosmos también disponen de la posibilidad de convertirlas en inalámbricas a través de el mismo adaptador, pero sigue siendo necesario un slot PCIe para el transmisor Gigabit y eso sólo lo hay en ordenadores de sobremesa.

Vive_Cosmos_Wireless_Adapter_back-1024x724

Las gafas Cosmos, sin sensores, inalámbricas, pero necesario un slot PCIe

Así la idea de unas gafas 6DOF autónomas, con controladores con buen seguimiento, y con contenido retransmitido de forma inalámbrica desde un portátil se desvanece, aunque hay esperanzas, ya que John Carmack en el mismo Oculus Connect sugería que la posibilidad de conectar unas Quest via Wifi a un ordenador que haga el trabajo sucio es certera pero de lanzamiento indefinido en el tiempo.

El truco del Wifi 5GHz

Desde los foros de usuarios de Enscape un día el usuario annevanzwol comenta que más allá de ALVR, Virtual Desktop, un viejo desarrollo de los comienzos de la VR actual para ver/trabajar en nuestro ordenador desde unas gafas, ha acabado siendo tan refinado y depurado que es capaz de enviar los frames a la velocidad necesaria a través de Wifi 5G a la aplicación Virtual Desktop de las Quest como para considerar olvidarnos del cable para siempre. Es decir, que funciona como una interfaz entre Quest y la aplicación VR que queramos ejecutar, interceptando la búsqueda directa de unas gafas conectadas y reenviando y recibiendo datos de forma inalámbrica.

Yo cuando leo esto me doy cuenta de que por fin hay un rayo de esperanza. Compro licencia, instalo router 5GHz y…¡funciona!

Opción 2: Virtual Desktop y WiFi 5G. Hacemos los builds de Unreal normales y corrientes para Windows. Además, funciona Enscape cuando cambiamos a modo VR. Todo se ejecuta en el PC o portátil y se retransmite via Wifi a las Quest.

Tan simple como:

  1. El ordenador host conectado por cable de red a uno de los nuevos router 5GHz (imprescindible).
  2. Las Quest conectadas a la misma red.
  3. Arrancar la aplicación VR desde las propias Quest y el retransmisor en el host.

En realidad no lo es tanto, ya que también hay que (si no lo está):

  1. Instalar Oculus Setup sin configurar ningunas gafas, no es necesario. Sí hace falta cuenta en Oculus.
  2. Instalar Steam. Hace falta cuenta en Steam.
  3. Instalar SteamVR.
  4. Instalar Virtual Desktop Streamer, que a su vez puede instalar, si no lo están, varios “redistributables C++” y reinicia un par de veces. Este preguntará por el usuario en de Oculus. Por eso hay que tenerlo.
  5. Instalar SideQuest que es libre.

En las gafas:

  1. Instalar Virtual Desktop versión Sideload con SideQuest.

Esto es debido a que a Facebook no le gustan estas chulerías, les han adelantado en su publicación de la opción inalámbrica y además le torean quienes publican juegos para Quest sin pasar por la tienda.

¿Y si tienes que ir a un cliente y este no tiene Wifi 5GHz, bla, bla? Bueno, eso es un poco más complejo, puesto que Virtual Desktop comprueba la licencia en internet cada vez que se arranca, y si no tiene acceso, pues no arranca.

Solución: llévate tu propia Wifi 5GHz. Accede a internet para la comprobación de licencia a través de los datos de tu móvil o tablet.

IMG_20200406_125830

TPLink AC1750 WiFi range extender. Model RE455. La doble IP tiene sentido ya que en el estudio tiene esa IP fija, y en visita tiene esa otra. Para acceder a la configuración debemos hacerlo por esa IP según a qué red se haya conectado. También podemos configurar desde el móvil.

Es decir, que convertimos nuestro móvil en puerta de acceso y con este aparatito creamos una red Wifi 5GHz en cualquier lugar. El portátil, conectado como se puede ver por cable. Autonomía de verdad.

Veamos el procedimiento de uso. Arrancamos Virtual Desktop Streamer en el ordenador. Los parámetros por defecto funcionan.

VirtuaDesktopStreamer

La primera vez hay que dar el nombre de usuario de Oculus

Es imprescindible que las versiones del Streamer y la del Virtual Desktop en Quest sean las mismas, cuidado.

Ni que decir tiene que las Quest deben estar configuradas para admitir aplicaciones de origen desconocido y en “developer mode” para lo cual puede ser necesario estar registra docomo desarrollador en Oculus (tampoco se podría, si no, hacer compilaciones desde Unreal y enviarlas a las Quest, por ejemplo). Aquí el proceso.

Se sugiere instalar el Launcher y yo lo hice, pero en posteriores ocasiones he podido arrancar Virtual Desktop desde la biblioteca. Viene bien tenerlo para arrancar Apks hechas en Unreal.

En ejecución y comprobada la licencia vemos esto:

VirtualDesktop.Android-20200405-162558

El host que va a retrasmitir ha sido reconocido y hemos conectado al estar ambos en la misma red. La pantalla nos indica en la parte inferior el modelo de gafas conectadas, versión de VD y varios indicadores de prestaciones. Importante en la parte superior el tipo de Wifi y el ancho de banda detectado, así como la IP de las gafas.

Desde aquí podríamos manejar sin ningún problema nuestro PC. Algo relativamente convencional y para lo que fue creado este programa.

Lo mandos tienen diversas funciones que es importante tener en cuenta. Por ejemplo el botón del izquierdo “Options” pulsado una vez es muy importante ya que muestra esta interfaz si ya estamos con la pantalla de nuestro ordenador, pero si está corriendo SteamVR hay que pulsarlo dos veces seguidas, ya que con la primera aparecen las opciones de SteamVR. Son cosas que hay que ir probando e interiorizando.

VirtualDesktop.Android-20200405-162613

La pestaña Settings muestra un montón de opciones que mejorarán la experiencia según la calidad de nuestra red 5G y la potencia del ordenador.

VirtualDesktop.Android-20200405-162627

Todas las capturas anteriores fueron realizadas con SteamVR encendido, por lo que no puedo mostraros un botón muy importante, que no aparece, y es el de “Launch SteamVR“, cuyo espacio ocupa ahora el que dice “Exit SteamVR“.

Antes de arrancar cualquier aplicación VR hemos de enceder SteamVR desde este botón, desde las gafas. Si no, es posible que VD no haga su función de interfaz. Cuando arrancamos SteamVR desde las gafas es posible que aparezca el Home de esta aplicación, ese entorno familiar desde el que lanzamos juegos. Tendremos que volver a Virtual Desktop para poder arrancar nuestra app.

Con SteamVR en marcha ya podemos buscar y arrancar nuestra aplicación VR desde las gafas, e incluso alternar entre estar en una aplicación VR que se esté ejecutando o ver el escritorio de nuestro PC con los botones “Switch to VR” y “Switch to Desktop”, botones que aparecen sólo cuando SteamVR está en marcha.

He constatado que precisamente la aplicación VR de la que hablaba que presenté con Abbott en el LabClin de 2018 funciona perfectamente aún siendo pensada para Vive. El refresco de 72 Hz no se nota demasiado pese a que fue diseñada para correr a 90 Hz.

VirtualDesktop.Android-20200405-162712

Tiene exactamente la misma calidad. Interpreta correctamente la altura sobre el suelo. El mapeo de botones de los controllers funciona perfectamente y los triggers de la aplicación responden. ¡Es sensacional!

SteamVR “se cree” que tiene conectadas unas Quest, los iconos son esos…

VirtualDesktop.Android-20200405-162936

Por supuesto esto no era para mí suficiente. Utilizo a diario Revit y Enscape y quiero comprobar si va a ser igualmente fácil llevar un EXE de Enscape a Quest. Arranco el ejecutable que comienza siempre en modo desktop.

VirtualDesktop.Android-20200406-123427

Desde el propio Virtual Desktop cambio a realidad virtual en la app:

VirtualDesktop.Android-20200405-162956

Ajusto algunos parámetros

VirtualDesktop.Android-20200405-163112

Y a visitar el laboratorio

VirtualDesktop.Android-20200405-163216

He de decir que Enscape no se comporta con la misma fluidez que un ejecutable nativo Win de Unreal en el mismas circunstancias de gráfica y procesador. También es cierto que el ejecutable que menciono tiene la luz precalculada en su mayor parte y está bastante aligerado de polígonos, mientras que Enscape NO precalcula GI ni sombras ni nada, es una bestia que lo hace todo en tiempo real según toma el modelo de Revit. En una ejecución con cable, no se nota, pero con este camino sí. Se puede limitar la calidad, hay cuatro niveles, y según el modelo vale uno u otro. Posteriormente he hecho una prueba con el mismo ejecutable de Enscape en una Z8 dual Xeon equipada con una RTX2080 y va muy bien. P4500

¿Qué es lo siguiente? ¿Podría evitar el uso de un ordenador y realizar la computación en la nube en cualquiera de las soluciones que hay? Sí pero aún no. Se están poniendo más que los cimientos. Amazon Wavelength considera que colocar sus infraestructuras para crear instancias EC2 en los mismos centros de datos y cálculo de los operadores de telefonía móvil y fibra óptica es parte fundamental del concepto (Edge Computing). Si el ancho de banda de fibra óptica hoy y telefonía 5G mañana es igual a los más de 800 Mbps que habéis visto en Virtual Desktop, la latencia máxima está garantizada para hacerlo.

Eso se lleva haciendo en el High Frecuency Trading para alojar algoritmos y procesadores (especulación de valores en tiempos ultracortos donde los milisegundos cuentan a la hora de comprar o vender grandes paquetes de títulos) desde hace años, acercar los centros de datos a donde se cuece el asunto.

Edge_Computing

Bueno, hasta aquí hemos llegado. Me consta, por una publicación que hice hace varias semanas en LinkedIn, en la cual me comentaban algunos compañeros que esperaban anhelantes este ladrillo por el que pido disculpas por su extensión y tecnicismos.

 

 

2 comentarios leave one →
  1. 16 abril, 2020 1:33 pm

    Buen repaso de state-of-the -art, y bastante hand-on. En el lado Wifi de las cosas, lo otro que se está moviendo de hace algún tiempo es la promesa de nuevo estándar Wifi 6e se supone logrará llevar el throughput de las experiencias tether-less a un grado de fiabilidad que ya rivalice con el cable. Falta todavía, pero si con 5Ghz ya se puede tener algo decente, con esto la promesa es el adiós a los cables.

    https://www.techspot.com/news/83483-wi-fi-alliance-introduces-new-wi-fi-6e.html
    https://www.lightreading.com/mobile/wi-fi-6e-designated-for-wifi-6-devices-capable-of-6ghz-operation-/d/d-id/756537

    Por cierto, gracias por la mención a nuestra experiencia de la Laver Cup para Oculus Go, me anima que alguien con tanta experiencia la haya encontrado buena 🙂

    • 16 abril, 2020 3:32 pm

      Hago recíproca la admiración, Víctor. Echaré un ojo a los enlaces que apuntas, ya que si con Wifi5G el ancho que muestra VD es de más de 800 Mbps, con esta tecnología que mencionas no puedo imaginar. El caso es que para Quest he de tener listos los dos flujos de trabajo. El del artículo es uno de ellos, para calidad sin límites. El otro es generar una APK nativa y liberar al cliente de portátil alguno bajando algo la calidad, aunque por las pruebas que estoy haciendo tampoco una rebaja sustancial, la verdad. ¡Gracias! Os agradeceré que me tengáis al corriente de nuevos desarrollos similares a Laver Cup. Que por cierto, si al final se celebra en España supongo que tendréis lista toda la artillería de mkt para que se haga buena publicidad, harán falta partners importantes.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .

A %d blogueros les gusta esto: