A la demande générale, la Bewise Day Conference est de retour pour une 4ème édition ! Encore une fois, venez découvrir ce qui se fait de mieux dans les technologies Microsoft.

Cette année, beaucoup de nouveautés, puisque Microsoft lance la gamme 2010 de ses produits, notamment Visual Studio, Sharepoint, mais aussi la version 4.0 de son framework .Net, MVC 2, Azure, Silverlight 4 et bien d’autres choses bien croustillantes.

J’animerai les plénières cette année et je vous conseille d’y participer car vous y découvrirez le grand secret de Bewise :).

Pour les inscriptions, rendez-vous sur le site officiel de la BDC 2010.

kosh 22. janvier 2010, 08:29

Depuis le temps que j’ai envie de faire ce post, je vais enfin pouvoir me lâcher (enfin au moins un peu).

Nova 2010 est dans sa phase finale et certaines fonctionnalités peuvent désormais être annoncées. En aparté, il faut savoir que Nova 2010 est de loin la plus grosse version de Nova en termes de nouveautés.

Parmi ces dernières , une me tient particulièrement à coeur, il s’agit du support de DirectX 10. En effet, Nova 2010 est capable de rendre une scène en utilisant soit un coeur DirectX 9, soit un coeur DirectX 10 soit un coeur totalement software.

Grâce à ce mécanisme de providers, il est donc possible d’accéder aux shaders 4.0 et notamment au geometry shader qui apporte un vrai plus en termes de souplesse et de performances dans le cadre des ombres, des particules, des bones, du warping et j’en passe.

Par exemple, la même scène utilisant des bones va tourner à 100 fps sous provider DirectX 9 et à plus de 1000 sous provider DirectX 10 !

Le plus sympa dans tout ça c’est que l’utilisateur de Nova pourra aisément passer d’un provider à l’autre à l’envie et sans contrainte.

 

Oui, je sais, ça tue.

Dans le cadre de Nova Server (oui cette superbe technologie de la mort avec des vrais morceaux de code qui poutre à l’intérieur que vous pourrez découvrir ici), j’ai été amené à essayer de faire tourner Nova dans un service windows.

Et là c’est le drame. Il est juste IMPOSSIBLE de faire tourner DirectX (ou OpenGL) dans un service Windows depuis Windows Server 2008 et Vista. En effet, pour la petite histoire, ces systèmes font tourner les services dans une session appelée session 0. Cette session posséde la charmante limitation de ne pas permettre l’accès au desktop et donc à l’accélération graphique.

Ce qui me tue c’est qu’avant on pouvait. Mais apparemment il y a un bucheron dans l’équipe qui a conçu la sécurité des nouveaux OS. Le jour ou il a réfléchi à la sécurité des sessions, il devait être constipé parce que bloquer l’accès au desktop, je ne suis pas contre mais pourquoi à DirectX? Il croit que je vais détourner un avion avec?

C’est fou quand même parce que pour le coup le déport des rendus sur des serveurs c’est la foire à la saucisse avec une ouverture de session manuelle et tout le package “je code comme un veau”.

Donc, bam, carton rouge!

Vertice vient de réaliser une galerie virtuelle pour un artiste français : Monsieur Jean-Louis Espilit. Grâce à cette galerie vous pourrez visualiser les oeuvres de l’artiste dans un environnement pensé pour l’occasion.

Cette visite pourra se faire directement sur la page via la technologie Nova Server © ou dans une application autonome que vous pourrez télécharger (cette solution a l’avantage d’utiliser les ressources de votre PC et donc d’être potentiellement plus performante).

Le tout se passe ici!

image

Je viens de publier un superbe article (n’ayons pas peur des mots) sur DirectX 10 et l’optimisation des shaders.

Cet article est hébergé par le célébre site www.techheadbrothers.com.

N’hesitez donc pas à aller le lire si le sujet vous intéresse.

kosh 10. septembre 2009, 23:00

Déjà que ma femme ne me voit pas beaucoup mais avec l’arrivée de DirectX 11 officillement (le SDK est ici), ca ne va pas s’améliorer.

En vrac, on va pouvoir s’amuser avec:

  • Shaders de tesselation (gestion de la tesselation dans les shaders (LOD, skinning, etc…) : Hull shader, tesselator (non programmable directement) et domain shader (ca fait du monde).
  • Compute shader (utilisation de la puissance de la carte graphique pour faire des calculs)
  • Fortes améliorations pour un meilleur support du multithreading
  • Link dynamique au niveau des shaders : Cette fonction semble être bien sympa. En effet avec les shaders actuels il est complexe de ne pas faire un gros shader qui fait tout. Avec le link dynamique on pourra dynamiquement assembler ses shaders à la volée à partir de plusieurs méthodes dispatchées et maintenues à part. C’est l’apparition des sous-routines!!

De nombreuses autres choses sont présentes et je reviendrai dessus dès que j’aurai explorer la bête.

Pour la petite histoire, la partie tesselation est directement issue de ce qui existe sur XBox 360.

Je viens de rajouter la gestion d’une source lumineuse à mon moteur 3D soft.

Notre modèle objet est donc composé des entités suivantes:

  • Scene
  • Objet
  • Camera
  • Light

La scène est composée d’une liste d’objets, d’une lumière et d’une caméra active.

Un objet est composé d’une liste de vertices (des points 3D) et de faces. Chaque face est responsable de son rendu.

Pour optimiser un peu tout ça, j’ai rajouté une classe qui simule les buffers de travail dans une image (la classe UnsafeBitmap).

La prochaine étape va être d’accèlerer le rendu en refaisant l’algorithme de remplissage de faces (rastérisation).

Tout ceci se trouve ici.

Suite à une formation que je fais en interne chez Bewise, je vais déposer sur mon blog l’archive d’un petit moteur 3D entièrement en C# et surtout uniquement soft.

Donc ici pas de DirectX, que du calcul au CPU comme au temps de papy.

Suite aux évolutions que j’apporterai je reposterai les modifications.

Pour le moment le moteur gére:

  • Scéne/Objets/Faces
  • Textures
  • Rotation/Scaling/Translation

Le projet Visual Studio 2008 peut être téléchargé ici.

image