La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Quakelight : le making of Julien Frelat Chef de projet InnoveWare Solutions Code Session : RIA309.

Présentations similaires


Présentation au sujet: "1 Quakelight : le making of Julien Frelat Chef de projet InnoveWare Solutions Code Session : RIA309."— Transcription de la présentation:

1 1 Quakelight : le making of Julien Frelat Chef de projet InnoveWare Solutions Code Session : RIA309

2 2 Agenda Le projet Quakelight Affichage bitmap Gestion sonore Le futur avec Silverlight 3 ?

3 3 Le projet Quakelight Présentation Portage du jeu Quake en Silverlight 2 Jeu 3D open-source Challenge favori sur les nouvelles plateformes Inspiré par une version Flash Objectifs Affichage bitmap fluide du moteur 3D Spatialisation des sons (effet surround) Utiliser Silverlight 2 avec ses limitations

4 4 Affichage bitmap Limitations de Silverlight 2 JPEG ou PNG, pas de format brut Techniques existantes 1 pixel = 1 rectangle Encodage PNG sans compression La solution InnoveWare : PNG wrapper Pré-encodage et organisation mémoire optimisée Hack Silverlight 2 : pas de CRC sur les données Encodage/décodage en 256 couleurs (PNG 8-bit)

5 5 PNG wrapper MemoryStream PNG pré-encodée Entête PNG (fixe) LargeurHauteurFlags (PNG 8-bit) Bloc PALETTE RGB(modifiable)RGB(modifiable)...RGB(modifiable) Bloc IMAGE (non compressé) Flags Ligne de pixels (modifiable) CRC 0 (hack)...Flags... (hack)...Flags Ligne de pixels (modifiable) CRC 0 (hack) CRC IMAGE 0 (hack) Bloc FIN

6 6 Affichage bitmap optimisé en Silverlight 2

7 7 Gestion sonore Limitations de Silverlight 2 Sons pré-encodés au format MP3 Jouer un son en continu (délai) Effets surround (3D) Effets sonores de mitraillage Effets sonores dambiance (musique continue)

8 8 Effets surround et alternance Utilisation de canaux pour limiter le nombre de sons MP3 à mixer simultanément channels[x].media = new MediaElement(); Spatialiser les sons channels[x].media.Volume = master_volume; channels[x].media.Balance = right_volume – left_volume; Alterner des sons rapidement if (channels[x].media.CurrentState != MediaElementState.Playing || channels[x].looping) { channels[x].media.Stop(); parentCanvas.Children.Remove(channels[x].media); }

9 9 Gestion sonore Limitations de Silverlight 2 Sons pré-encodés au format MP3 Jouer un son en continu (délai) Effets surround (3D) Effets sonores de mitraillage Effets sonores dambiance (musique continue) Solution en cours détude : MediaStreamSource Lecture asynchrone de samples audio ou vidéo www.smoothhd.com

10 10 Lecture asynchrone de samples Fichier audio MP3 (N samples) Sample 1 Sample 2... Sample N Sample 1 GetSampleAsyncGetSampleAsyncGetSampleAsyncGetSampleAsyncGetSampleAsync

11 11 Le futur avec Silverlight 3 ? Améliorations graphiques Support natif de la 3D Accélération matérielle Fonctionnalités souhaitées Affichage bitmap (WriteableBitmap) ? Gestion sonore dynamique et en boucle ?

12 12 Synthèse A retenir Performances et potentiel de Silverlight pour les jeux vidéos Techniques avancées pour laffichage bitmap et le son en Silverlight 2 Promesses de Silverlight 3 Pour plus dinformations : www.innoveware.com www.innoveware.com

13 13 Quakelight

14 14

15 15 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Votre potentiel, notre passion TM


Télécharger ppt "1 Quakelight : le making of Julien Frelat Chef de projet InnoveWare Solutions Code Session : RIA309."

Présentations similaires


Annonces Google