Quakelight le making of Code Session RIA 309

  • Slides: 15
Download presentation
Quakelight : le making of Code Session : RIA 309 Julien Frelat Chef de

Quakelight : le making of Code Session : RIA 309 Julien Frelat Chef de projet Innove. Ware Solutions 1

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

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

Le projet Quakelight Présentation Portage du jeu “Quake” en Silverlight 2 Jeu 3 D

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

Affichage bitmap Limitations de Silverlight 2 JPEG ou PNG, pas de format brut Techniques

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 Innove. Ware : 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) 4

PNG wrapper Memory. Stream PNG pré-encodée Entête PNG (fixe) Largeur Hauteur Flags (PNG 8

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

Affichage bitmap optimisé en Silverlight 2 6

Affichage bitmap optimisé en Silverlight 2 6

Gestion sonore Limitations de Silverlight 2 Sons pré-encodés au format MP 3 Jouer un

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

Effets surround et alternance Utilisation de canaux pour limiter le nombre de sons MP

Effets surround et alternance Utilisation de canaux pour limiter le nombre de sons MP 3 à mixer simultanément channels[x]. media = new Media. Element(); Spatialiser les sons channels[x]. media. Volume = master_volume; channels[x]. media. Balance = right_volume – left_volume; Alterner des sons rapidement 8 if (channels[x]. media. Current. State != Media. Element. State. Playing || channels[x]. looping) { channels[x]. media. Stop(); parent. Canvas. Children. Remove(channels[x]. media); }

Gestion sonore Limitations de Silverlight 2 Sons pré-encodés au format MP 3 Jouer un

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

Lecture asynchrone de samples Fichier audio MP 3 (N samples) 10 Sample 1 Sample

Lecture asynchrone de samples Fichier audio MP 3 (N samples) 10 Sample 1 Sample 2 . . . Sample N Sample 1 Get. Sample. Async

Le futur avec Silverlight 3 ? Améliorations graphiques Support natif de la 3 D

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

Synthèse A retenir Performances et potentiel de Silverlight pour les jeux vidéos Techniques avancées

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

Quakelight 13

Quakelight 13

14

14

Votre potentiel, notre passion TM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows

Votre potentiel, notre passion TM © 2009 Microsoft Corporation. All rights reserved. Microsoft, 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. 15