The first weblog devoted to Demoniak3D Demo-System

[Update] Spiral Galaxy Demo

February 8th, 2008 Posted in Demos, FR, UK | 6 Comments »
  • English
  • French

Dr Goulu vient de faire une mise à jour de sa demo de simulation des bras spiraux d’une galaxie. La simulation utilise maintenant plusieurs vertex-pools pou mélanger différentes textures de particules.

Homepage – Download: Spiral Galaxy Demo




Les touches [F1, F2] et [F3, F4] permettent de modifier les paramètres régissant la formation des bras spiraux. Les paramètres de l’image ci-dessous sont les suivants: eratio=0.875 et etwist=21.800.

Jointure (Seam) Visible sur les Meshes

February 7th, 2008 Posted in FR, Tips'n'Tricks, Tutorials | No Comments »

Dans ce billet nous allons voir le phénomène de jointure qui apparaît sur certains meshes et comment y remédier. Je reçois souvent des feedbacks par rapport à ce problème qui en réalité n’en est pas un. La jointure (ou seam dans la langue de shakespeare) sur la surface d’un mesh est visible seulement lorsque le mesh est éclairé. Sur l’image suivant, le mesh de gauche possède une belle jointure tandis que celuide droite en est dépourvu.

Le phénomème de jointure prend sa source dans la normal d’un vertex. Le mesh sphère peut être vu comme une feuille de papier que l’on a réussi à plier de manière à former une sphère. L’endroit ou les bords de la feuille se rejoingent forme la jointure. A cet endroit, plusieurs vertices ont la même position mais ont des vecteurs normaux différents:

Sur cette image l’explication devient claire: au niveau de la jointure, on voit que pour chaque vertex il y a deux vecteurs normaux. En réalité il y a pour chaque position deux vertices, chacun avec sa propre normale. Et comme l’éclairage est basé sur la valeur du vecteur normal, la jointure entre les bords du mesh sphère apparaît très nettement.

Maintenant que nous avons vu d’où vient la jointure, regardons comment la supprimer. Cette suppression est activée par défaut dans les logiciels de modélisation mais comme Demoniak3D est avant tout un outil d’apprentissage et d’expérimentation de la 3D temps réel, la jointure n’est pas supprmée par défaut car il est important de comprendre ce que c’est et comment y remédier. Théoriquement, pour supprimer cette jointure, il suffit que les vecteurs normaux situés sur la jointure aient la même valeur. Pratiquement, cette opération porte le nom de Average Normals (ou moyenner les normals) et s’effectue le plus simplement du monde avec l’instruction average_normals dans le noeud mesh:

<mesh name="sphere01" lighting="TRUE" average_normals="TRUE" >
</mesh>

Le LUA n’est pas en reste, plus que la fonction AverageNormals() de la librairie HYP_Object permet de faire la même chose:

HYP_Object.AverageNormals( "sphere01" );

Les normales ont été moyennées dans la sphère de droite et ont été laissées tel quel dans la sphère de gauche.

Le code source de cette démo est disponible ici:
[ DEMO Mesh Seam - DOWNLOAD ]

Cautiques Animées

February 5th, 2008 Posted in Demos, FR | No Comments »

Je disais dans ce post que j’allais coder aussitôt que possible une petite démo qui utilise les jeux de caustiques disponibles ici: PeriodicCaustics.

Voilà c’est chose faite:

Téléchargement: CAUSTIC DEMO – DOWNLOAD

Sur la page web PeriodicCaustics vous trouverez 8 packs de textures de caustiques. Chaque pack est composé de 32 textures seamless qui forment une animation sur 32 frames.

La demo vous montre comment charger directement en LUA toutes ces textures puis effectuer l’animation. Cerise sur ce gateau caustique, la demo charge 2 packs de cautiques avec un rendu multitexturé. Pour des raisons de place disque dur et temps de chargement, j’ai converti les textures en jpg (elles étaient au format tiff).

Ce code de rendu de caustiques est utilisé dans la demo de l’ile déserte pour le rendu du fond sous-marin visible depuis la surface de la mer.

La petite video pour voir de loin à ce que ça donne:



Lens Flares

February 5th, 2008 Posted in Demos, FR, Tutorials | 3 Comments »

Voila une petite demo toute simple de l’utilisation du moteur de lens flares de Demoniak3D.

Une source lumineuse est placée en [-50.0; 150.0; -400.0] et représente la lumière du soleil. Un modele à géométrie complexe (issue de la celèbre invitation de la demoparty VIP2 – une des meilleurs demos!) est posé entre la source de lumière et la caméra:

Le code d’initialisation du moteur de lens flares est le suivant:

HYP_LensFlares.Init();
HYP_LensFlares.SetIntensityFactor(500.0);

La fonction SetIntensityFactor() permet de régler le facteur d’intensité alpha qui est appliqué aux différentes flares. En régle générale ce facteur doit être égale à la moitié de la largeur de la fenêtre 3d. Lorsqu’un flare atteint les bords de l’écran, ce facteur fait que la composante alpha du flare est proche de zéro et il devient totalement transparent.

Le phénomène de lens flares est créé par une source de lumière (en général très intense) qui montre les imperfections des lentilles de la caméra. Cette source de lumière est prise en compte avec la fonction AddFlaresSource():

HYP_LensFlares.AddFlaresSource("sunlight");

AddFlaresSource() prend soit le nom d’un objet soit son ID.

Maintenant il ne reste qu’à ajouter les différents flares:

RGBA = 1;
flare_tid = HYP_Texture.LoadTex2D( "flare1.jpg", RGBA, 0 );
size = 1.1;
position = -1.0;
r = 1.0;
g = 1.0;
b = 1.0;
a = 1.0;
HYP_LensFlares.AddFlare( flare_tid, size, position, r, g, b, a );

Les paramètres qui définissent un flare sont sa texture, sa taille, sa position et sa couleur. La texture et la couleur sont explicites. La taille ou plus exactement facteur de taille permet de fixer la taille de rendu d’un flare. Un facteur de 1.0 dessine un flare de la même taille que l’image de la texture. La position est le paramètre le plus complexe. C’est une position relative par rapport au centre de l’écran. Les flares sont positionnés sur un rayon imaginaire dont l’origine est la source de lumière et qui passe par le centre de l’écran. Une valeur de 0.0 place un flare au centre de l’écran. Une valeur de -1.0 place le flare sur la source lumineuse et une valeur de 1.0 place le flare à l’autre extrémité du rayon. Toutes les valeurs réelles pour le paramètre position sont valables. A vous de choisir celles qui conviennent le mieux.

Un petit merci à Steph3D pour avoir pondu quelques belles textures de lens flares.

Cette démo de lens flares est disponible dans le répertoire “Samples/LensFlares/” de Demoniak3D.

Les lens flares sont utilisés dans la demo de l’ile déserte.

Bon coding!

Demo Desert Island

February 5th, 2008 Posted in Demos, FR | 3 Comments »

Une nouvelle démo est dispo. Le modèle de l’ile a été fait par Steph3D voici bientôt un an (comme pour la plupart des demos récentes et à venir) avec Cinema4D. Le modèle a ensuite été sorti de C4D avec le plugin Riptide et converti dans le format o3mff avec HyperView3D pour des raisons de protections. Cette petite demo (ou petite car finalement à part le modèle de l’ile, la skybox et la flotte, ya pas grand chose) montre l’utilisation des lens flares (qui, l’air de rien et pour pas cher, ajoutent une bonne touche de réalisme) et le rendu d’eau avec normal mapping et réflection. Il y a aussi le rendu des caustics sur le fond de l’eau (visibles depuis la surface). Cette demo utilise Demoniak3D 1.20.0.

Les liens:
- Demo’s Homepage
- WIP de la demo
- Fil de discussion (feebacks/bugs)



Demoniak3D 1.20.0

February 5th, 2008 Posted in FR, News | 1 Comment »

Suite au codage de la demo de l’ile deserte, une nouvelle version de Demoniak3D vient d’être releasée. Au menu, quelques obligatoires corrections de bugs et l’ajout d’un petit moteur de lens flares en full LUA (entendez par là pas de support XML pour utiliser les lens flares).

Les liens:
- Demoniak3D Download
- Demoniak3D ChangeLog
- La librairie HYP_LensFlares

Happy coding!

Compilation de liens Demoniak3D

January 27th, 2008 Posted in FR, News | No Comments »

Je viens de créer un fil de discussion avec une compilation de liens utiles pour coder et créer des scènes 3D avec Demoniak3D. Il y a de tout: tutoriaux, resources (modèles3D, textures, audio), utilitaires, …

Si vous avez d’autres liens utiles pour les développeurs Demoniak3D, n’hésitez pas à poster dans ce fil de discussion, il est là pour ça.

- Demoniak3D Useful Links

Nouvelle Demo: Old Building

January 26th, 2008 Posted in Demos, FR, News | 1 Comment »

Une nouvelle démo est dispo pour le plaisir des yeux et des cartes graphiques. Cette démo met en scène un modèle 3d réalisé par Steph3D sous Cinema4D que je me suis ensuite bien amusé à importer dans Demoniak3D. Mais le résultat en valait la peine car la modélisation est superbe. Le modèle de base possède un bon paquet de textures 2048×2048. Donc comme tout le monde n’a pas une carte avec 512Mo+ de ram graphique (hein shadow!), j’ai compréssé en DXT1 toutes les textures 1k et 2k. Donc sur la plupart des cartes graphiques la demo devrait tourner. La demo est accompagnée d’un petit making-of.

Les liens:
- Old Building Demo Homepage
- Old Building Demo Forum Thread

La petite video:



Comment faire une Video à partir de Demoniak3D ?

January 19th, 2008 Posted in FR, Lua, Tips'n'Tricks | No Comments »

Voilà la procédure pour ceux qui voudraient montrer une vidéo d’une démo Demoniak3D et la placer sur les sites de partage.

1 – Récupérer le petit soft suivant: JPGVideo

2 – Placer dans un script d’update de la demo le code suivant:

	HYP_Camera.MakeScreenshot();	

3 – Lancer votre démo. Par défaut les screenshots (au format jpg) vont être créés dans le répertoire de la démo. Attention à ne pas laisser tourner la démo trop longtemps car vous allez vous retrouvez avec des milliers d’images.

4 – Presque le plus simple: utiliser JPGVideo pour transformer votre séquence de JPG en vidéo AVI.

Et voilà…

Soundsnap

January 18th, 2008 Posted in FR, News | 2 Comments »

Voilà un petit site sympa pour downloader de la zik gratis pour vos démos Demoniak3D.
Les musiques sont fournis en .*mp3 ou *.wav et il y en a pour tous les gouts.

LIEN: http://www.soundsnap.com

Demoniak3D 1.19.0

January 18th, 2008 Posted in News, UK | No Comments »

Again a new version of Demoniak3D ? Yes man and that’s only the beginning…
This version fixes some bugs (incredible!!!) and adds new functions to deal with Ageia PhysX engine.

All details are logged HERE.
As usual, you can get your copy of Demoniak3D HERE.

More seriously, one the bugs was related to the french characters (é, è, ä, …) not correctly managed. I fixed the bug for the recent_files.xml and for another small thing. I know there are still other potential bugs of the same type for texture / model / lua / sound / shader loading and I’ll fix’em all later.

Animated Julia Fractal Rendering On GPU

January 18th, 2008 Posted in Demos, GPU, UK | 1 Comment »

Since I was in fractal coding, I also coded the other famous fractal: the Julia one. Like the Mandelbrot one, this fractal is rendered using the GPU. But I added a time-based animation to make things a little bit more funny as you can see in the video:

Grab Julia’s fractal rendering demo HERE while it’s hot!

Mandelbrot Fractal Demo Updated

January 18th, 2008 Posted in Demos, FR, News | No Comments »

Et hop, une demo de plus certifiée “Demoniak3D-APPROVED”!
La demo GPGPU du rendu de la fractale de Mandelbrot se trouve ICI.

Vous trouverez dans le zip 4 fichiers batch (*.bat pour ceux qui découvrent ce type de fichier). Il y juste à double-cliquer dessus pour lancer les demos.

Demoniak3D – Novodex Physics Engine test

January 17th, 2008 Posted in Ageia PhysX, Demos, FR | No Comments »

Une petite demo en préparation par notre ami shadow:



Demoniak3D 1.18.0

January 16th, 2008 Posted in News | No Comments »

I’ve just released a new version of Demoniak3D. The main change a better multiple cameras/viewports management to fix this problem (see Inactive Viewport Streaking).

As usual, see the changelog for further information. Download the version 1.18.0 here.
Good night!

Chromatic Aberration Demo Updated

January 16th, 2008 Posted in Demos, GLSL | 1 Comment »

The demo of lighting dispersion or chromatic aberration has been updated with the latest Demoniak3D executable.
Demo’s homepage: Chromatic Aberration Demo



PimPim’s Siu Nim Tao Demo Updated

January 14th, 2008 Posted in Demos, FR | No Comments »

Ca y est, la démo des lapins ninja de Satyr est enfin disponible avec un executable Demoniak3D.
Page de la démo: PimPim Siu Nim Tao Demo.



Fire Demo Updated

January 14th, 2008 Posted in Demos, UK | No Comments »

The demo of the fire with sound and smoke has been updated with Demoniak3D executable.
Demo page: Kool Fire Demo



Hi-Res Skyboxes Pack Demo Updated

January 14th, 2008 Posted in Demos | No Comments »

The demo with Humus’s high resolution skyboxes has been updated with executables and Demoniak3D.

Demo page: Hi-Res Skyboxes Pack Demo

Now, just launch the *.bat files to start Demoniak3D with one of the four demos.

Demo of the Catalyst 7.11/7.12 bug

January 10th, 2008 Posted in 3D, Demos, GLSL, WinXP | No Comments »

Pour ceux qui veulent voir un bug au niveau pilote graphique, j’ai posté un petit article sur le bug de la gestion des lumières dynamiques en GLSL avec les derniers pilotes Catalyst 7.11/7.12.
L’article en français se trouve ici: www.ozone3d.net/blogs/lab/?p=29
Une démo Demoniak3D accompagne l’article afin de voir le bug en action.

I posted a small article about the dynamic light bug in GLSL that appears in with the Catalyst 7.11/7.12.
The english version is here: www.ozone3d.net/blogs/lab/?p=30
A Demoniak3D demo comes with the article in order to see the bug in action.