Simulation des fluides basée sur la position : évolutions montrées au SIGGRAPH 2013

La simulation des fluides basée sur la position (position based fluids) est une manière de simuler les fluides basée sur le framework PBD (position-based dynamics) de PhysX, notamment utilisé pour les tissus et autres objets déformables. Comme toujours pour des jeux, cette simulation doit être rapide et stable (demander peu d’itérations pour converger), en sacrifiant la précision des résultats.

Cette approche combine une technique SPH classique (smoothed-particles hydrodynamics) avec ce framework PBD. Cette technique permet d’imposer l’incompressibilité d’un fluide (son volume varie peu, peu importe la pression appliquée, comme l’eau) de manière bien plus efficace qu’avec une approche de type SPH pure, grâce aux contraintes de position. Techniquement, il s’agit toujours d’un solveur itératif basé sur dix kernels CUDA.

Avec un terme plus artificiel de pression, ce nouveau solveur améliore la distribution des particules et crée des effets similaires à la tension de surface. Le confinement des vortex (une technique de simulation des écoulements dominés par des vortex) est aussi utilisé pour laisser l’utilisateur injecter de l’énergie dans le fluide.

Au SIGGRAPH 2013, Miles Macklin (un des auteurs de cette méthode de simulation) a présenté les dernières améliorations en date de l’algorithme : les interactions à double sens entre un fluide et des solides ou des tissus.

Les diapositives de cette présentation sont disponibles en ligne.

Il faut aussi noter que Eric Wolter propose une autre implémentation du même concept en C++ mais avec OpenCL : sources sur GitHub.

Sources : http://physxinfo.com/news/11109/introduction-to-position-based-fluids/ et http://physxinfo.com/news/11679/siggraph-2013-latest-improvements-to-position-based-fluids/

PhysX 3.3 Beta 2

Après une première phase de tests privés, voici PhysX 3.3 Beta 2, une préversion publique. PhysX 3.3 apporte un grand nombre de fonctionnalités ainsi que des améliorations de performances. L’article sur la préversion privée contient la description des fonctionnalités majeures ajoutées.

Parmi les autres points importants de cette version, on peut citer un support plus étendu des plateformes : les GPU Kepler, la dernière famille de GPU de NVIDIA ; la console Wii U ainsi que les applications Windows 8 Modern UI (l’interface traditionnelle était déjà supportée) ; sur les processeurs ARM, le jeu d’instructions NEON (instructions SIMD) est à présent utilisé. Il faut cependant remarquer que les exemples ne sont pas disponibles pour Windows RT ou la Wii U.

Notes de version.

Sortie de l’add-in Visual Studio pour Qt 5 en version 1.2.2

L’add-in pour Visual Studio (2008 à 2012) pour Qt 5 est sorti en version 1.2.2. La principale nouveauté est le support de Qt 5.1, soit la mise à jour de la documentation pour cette version de Qt. Deux bogues ont, en outre, été corrigés : les liens dans la documentation qui ne fonctionnaient pas et la réécriture incorrecte des paramètres d’environnement.

Source : Visual Studio Add-In 1.2.2 Released.

Télécharger l’add-in Visual Studio pour Qt 5 en version 1.2.2

Sortie de Qt Creator 2.7.2

Qt Creator 2.7.2 vient de sortir. Si ce n’est la correction d’un certain nombre de bogues (bogues lors du déploiement : QTCREATORBUG-9291, QTCREATORBUG-9299, QTCREATORBUG-9294 ; plantages fréquents : QTCREATORBUG-9660 ; débogage, designer Qt Quick, support de C++), cette version améliore les outils proposés pour le développement pour plateformes Android.

Source : http://blog.qt.digia.com/blog/2013/07/03/qt-creator-2-7-2-released/

Télécharger Qt Creator 2.7.2 (aussi inclus avec Qt 5.1.0).

Sortie de Qt 5.1

Un peu plus de six mois après la sortie de Qt 5.0 (fin 2012), voici Qt 5.1 qui pointe le bout de son nez, deux semaines après la RC. Initialement, cette version était prévue plus pour des corrections de bogues et pour assurer la stabilité du framework, mais elle contient bien plus, notamment en ce qui concerne le support de plateformes, la maturité de Qt Quick ou d’autres fonctionnalités.

Sa distribution a aussi été amélioré. Livré avec Qt Creator 2.7.2, l’installateur nouvelle génération permet (enfin ?) d’effectuer des mises à jour de l’installation de Qt. Dans le futur proche, Qt 4.8 devrait également être disponible par ces mêmes installateurs. Actuellement, cet installateur ne propose que Qt 5.1.0 et 5.0.2, pour tous les compilateurs supportés sur la plateforme.

Nouveautés

Parmi les nouveautés, on compte une série de modules orientés Qt Quick : Qt Quick Controls et Qt Quick Layouts, sans oublier Qt Quick Dialogs, qui portent l’environnement à un niveau de fonctionnalité similaire aux widgets tout en profitant du paradigme déclaratif.

Également, Qt Sensors fait sa (ré)apparition : ce module de gestion des capteurs apparu dans Qt Mobility (un complément de Qt 4 orienté vers les applications mobiles) est désormais disponible pour Qt 5, avec le support d’Android, BlackBerry et iOS.

Un autre module fait son apparition : Qt Serialport, pour la gestion du port série, dérivé de QSerialDevice avant d’être intégré dans le framework lui-même (ce qui n’est pas sans rappeler l’orientation de KDE, soit intégrer autant de fonctionnalités que possible dans le framework, sans trop l’alourdir grâce à la modularisation).

Un troisième module non spécifique à Qt Quick entre également en scène : Qt X11 Extras donne un accès direct aux informations de l’écran sur les plateformes utilisant un serveur X.

Support de nouvelles plateformes

Un des objectifs de Digia était d’élargir le support des plateformes, notamment en ce qui concerne les mobiles, tant en open source qu’en commercial. Qt 5.1 est la première version finalisée à offrir un support étendu dans cette direction, tant pour Android qu’iOS (le support complet devrait venir pour Qt 5.2). Bien que marqué comme relativement expérimental, preuve de concept, ce support devrait être suffisant pour une grande partie des applications.

Qt sur Android supporte déjà tous les modules de Qt 5.1, à l’exception de Serialport, WebKit et Multimedia. Ce port est déjà bien intégré dans Qt Creator, au point qu’il est possible de rester dans l’EDI jusqu’au déploiement sur Google Play. Une démo y est déjà disponible.

Qt sur iOS a un niveau de maturité très proche, à l’exception de Qt Quick 2. En effet, sur iOS, il est impossible d’utiliser V8 comme moteur JavaScript, une solution sera trouvée pour Qt 5.2. Qt Quick 1 et Sensors sont notamment déjà supportés. Ce port n’est pas aussi bien intégré à Qt Creator, le déploiement sur un périphérique doit toujours se faire à l’aide de Xcode. Digia a déjà publié deux applications : SubAttack et QtQuicksand.

Sources : http://blog.qt.digia.com/blog/2013/07/03/qt-5-1-released/ et http://qt-project.org/qt5/qt51

Voir aussi la sortie des versions Alpha, Beta et RC.

Voir aussi la liste des nouveautés de cette version.

Télécharger Qt 5.1.