Processing Stéréoscopie 14 / 02 / 2007 | 0 commentaires | Programmation - 3D Temps Reel

Voila la solution la plus simple et la plus rapide que j'ai trouvé a l'heure actuelle pour faire de la stéréoscopie dans Processing. L'astuce est finalement assez simple, il suffit de faire appel directement a la librairie OpenGL (Processing ne donnant pas accès a toutes les fonctions OpenGL) et de dessiner deux viewPort au lieu d'un seul. Évidement la rapidité du programme est divisé par (presque) deux puisque la scène doit être dessinée deux foi (une foi pour chaque oeil). Il semblerai d'après Douglas que l'on puisse retenir le pipeline envoyé a la carte graphique et donc ne pas le redéfinir à chaque frame. Ainsi tous les éléments qui ne changent pas visuellement dans la scène pourrai être quelque peu optimisés.

En tout cas, tel quel, cette méthode permet de bien s'amuser et fonctionne parfaitement sur le dispositif de projection polarisée stéréoscopique.

Les deux rendu sont disposés l'un a coté de l'autre affin de pouvoir étaler la scène sur les deux bureaux du poste de travail et donc utiliser facilement deux projecteur avec un seul ordinateur.

Pour voir l'exemple il faudra accepter le "certificat de sécurité" car l'applet utilise OpenGL.

Teapot Model 20 / 01 / 2007 | 0 commentaires | Programmation

Une petite simulation de théière réalisée pour le Workshop CAVE qui a eu lieu cette semaine. Le programme utilise le modèle d'eau du projet Lucarne et un super effet de particule très très réaliste (oui oui oui !!).

Les spécialistes reconnaîtrons tout de suite l'influence artistique de Yannick, mon hôte cette semaine.

Plus d'infos et des vidéos a venir ...

Water Model 20 / 12 / 2006 | 0 commentaires | Programmation

Voici une partie du programme Lucarne 01. Il s'agit uniquement du modèle de la vague (pas mal allégé) qui ne réagit ici qu'au clic de la sourie. Alors pourquoi le mètre en ligne ? Bah parce que je trouve ça rigolo !

Si vous jetez un coup d'oeil aux sources vous verrez que l'effet de vague repose principalement sur une ligne. En modifiant les quelques paramètres de l'opération effectuée à cette ligne (n°94) on arrive a des résultats assez blizzard. Parfois un centième de plus ou de moins produit un changement radicale. Ce petit centième perdu dans cette page de code donne un coté poétique au programme. Si l'on crois reconnaître dans cette image une esthétique biologique, sa simulation dépend a 99% d'une partie infime du mécanisme de l'image.

Asteroïd 16 / 12 / 2006 | 0 commentaires | Jeu Video - Programmation

Voila un petit jeu que Virginie et moi avons réalisé il y a quelques mois ... sans doute un jour de pluis. Le programme n'est pas 100% au poind mais le jeu est jouable alors il faut tout de suite que vous l'essayez !!

Acceptez le "certificat" pour que sa marche car le programme utilise OpenGL, bref cliquez sur "OUI" ou "OK" sans vous posez de question.

Lucarne 1.2 11 / 12 / 2006 | 0 commentaires | Ecole Art - Projets - Programmation

Voila la première vidéo d'un nouveau programme. J'essaye de simuler un espace virtuel simple visible depuis plusieurs écrans (les lucarnes).

Attracteur de Lorenz 04 / 11 / 2006 | 0 commentaires | Programmation

Ne trouvant pas de représentation de l'attracteur de Lorenz sur le web Nico et moi avons donc programmé notre propre attracteur de Lorenz en java. Et comme c'est rigolo je l'ai mis en ligne !!

Détérritorialisation 04 / 06 / 2006 | 0 commentaires | Ecole Art - Programmation - 3D Temps Reel

J'ai enfin trouvé le le temps de recompiler le code sur lequel Galen et moi avons travaillé. L'idée de départ étée de modifier les sources de Quake 3 dans le but de "détéritorialiser" l'environnement du jeu. Pour ce faire j'ai travaillé sur un moyen de permettre à tous les joueurs d'utiliser les murs et les plafonds en plus du sol comme surface de déplacement tendis que que Galen s'est attelé a les dématérialiser en permettant a tous les projectiles de passer a travers.
Dans cette vidéo le fait de marcher sur les murs n'est pas mis en évidence car je n'ai pas eu l'occasion de jouer avec de vrai joueurs et que les bots sont trop bête pour profiter de cette opportunité. Cependant le décors deviens souvent complètement blanc (grâce a un bout de code que Galen voulais lésés) ce qui d'un certain point de vue change complètement l'aspect du "Death Match". Les corps se distinguent très bien sur le font blanc et les taches de sangs exagérément grandes mettent d'avantage en évidence l'action générale.

pitit Sketch 26 / 05 / 2006 | 0 commentaires | Programmation

Voila un petit sketch rigolo que j'ai fait cette après-midi. Les idées les plus simples sont souvent les plus amusantes, et pour une foi je ne trouve pas que la couleur verte soie moche !

Video Sketch du soir 22 / 04 / 2006 | 0 commentaires | Programmation

Finalement ma Webcam marche dans Processing ! Alors bien sur il fallait que j'écrive ce petit programme pas du tout originale mais toujours rigolo pour tester tout ça : les petites disques noir tombe d'en haut de l'image et son arrêtés par les éléments qui rentrent dans le champs de la vidéo (sur l'image ma main et mon bras), si l'obstacle bouge vers le haut il entraîne les disque noir avec lui.

Un autre sketch du soir 16 / 03 / 2006 | 0 commentaires | Programmation

Cet espèce de serpent me plais assé, je l'utiliserai sans doute dans un autre programme ou il me faut plusieurs entités autonomes se déplaçant dans un espace circulaire. Ce qui est bien avec ce serpent est qu'il est facile de repérer son orientation, et qu'il peu avoir l'air recroquevillé ou élégamment libre suivant son rayon d'action.

Sketch du soir 14 / 03 / 2006 | 0 commentaires | Programmation

espoir ? J'espère qu'un jour Processing permettra de compiler son code. Enfin celui la ne rame pas trop : j'ai fait en sorte que la scène ne soit dessinée que 25 foi par seconde ce qui allège pas mal le processus. Je ne pense pas que cela soit la meilleur solution pour gérer la "cadence" d'une application. D'ailleurs je ne suis pas sur qu'il existe une solution pour ce genre de problème ce qui est assez ennuyeux pour mon moteur 3D. Bref en attendant sa n'empêche pas de s'amuser a faire des ptit programmes rigolo !!

Fichiers .OBJ 07 / 03 / 2006 | 0 commentaires | Programmation - 3D Temps Reel

Deuxième étape presque affranchie ! Mon "moteur 3D" peu maintenant importer des fichiers OBJ. Presque car il me faut aussi interpréter les fichier MTL qui correspondent au matériau de chaque objet (pas très complique). Pour l'instant les polygones composé de 5 vertices et plus ne sont pas dessinés. Rendre illimité le nombre de vertex par polygone compliquerai un peu trop mon parser !! Et puis en générale un "Bon model" n'est compose que de triangles.

Premiere application OpenGL 02 / 03 / 2006 | 0 commentaires | 3D Temps Reel - Programmation

Je viens de commencer ma première application OpenGL en C en utilisant XCode sur Mac OS X. C'est pas évident mais d'un autre cote c'est très claire. J'ai trouvé un site qui contient plein de tutoriel très très utiles : nehe.gamedev.net
Pour l'instant vu que je ne savais pas comment faire autrement, le tout est en C ce qui n'est vraiment pas la meilleur solution pour faire quelque chose de complexe. Mais maintenant que je sais comment commencer un projet en C++ sans utiliser XCode (merci Ben) je vais pouvoir commencer quelque chose de plus intéressant.

Read Turner 23 / 02 / 2006 | 0 commentaires | Programmation - 3D Temps Reel - Ecole Art

J'ai améliore ma fonction pour lire un fichier dans le but de pouvoir lire un BMP et choisir parmi une palette de couleur la couleur la mieux appropriée a chiques pixel. En réalité (ou virtualité) ma palette est constituée de 7 polygones de couleurs différentes sensée pouvoir reconstituer en 3D une version en 7 couleurs d'une peinture de Turner. Pour l'instant cette information directement tirée d'un Bitmap d'une photo du tableau est simplement utilise pour reconstituer le tableau a partir de 7500 polygones fixs, mais la prochaine étape devrai être plus intéressante.

Read File 18 / 02 / 2006 | 0 commentaires | Programmation - 3D Temps Reel

J'ai recement decouvert le "Data Glitching" (j'ai auqu'une idee de la traduction) et je trouve ca asse interessant. Il s'agit de lire les informations contenu dans n'importe quel type de fichier informatique et de jouer avec (les modifiers, les mellanger, les permuter). On peut par exemple ouvrire un MP3 dans photoshop avec une representation graphique des donnees, apliquer des filtres visuels a cette image puis enregistrer le tout et voire le resultat lorsque l'on reecoute le fichier sond, ou bien simplement lire le stram video d'une web cam comme un sond, ou une video comme une image, etc ...

J'aimerai bien apliquer ce processus a mes univers en 3D temps reel. Peut etre que ca serai une bonne idee pour integrer une interaction plus elaborer entre l'interface et l'espace virtuel, surtout vis a vis de toutes les theories sur les quels cela reposes (Claude Shannon : la theorie de l'information). Bref j'aimerai bien voir ce que cela peu produire, alors aujourd'hui je me suis attaquer a : comment ouvrire un fichier et le lire en C++ !

Premiere scene 15 / 02 / 2006 | 0 commentaires | 3D Temps Reel - Programmation

En fait il s'agit surtout d'un "travail a la maison", un devoir dont le but est de faire une scène dans YG sans utiliser de texture. Donc c'est l'occasion de tester ma fonction qui Spawn des Nodes !!
J'aime beaucoup le rendu de ce travail : ICI
J'aimerai bien trouver un graphisme qui reprenne cette idée de transparence, je sais pas encore dans quel but, c'est juste une piste comme ça. Mais pendant que je poste cet article je me rend compte que c'est vraiment moche ce que j'ai fait aujourd'hui.

Spawn Function 12 / 02 / 2006 | 0 commentaires | Programmation

Sa y est, après de longues heures de prise de tète ma fonction Spawn marche enfin !!
Finalement la méthode a Ben n'était pas stable et la solution la plus simple était en fait de créer un objet, du lui attribuer des propriétés puis de créer un node affin de mètre l'objet dans le node et le node dans le node actuel. Ainsi je vais pouvoir utiliser un node principale, et le programmer pour qu'il génère tout le contenu de la scène en "Spawnant" différents types d'éléments. Pour l'instant je ne sais pas dans quel but je vais utiliser tout ça mais il me semblait essentiel de pouvoir utiliser une fonction Spawn. Ainsi je peu faire tout mon binz dans ma classe principale et tout gérer moi même.

Peut être que je vais essayer de bidouiller la manière dont est calculé le rendu pour arriver a quelque chose de plus "Artistique", avec des traînées par exemple ... enfin pour l'instant j'aimerai surtout commencer mon interface ...

Finalement ... 31 / 01 / 2006 | 0 commentaires | Programmation

Finalement Processing c'est vraiment pas très rapide. J'ai essayer de continuer (encore) mon petit programme de "simulation cellulaire" mais décidément sa rame vraiment trop. En plus je ne trouve plus ça intéressant. Je vais essayer le C++ dans Xcode, ça devrai être beaucoup plus rapide ... mais je ne sais pas si je vais encore faire un modèle comme celui la ... bref je ne sais pas :)
Donc voila la suite du programme. Dans cette version on peu régler le grossissement de la scène, et les cellules sont actualisées les unes après les autres (au lieu de toutes a la foi). Ce qui rame moi mais foire complètement la notion de temps. J'aime pas du tout cette version, mémé graphiquement c'est beaucoup moins intéressant, mais bon.

Mon premier programme en 3D !! 30 / 01 / 2006 | 0 commentaires | Programmation - 3D Temps Reel

Je n'avais jamais essayer de programmer pour générer des formes en 3D (a part une foi ou je m'était pris la tète pendant toute une soirée sans résulta) mais grâce au cour de Douglas "ddd" j'ai pu retenter l'expérience.
Le programme que j'ai fait n'est vraiment pas du tout originale, c'est juste un prétexte pour apprendre. A l'école quelqu'un est venu montrer a Ben (mon prof) un programme qu'il avait fait qui permettait de lire du son avec une représentation du fichier son en 3D. Seulement il n'avait pas réussit a modéliser l'enveloppe du fichier son autrement que par une grande spirale et cherchait une solution pour construire un volume. J'ai tout de suite pensé a une solution et c'est ce que j'ai fait dans ce programme. Je n'ai pas réussi a l'exporter ... sans doute parceque j'utilise deux librairies (OpenGL et Sonia), ou sans doute parceque Processing n'est pas encore suffisamment au point. Donc il s'agit simplement d'un programme qui joue plusieurs sons différents (qu'on change en clinquant) et qui permet de voir l'enveloppe des sont en cour de lecture sous la forme d'un volume en 3D. Un peu comme l'espèce d'ossilloscope de Winamp mais en 3D. Malheureusement je ne peu donc mètre sur mon blog qu'une image ... mais il faut s'imaginer qu'il y a du son et que s'est très frénétique !!

Simulation cellulaire (suite) 21 / 01 / 2006 | 0 commentaires | Programmation

Voila un petit moment que je travail sur ce programme de temps en temps. En gros il s'agit de la suite de mes test sur la simulation du modèle d'embryogenese de Jean-Jacques Kupiee. Ce programme n'est pas la version finale mais il contient toutes les fonctions dont je devrai avoir besoin. Visuellement il y a des points rouges, des points verts, et des vapeurs rouges et vertes (qui deviennent jaunes quand elles se croisent). Les points rouge et verts sont les deux types de cellule et les vapeurs les enzymes qu'elles produisent. Ces vapeurs auront une influence sur le comportement des cellules mais a l'avenir je ne pense pas que je les rendrai visibles comme ici.

Simulation cellulaire 03 / 12 / 2005 | 0 commentaires | Programmation

Dans le but d'essayer de reproduire le model d'embryogenèse de Jean-Jacques Kupiee décrit dans Science et Avenir Hors série Juillet 2005, j'ai commencé a écrire un petit programme dont voici deux premières ébauches. Je me suis amusé à donner un fonctionnement arbitraire aux cellules, juste pour m'amuser un peu. Dans les deux programmes ci dessous les règles sont les même, seul leur positionnement, la population initiale et maximale sont différents. Le programme de gauche commence avec 350 cellules regroupées au centre de la zone, tendis qu'a droite 3000 cellules sont réparties au hasard sur toute la zone. Le but ? S’amuser a cliquer pour relancer les simulations et observer le résulta.

Champ 1 30 / 11 / 2005 | 0 commentaires | Programmation - Photographie

Voila un petit programme dont j'ai eu l'idée en faisant une série de photos d'un champs. Sur cette image les 37 photos du champs (prises de nuit) défilent en même temps qu'elles se fondent les unes au autres pour ne créer qu'une seul image a partir des fragments initiaux.

premiers essais avec Processing 27 / 10 / 2005 | 0 commentaires | Programmation

Un petit programme que j'ai fait pendant les cours a Douglas pour tester les Class dans Processing avec plein de couleurs et tout et tout.

Travail sur le rendu 02 / 07 / 2005 | 0 commentaires | Programmation - 3D Temps Reel - Level Design

J'ai commencé a travailler un peu sur le rendu de cette map, avec en tète l'idée d'un rendu a la Sin City. Techniquement il s'agit d'un Fragment Programme qui est appliqué au rendu de la scène (préalablement texturée). Ce programme vérifie si un pixel est dessaturé, si oui il le converti en un pixel a 100% noir ou blanc selon un seuil.

004 - Pixel Shader 10 / 03 / 2005 | 1 commentaires | Programmation - 3D Temps Reel - Level Design

Le but de ce projet était de reproduire la vision de la mouche. Les yeux de la mouche sont composés de milliers d’œil indépendants reliés nerveusement de manière linéaire. Grossièrement la mouche ne voit que les changements. Elle n’analyse pas une représentation visuelle détaillée de son environnement mais ses mouvements. L’expérience consisterait donc a mettre le visiteur face à la reproduction d’un espace classique très réaliste qu’il devra appréhender avec des yeux d’une mouche.

002 - IA Foot 12 / 02 / 2005 | 0 commentaires | 3D Temps Reel - Programmation - Projet

Premier projet de programmation sous Doom 3.
L’objectif était de programmer un des monstres de Doom 3, le redoutable et sanguinaire Hell Knight, pour qu’il puisse jouer au foot par équipe de 2 avec une grosse balle rose.

I.A. Test 02 / 02 / 2005 | 0 commentaires | Programmation - 3D Temps Reel

Une de mes premières tentatives de programmation sous Doom 3.
Il s’agissait ici de programmer un des monstres du jeu pour qu’il puisse identifier ces semblables ainsi que les cubes rouges que l’on voit sur l’image. Et de faire en sorte qu’il sache se déplacer vers le barycentre des éléments qui apparaissent dans son champ de vision.
Login