IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Aperçu des nouvelles extensions de l'architecture Maxwell 2 de NVIDIA


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut Aperçu des nouvelles extensions de l'architecture Maxwell 2 de NVIDIA
    Aperçu des nouvelles extensions de l'architecture Maxwell 2 de NVIDIA
    Découvrez la seconde génération de l'architecture Maxwell et ce qu'elle apporte

    NVIDIA vient de dévoiler la nouvelle version de l'architecture Maxwell pour ses cartes graphiques. La première puce embarquant Maxwell 2 est la GM204 et est disponible dans les cartes graphiques GeForce GTX 970 et GeForce GTX 980. Une des particularités de celle-ci est l'efficacité accrue de la puce et NVIDIA annonce un gain de deux en termes de performance par watt. De plus, elle est entièrement compatible avec CUDA 6.5.

    Du côté du rendu, de nouvelles extensions OpenGL sont supportées et déjà présente dans le pilote r344. Vous pouvez les tester à travers le SDK proposé par NVIDIA.

    Faisons donc un tour de ces nouveautés.


    Target-independent multisampling control and mixed samples
    (NV_framebuffer_mixed_samples et EXT_raster_multisample)

    Le rasterizer peut maintenant agir à une fréquence plus élevée que le nombre d'échantillons dans le tampon de rendu des couleurs et cela, avec le support du test de profondeur et du stencil (si cette fréquence est un multiple du nombre d'échantillons du tampon de couleur). Toutefois, il reste quelques contraintes, notamment que tous les tampons de couleurs doivent avoir le même nombre d'échantillons et le nombre d'échantillon du raster doit correspondre au nombre d'échantillons du tampon de profondeur et de stencil (si ces tests sont activés) et doivent toujours être supérieurs ou égales au nombre d'échantillons du tampon de couleur.

    De plus, une nouvelle étape de "réduction de la couverture" est ajoutée après le fragment shader (ajout dans les opérations par fragment), qui convertit un ensemble d'échantillon du raster/depth/stencil en un ensemble d'échantillons de couleurs couverts. La couverture de couleur réduite est calculée afin que le bit de couverture pour chaque échantillon de couleur soit 1, si chacun des bits associés dans la couverture du fragment est activé, sinon cela sera 0. Cette fonctionnalité peut être utilisée avec la fonctionnalité de couverture de couleur (expliquée ci-dessus) afin d'avoir un masque de couverture en sortie du fragment shader automatiquement transformé en une couleur par le ROP.


    Coverage to color conversion
    (NV_fragment_coverage_to_color)

    Cela permet au ROP de convertir automatiquement le masque du test de couverture issue du depth/stencil/alpha en une couleur et de l'écrire dans la cible de rendu de couleur. Cette étape est effectuée avant le processus de réduction de la couverture. Cela peut être utile pour le deferred shading.


    Post-depth coverage
    (EXT_post_depth_coverage)

    Cette extension permet au fragment shader d'obtenir le masque de couverture après le test de profondeur comme entrée dans le fragment actuel (gl_SampleMaskIn[]) lors d'un fonctionnement en mode test de profondeur précoce. Ce comportement est contraire au standard d'OpenGL 4.5 qui fournit la couverture avant le test de profondeur (couverture de triangle).


    Multisample coverage override
    (NV_sample_mask_override_coverage)

    Le standard OpenGL indique que le masque de couverture en sortie du fragment shader (gl_SampleMask[]) doit être associé avec un ET logique avec le masque de couverture de la primitive. Cette extension désactive cette opération, permettant au fragment shader d'écraser complètement la couverture des primitives et potentiellement d'activer des bits qui n'étaient pas activés dans le masque d'entrée. Cela est très pratique, notamment car cela active un routage des valeurs de sortie des couleurs dans des échantillons précis dans une cible de rendu multi-échantillonnée.


    Programmable sample locations
    (NV_sample_locations)


    Permet aux applications de définir explicitement la position de l'échantillon de sous-pixel pour la rasterization multi-échantillonnée, fournissant ainsi un pattern d'échantillonnage complètement programmable. Il semble que les positions sont toutefois contrainte à une grille de 16x16 et que le pattern d’échantillonnage ne peut être que défini dans une grille 2x2 des pixels adjacents.


    Conservative rasterization
    (NV_conservative_raster)


    Permet à la rasterization de générer des fragments de n'importe quel pixel en contact avec un triangle, même si aucun échantillon n'est couvert dans ce pixel. Un nouveau contrôle est fournit pour modifier la précision de la fenêtre de capture afin de permettre à l'application de correspondre la capture conservatrice de la rasterization du triangle avec la capture qui aurait eu lieu à une plus haute résolution. Les polygones sans zone ne génère pas de fragments. N'importe quelle position dans un pixel peut être utilisée pour interpoler des attributs et potentiellement provoquer une extrapolation des attributs s'il se trouve hors d'un triangle.


    Fragment Shader Interlock
    (NV_fragment_shader_interlock)

    Cette extension expose une section critique au niveau du matériel accélérateur dans le fragment shader permettant ainsi des opérations de lecture, modification et écriture sans risque sur une base du pixel. Cela permet de forcer l’ordonnancement des primitives dans les threads avant d'entrer dans une section critique. Pour cela, le GLSL accueille les nouvelle fonctions beginInvocationInterlockNV() et endInvocationInterlockNV() définissant la section critique qui ne sera exécutée que par un unique fragment à la fois. Ce verrou peut être effectué au niveau du pixel ou de l'échantillon si la rasterization multi-échantillonnée est utilisée. C'est pratique pour les algorithmes nécessitant un accès aux structures de données à travers des opérations de chargement et de sauvegarde au niveau du pixel.


    Screen-space bounding-box rasterization
    (NV_fill_rectangle)

    Cela permet la rasterization de la boite englobante dans l'espace écran alignée aux axes des triangles envoyés, sans s'occuper des côtés des triangles. Cela peut être pratique pour l'affichage des interfaces utilisateur.


    Geometry Shader Passthrough
    (NV_geometry_shader_passthrough)

    Permet d'écrite des geometry shader plus simple lorsqu'il y a une correspondance un à un des primitives d'entrée et de sortie. Les attributs par sommet sont simplement copiés de la primitive d'entrée vers les sorties correspondantes dans les sommets de la primitive de sortie. Le geometry shader est seulement utilisé pour définir des attributs par primitive (comme gl_Layer).


    Enhanced sparse textures
    (EXT_sparse_texture2)

    Amélioration de ARB_sparse_texture qui sépare l'allocation de l'espace d'adresse virtuelle de l'espace mémoire physique pour les textures. Cette nouvelle extension ajoute la possibilité de récupérer les informations d'accès de la texture résidente dans le GLSL, de spécifier le niveau de détail minimum alloué aux accès aux textures et de retourner zéro pour les accès sur les pages non allouées. Finalement, le support des textures multi-échantillonnées a été ajouté.


    Texture Filter min/max
    (EXT_texture_filter_minmax)

    Fournit un nouveau paramètre d'échantillonneur permettant d'effectuer une réduction min ou max des valeurs échantillonnées dans le filtrage de texture, au lieu de l'interpolation linéaire.


    FP16 global atomics
    (NV_shader_atomic_fp16_vector)

    Cette extension fournit un nouvel ensemble d'opérations atomiques sur deux et quatre composants de vecteurs pour les images, les pointeurs sans liaisons à la mémoire globale et les tampons de stockage.


    Votre opinion

    Allez-vous acheter ces nouvelles cartes graphiques ?
    Quelles sont les prochaines évolutions que vous attendez ?


    Voir aussi

    Série d'article sur le fonctionnement des cartes graphiques


    Source

    Billet de Cyril Crassin sur Icare3D
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 685
    Points
    685
    Par défaut
    Le titre de l'article n'est pas très bien choisit (le titre de l'article de Cyril est "Maxwell GM204 OpenGL extensions"), je m'attendais à un article sur l'architecture Maxwell 2, pas sur les extensions OpenGL NV_ (pour l'architecture de Maxwell 2, voir les 2 articles cités par Cyril : Maxwell: The Most Advanced CUDA GPU Ever Made et The NVIDIA GeForce GTX 980 Review: Maxwell Mark 2.

    Sinon, article très intéressant.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Oui, en effet.
    Notez que ce ne sont pas que des extensions OpenGL, car certaines fonctionnalités peuvent tout de même être exposées dans Direct3D.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut

    c'est trop dense en termes trop pointus pour que j'assimile la
    Rien, je n'ai plus rien de pertinent à ajouter

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Petite correction a faire dans la phrase : "Permet d'écrite des geometru shader plus simple"
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Corrigé
    Merci.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    Je me suis fait avoir avec la dx11, les jeunes technologies maintenant j'attends

    La technologie présentée la plus impressionnante est pour moi le "Voxel Global Illumination"

    Vous aviez (Monsieur Little White) mis un article parlant du raytracing, on s'en approche carrement

    On va attendre gentiment voire comment les choses évolues, mais sans doute que d'ici deux / trois ans, des jeux seront full lumières dynamiques

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/02/2015, 20h07
  2. Aperçu des nouvelles fonctionnalités de Unreal Engine 4.5
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 09/10/2014, 10h30
  3. Réponses: 18
    Dernier message: 04/03/2013, 19h49
  4. Réponses: 2
    Dernier message: 02/11/2010, 00h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo