Archives de l’auteur : Xavier

New webgl demo : Tiananmen 1989

En ces temps où le contrôle de la liberté d’expression est plus que jamais un sujet à la mode, notamment grâce aux révolutions arabes et aux dernières révélations de wikileaks sur les entreprises occidentales ayant vendu des technologies de surveillance électronique à des dictatures ( http://wikileaks.org/the-spyfiles.html ), nous dévoilons notre nouvelle démo webgl consistant en un espace dédié à la liberté d’expression.

Avant d’aborder les aspects techniques de cette démonstration, je vais me permettre une rapide digression par rapport au sujet principal de ce blog, sur les évènements historiques l’ayant inspiré.

A partir du 15 Septembre 1989, un important mouvement populaire se forme sur la place Tiananmen, à Pékin. Ce mouvement est mené essentiellement par des étudiants, des intellectuels et des ouvriers. Ces deniers demandent des réformes politiques et démocratiques. Bien que ce mouvement soit totalement pacifique, le gouvernement communiste chinois met en place la loi martiale le 20 mai. A partir du 4 Juin, l’armée populaire ouvre le feu sur la foule. Le nombre de morts n’a pas été évalué avec certitude, et oscille entre plusieurs centaines et quelque milliers.

En Juin 1989, un manifestant  se place sur le chemin d’une colonne de chars, sur l’avenue Chang’An, qui borde la place Tiananmen au nord. Si l’identité de cet homme n’est pas connue, cette image est mondialement célèbre de par son puissant symbolisme.

Actuellement, même si la Chine n’est plus celle de Mao, elle reste une dictature communiste où la liberté d’expression est contrôlée et où les médias sont censurés. Leur outil de censure de l’Internet, le GFW (pour the Greate FireWall )  ne cesse de se perfectionner : il filtre le contenu des paquets lisibles, bloque les proxies, effectue du DNS poisoning, relentit les connexions HTTPS et de nombreux VPN, ….

Notre démonstration fige cet instant historique, et transforme ce symbole de la répression en un lieu de liberté d’expression. Tout internaute peut peindre et coller des images sur les chars, sur le sol ou sur le monument à la gloire des héros du communisme. Les modifications peuvent être sauvegardées sur le serveur de sorte à les partager.

Au niveau technique, les maillages ont été exportés de Blender. Les intersections se font via un octree créé à l’exportation de Blender, et non plus au chargement en javascript comme dans notre précédente démo Cadillac Ranch . Le serveur recréé le processus de création effectué côté client avec GD, la librairie de gestion d’images de PHP.

La démonstration est disponible ici : http://www.spacegoo.com/tiananmen

Et la vidéo capture d’écran pour les non compatibles webgl (profitez de Noël pour changer de PC ) :

Tiananmen 3D
Runtime
2:25
Compteur de vues
398

 

Welcome to SPACEGOO BEACH

A défaut de pouvoir partir sur une plage des tropiques pour contempler un océan bleu turquoise, nous avons recréé en partie ce genre de paradis sur spacegoo.com.
Ainsi notre dernière démo webgl, SPACEGOO BEACH, est une simulation d’océan.

La surface de l’eau est représentée par une surface maillée de façon plus resserrée au centre, sur laquelle sont appliquées deux textures : celle du ciel et la texture du fond. Pour calculer les coordonnées UV relatives à l’application de ces textures, nous utilisons les lois de Descartes dans les shaders via les fonctions refract et reflect.

Les vagues sont représentées par une superposition de 10 ondes sinusoïdales. Leurs paramètres sont liées via des lois empiriques que l’on peut trouver sur cet article de wikipédia.

Cliquez ici pour lancer la démo

Pour les non compatibles webgl, qui n’ont pas profité des promotions de la rentrée pour s’acheter un nouvel ordinateur, voici la vidéo capture d’écran :

SPACEGOO beach
Runtime
1:01
Compteur de vues
10,421

Nouvelle démo webgl : traceur de surfaces

Le webgl peut avoir des applications mathématiques intéressantes, notamment dans le cas de la représentation d’objets 3D telles les surfaces.
Nous avons développé un traceur de surfaces en 3D de type z=f(x,y) , qui prend en compte les différentes fonctions mathématiques fournies par le javascript.
Le traceur est disponible ici : spacegoo.com/demo_plots.php

Si vous n’êtes pas compatible webgl, vous pouvez toujours admirer cette vidéo capture d’écran :

SPACEGOO plots
Runtime
0:58
Compteur de vues
192

Convertir ses applications HTML5 en Flash

html5 to flash icon

Le gros problème des jeux HTML5/Flash est que l’on ne peut pas les proposer à la majorité des sites internet regroupant des jeux flash.
Ce problème est résolu en utilisant notre convertisseur HTML5 to Flash.

Le .SWF produit remplace l’élément OBJECT ou EMBED par une IFRAME menant vers le jeu HTML5. Cependant plusieurs restrictions existent concernant la page affichant le SWF :
– la taille de l’élément OBJECT/EMBED doit être d’au minimum 450×350 pixels
– l’élément OBJECT/EMBED ne doit pas avoir l’attribut allowscriptaccess='never'. C’est peu fréquent mais présent sur certains sites de jeux flash (par exemple sur kongregate.com).

Le SWF produit peut être compressé d’environ 50% en utilisant SWFTOOLS. La commande à exécuter est la suivante : swfcombine -dz file.swf -o file_new.swf.

Accéder à notre convertisseur HTML5 to Flash

Une petite démo de SPACEGOO MAZE en faux Flash :

Mise à jour de la démo de jeu de cartes

SPACEGOO CARDS v2 est en ligne. Par rapport à la première version, nous avons :

  • Allégé la démo (elle pèse maintenant 1,7MO), notamment grâce à une simplification du maillage du personnage,
  • Fluidifié les mouvements
  • Ajouté le clignement des yeux par changement de texture
  • Ajouté un mouvement léger de respiration
  • Ajouté des accessoires (un chapeau et des lunettes)
  • Rajouté des expressions du visage, par déformation du maillage en deux points
  • Mis en place un menu à droite pour éviter le recours systématique au clavier
  • Relooké le personnage (surtout la coiffure !)

Afficher la démo

Si vous n’êtes pas compatible webgl, vous pouvez toujours admirer la capture d’écran vidéo :

WebGL card Dealer (v2)
Runtime
0:58
Compteur de vues
547

Nous sommes maintenant dans les starting blocks pour le développement d’un poker complet.