suzukube non l'ecoute pas, Ton warning est bon, un reshade ce n'est pas un mod, mais ça peut permettre de cheat, c'est relativement simple de faire un aimbot en utilisant le tampon de profondeur pour détecté les objets.
Donc a évité en multi pour ne pas se faire ban, surtout en classé, même si le reshade n'a pas pour but de cheat.
ghouledheleter Mouais, je vois pas l'intérêt, y a genre 30 minutes de cinématiques à tout casser dans ce jeu et en plus elles sont pour la plupart ultra mollassonnes donc 30 ou 60 fps dessus ca changerais rien. 90% des cinématiques c'est la caméra qui tourne autour du chief ou cortana .
jozen15 le jeu de base ce qui fait qu'il défonce c'est pas tant ses graphismes mais sa D.A.... Tu veux qu'on parle de la D.A. d'Halo et de Craig la Brute pour voir ?
Comme le disent bien onihanzo et leonr4, c'est juste un module de Reshade. C'est n'est pas du Ray tracing.
RTGI (le module de Reshade) simule une GI (global illumination) en colorant une ambiant occlusion mais en aucun cas il n'y a de rayon de lancé avec Reshade.
octobar : Je ne dis pas que c'est moche (ou même beau, en fait). C'est une histoire de goût personnel. Je précisais juste la nature de la techno qui est derrière la vidéo.
Je pense que c'est important de préciser ces choses. Déjà, pour nous, c'est bien qu'on connaissent les technos dont on parle et qu'on se communique ce genre d'infos. Ensuite, pour tous les gens qui ont travaillé sur le jeu et qui s'entendent dire que c'est simple d'implémenter ceci ou cela après la vidéo d'un modeur, c'est bien de préciser aussi.
jozen15 : C'est vrai qu'en augmentant les contrastes, on a tendance à réduire la visibilité des opposant, sans parler du coût en fps. Mais en solo, ça se teste.
Fini le jeu. 6/10. Bon gameplay mais mon dieu ces copiés collés d environnement et de lieux tout au long de la campagne. T avais l impression de faire toujours la même chose. Et le end game est catastrophique, libérer des bases, sauver des aliés. Voila
jozen15 Je comprends. Après, ça se trouve, y'a aucun risque, mais bon, pour un truc visuel, à essayer sur le mode solo =o) ! J'ai cru comprendre que ça fait perdre en FPS de toutes les façons !
Kujiraldine Pour Durante le GI de Reshade c'est bien de l'éclairage global en temps réel, et je crois que c'est ce qui est utilisé dans Super Mario 64 RT d'ailleurs (bien que ce soit sous forme d'intégration), et le rendu va quand même très loin, surtout qu'il y a aucun éclairage ou reflets dans le jeu de base, t'es sur qu'on peut pas appeler ça du Ray Tracing ?
Suzukube Ça fonctionne de la même façon que cheat engine sauf que là c'est pour injecter des shaders, dans le principe j'éviterais de jouer en ligne avec.
5120x2880suzukube : "t'es sur qu'on peut pas appeler ça du Ray Tracing ?". Oui. Je suis affirmatif : ce n'est pas du Ray tracing parce qu'il n'y a pas de lancé de rayon depuis la caméra. Je vous montre une anim pour illustrer ça:
Tout au plus, avec le RTGI de Marty McFly, on a des rayons dans l'espace de l'écran. Vous avez déjà vu les options SSAO (Screen Space Ambiant Occlusion) ou Screen Space Reflection dans les réglages de vos jeux sur PC, qui gèrent leur effet UNIQUEMENT dans l'espace de l'écran. En voici un exemple:
Dans la petite anim postée plus haut, vous pouvez voir que des rayons sortent du champ de vision de la caméra. Mais comme ces rayons sont toujours connectés à elle, ils lui envoient toujours des infos. C'est ce qui permet les reflets ou l'éclairage indirect hors champs.
Avec RTGI, on a une forme de Screen Space Ray Tracing. C'est pour ça, par exemple, qu'on n'a pas de reflet sur la lentille du viseur du fusil dans la vidéo postée ici.
Pour prendre une analogie simple: le Ray tracing est à l'éclairage ce que le polygone est au sprite.
Pour faire une rotation d'un personnage, il faudrait créer une douzaine de sprites là ou un seul perso en 3D suffit. Mais la 3D bouffe plus de ressource.
Avec le Ray Tracing, on a la même chose : Pour créer un reflet hors champs, genre un rétroviseur d'une voiture, il fallait recréer la scène voulue et lui attribuer une place à l'écran. Pour créer un effet de rebond de lumière sur une surface, il fallait placer une lumière à la main, avec l'angle et la teinte voulus. Avec le RT, c'est quasi automatique, mais ça bouffe plus de ressource.
Pour garder cette analogie, le RTGI de Marty McFly, ce serait une forme de Donkey Kong sur Snes: Ça a l'allure de la 3D mais c'est du sprite 2D. Ça n'enlève rien à l'efficacité de l'outil et au talent qu'il faut avoir pour pondre ça... et gratuitement, en plus.
Kujiraldine Ah oui je vois, mais si t'arrête ton personnage devant un rayon de lumière et que la lumière ne le traverse pas mais se reflète dessus, on est sur du vrai RT ? Car l'exemple des rayons fonctionne ? Et pour le Screen Space Reflection il y a moyen de l'activer de façon globale tout le temps même si ça consomme des ressources affolante ?
5120x2880 : Je ne suis pas sûr de bien saisir. Dis moi si je t'ai mal compris.
"Mais si t'arrête ton personnage devant un rayon de lumière et que la lumière ne le traverse pas mais se reflète dessus, on est sur du vrai RT ?"
Ce que tu décris est bien le comportement normal du rayon en RT.
En fait, il faut bien comprendre que le point de départ d'un rayon, c'est un pixel de ton écran. Quand il part de la caméra, le rayon envoyé équivaut à un pixel noir (c'est zero).
Quand il percute un polygone, le rayon (et son pixel correspondant) prend la couleur du polygone.
Puis le rayon rebondit et, en fonction de l'angle du polygone par rapport aux sources de lumières, à la couleur de ces mêmes sources et à plein d'autre paramètres, le rayon ajuste sa couleur et le pixel change en fonction.
Plus tu as de rebonds, plus tu as une image fidèle mais ça devient plus cher aussi.
"Et pour le Screen Space Reflection il y a moyen de l'activer de façon globale tout le temps même si ça consomme des ressources affolante ?"
Si tu affiches une image qui déborde de l'écran (genre tu as un écran en 1080p mais ton PC lâche une image en 8k qui déborde de ton écran), tu peux avoir un Screen Space (sur 8k) qui fait la blague sur 1080p. Mais on voit bien que ça coûterait trop cher pour l'effet voulu. Et ça ne marcherait pas pour les reflets qui viennent de derrière la caméra (puisqu'on est toujours sur de l'espace écran, du screen space.)
Kujiraldine En gros si la lumière fait ça c'est forcément du vrai RT ou ça peut se simuler ?
Pour le Screen Space Reflection sur Super Mario 64 RT ça me parait pas possible de reproduire ce qu'il y a dans la vidéo que t'as envoyé donc je me suis dit qu'il pouvait y avoir une astuce.
5120x2880 : C'est la magie de la programmation: Tout peut se simuler et il y a toujours une astuce à trouver. Ce qui fait la valeur de l'astuce, c'est son coût en calcul. Je vais revoir la vidéo de super mario 64 RT pour trouver une séquence à décortiquer.
Si t'en as une, c'est encore mieux.
Pour répondre à ta question avec le dessin: le RT part toujours de la caméra. C'est justement ça son astuce. Dans le monde réel, une source de lumière émet dans toutes les directions. On parle d'une sphère composés de milliard de rayons mais notre oeil ne capte que les rayons qui viennent le frapper. Tous les autres rayons sont pour ainsi dire perdus. Du coup, le RT économise le calcul de ces rayons perdus en simulant le chemin inverse: à partir de l’œil (la caméra) vers la source de lumière.
On voit que c'est du vrai RT parce que le décors se reflète bien au delà de l'arrière de la caméra. Les ombres correspondent au nombre de sources de lumière (qu'on peut retrouver dans le reflet) et à la manière dont elles s'appliquent (grosso modo: elle sont plus diffuses vers la tête que les pieds).
On peut simuler ce genre de reflet avec une cube map (une texture qui glisse sur le modèle) mais on n'aura pas cette fidélité et l'ennemi ne se reflétera pas non plus. Le faux reflet en cube map sera toujours le même. En Screen Space Reflection, tu ne pourras pas reproduire un reflet de dos comme ça car ça ne joue que sur ce qui est à "l'avant de l'écran" (sur l'écran).
C'est pour ça que le screen space reflection est sujet à pas mal d'artefacts. Tu peux le voir ici (à 9m20 si ça ne se câle pas automatiquement):
Kujiraldine Je vois, c'est hyper intéressant, je me suis jamais trop mis dedans (au delà du principe de base) et pour ainsi dire Super Mario 64 c'est le seul jeu « RT » de mémoire auquel j'ai joué (en tout cas où j'en avais conscience).
Dans cette séquence comment tu traduirais le bug avec le miroir ? La vidéo date pas mal donc elle est pas forcément représentative de l'état actuel du jeu.
Mais au final sur le git il y a toutes les infos, j'avais pas pensé à allé voir.
5120x2880 : Il faut savoir que SM64RT est un projet de retro ingénierie. C'est à dire qu'on cherche à reproduire le code original à partir du produit fini original.
La séquence que tu présentes existe bien sur N64. Et bien évidemment, ce n'était pas un reflet en RT à l'époque. Les programmeurs avaient tout simplement dupliqué la salle et les persos pour créer l'illusion d'un reflet. Comme SM64RT se base sur l'original, je pense qu'on a la même chose dans ta séquence: le reflet est une salle dupliquée.
Du coup, pour le pop sur le miroir, je pense que c'est juste un bug de spéculaire. Une spéculaire, c'est la zone la plus brillante d'un objet depuis ton point de vue, et comme tout effet graphique, ça peut déconner par moment.
5120x2880 : Je crois que j'ai trouvé une comparaison très parlante sur tout ce qu'on dit sur les reflets en RT ou en cube map. Je te laisse me dire laquelle est laquelle.
Kujiraldine Ceux qui sont derrière la version RT s'occupe du ray tracing en faisant leur port ou un mod pour un autre port qui permet plus de trucs, mais le jeu a été porté depuis un moment avant ça, d'ailleurs j'y joue plus en RT à cause de ça, c'est pas encore bien finalisé, les arbres bugs et il reste l'ancienne ombre de Mario.
Pour ton image c'est probablement celui de droite parce que l'autre reflète tout n'importe comment ?
5120x2880 : "Pour ton image c'est probablement celui de droite parce que l'autre reflète tout n'importe comment ?" Exactement. À droite, tu vois bien la porte ouverte devant laquelle se tient Mario. Il y a la poignée, le cadre, les murs, etc. Et si jamais le projet avance bien, on pourrait même ajouter Lakitou sur son nuage qui tient la caméra. À gauche, c'est une texture qui ne peut pas être fidèle à l'environnement.
Kujiraldine On voit aussi les ombres de la grille à droite. Pour le Lakitu je sais pas si il existe vraiment en réalité, en tout cas c'est pas littéralement lui qui déplace la caméra (puisqu'elle est analogique sur les ports PC et que tu peux régler la sensibilité au max), son reflet serait factice mais pourquoi pas.
Attention, uniquement version STEAM et ne jouez JAMAIS en ranked avec des fichiers modifiés.
Je vous aurais prévenus.
conar
Donc a évité en multi pour ne pas se faire ban, surtout en classé, même si le reshade n'a pas pour but de cheat.
Comme le disent bien onihanzo et leonr4, c'est juste un module de Reshade. C'est n'est pas du Ray tracing.
RTGI (le module de Reshade) simule une GI (global illumination) en colorant une ambiant occlusion mais en aucun cas il n'y a de rayon de lancé avec Reshade.
"4 ans de développement c'était si compliqué ?" ont verra ton commentaire
Je pense que c'est important de préciser ces choses. Déjà, pour nous, c'est bien qu'on connaissent les technos dont on parle et qu'on se communique ce genre d'infos. Ensuite, pour tous les gens qui ont travaillé sur le jeu et qui s'entendent dire que c'est simple d'implémenter ceci ou cela après la vidéo d'un modeur, c'est bien de préciser aussi.
jozen15 : C'est vrai qu'en augmentant les contrastes, on a tendance à réduire la visibilité des opposant, sans parler du coût en fps. Mais en solo, ça se teste.
Suzukube Ça fonctionne de la même façon que cheat engine sauf que là c'est pour injecter des shaders, dans le principe j'éviterais de jouer en ligne avec.
Anim schématisant le ray tracing
Tout au plus, avec le RTGI de Marty McFly, on a des rayons dans l'espace de l'écran. Vous avez déjà vu les options SSAO (Screen Space Ambiant Occlusion) ou Screen Space Reflection dans les réglages de vos jeux sur PC, qui gèrent leur effet UNIQUEMENT dans l'espace de l'écran. En voici un exemple:
Exemple Screen Space Reflection
Dans la petite anim postée plus haut, vous pouvez voir que des rayons sortent du champ de vision de la caméra. Mais comme ces rayons sont toujours connectés à elle, ils lui envoient toujours des infos. C'est ce qui permet les reflets ou l'éclairage indirect hors champs.
Avec RTGI, on a une forme de Screen Space Ray Tracing. C'est pour ça, par exemple, qu'on n'a pas de reflet sur la lentille du viseur du fusil dans la vidéo postée ici.
Pour prendre une analogie simple: le Ray tracing est à l'éclairage ce que le polygone est au sprite.
Pour faire une rotation d'un personnage, il faudrait créer une douzaine de sprites là ou un seul perso en 3D suffit. Mais la 3D bouffe plus de ressource.
Avec le Ray Tracing, on a la même chose : Pour créer un reflet hors champs, genre un rétroviseur d'une voiture, il fallait recréer la scène voulue et lui attribuer une place à l'écran. Pour créer un effet de rebond de lumière sur une surface, il fallait placer une lumière à la main, avec l'angle et la teinte voulus. Avec le RT, c'est quasi automatique, mais ça bouffe plus de ressource.
Pour garder cette analogie, le RTGI de Marty McFly, ce serait une forme de Donkey Kong sur Snes: Ça a l'allure de la 3D mais c'est du sprite 2D. Ça n'enlève rien à l'efficacité de l'outil et au talent qu'il faut avoir pour pondre ça... et gratuitement, en plus.
"Mais si t'arrête ton personnage devant un rayon de lumière et que la lumière ne le traverse pas mais se reflète dessus, on est sur du vrai RT ?"
Ce que tu décris est bien le comportement normal du rayon en RT.
En fait, il faut bien comprendre que le point de départ d'un rayon, c'est un pixel de ton écran. Quand il part de la caméra, le rayon envoyé équivaut à un pixel noir (c'est zero).
Quand il percute un polygone, le rayon (et son pixel correspondant) prend la couleur du polygone.
Puis le rayon rebondit et, en fonction de l'angle du polygone par rapport aux sources de lumières, à la couleur de ces mêmes sources et à plein d'autre paramètres, le rayon ajuste sa couleur et le pixel change en fonction.
Plus tu as de rebonds, plus tu as une image fidèle mais ça devient plus cher aussi.
"Et pour le Screen Space Reflection il y a moyen de l'activer de façon globale tout le temps même si ça consomme des ressources affolante ?"
Si tu affiches une image qui déborde de l'écran (genre tu as un écran en 1080p mais ton PC lâche une image en 8k qui déborde de ton écran), tu peux avoir un Screen Space (sur 8k) qui fait la blague sur 1080p. Mais on voit bien que ça coûterait trop cher pour l'effet voulu. Et ça ne marcherait pas pour les reflets qui viennent de derrière la caméra (puisqu'on est toujours sur de l'espace écran, du screen space.)
Halo n est pas à l ère du temps,ca y a juste qu à y jouer 1h pour s en apercevoir.
Pour le Screen Space Reflection sur Super Mario 64 RT ça me parait pas possible de reproduire ce qu'il y a dans la vidéo que t'as envoyé donc je me suis dit qu'il pouvait y avoir une astuce.
Si t'en as une, c'est encore mieux.
Pour répondre à ta question avec le dessin: le RT part toujours de la caméra. C'est justement ça son astuce. Dans le monde réel, une source de lumière émet dans toutes les directions. On parle d'une sphère composés de milliard de rayons mais notre oeil ne capte que les rayons qui viennent le frapper. Tous les autres rayons sont pour ainsi dire perdus. Du coup, le RT économise le calcul de ces rayons perdus en simulant le chemin inverse: à partir de l’œil (la caméra) vers la source de lumière.
Voici un gif 2D étape par étape.
On voit que c'est du vrai RT parce que le décors se reflète bien au delà de l'arrière de la caméra. Les ombres correspondent au nombre de sources de lumière (qu'on peut retrouver dans le reflet) et à la manière dont elles s'appliquent (grosso modo: elle sont plus diffuses vers la tête que les pieds).
On peut simuler ce genre de reflet avec une cube map (une texture qui glisse sur le modèle) mais on n'aura pas cette fidélité et l'ennemi ne se reflétera pas non plus. Le faux reflet en cube map sera toujours le même. En Screen Space Reflection, tu ne pourras pas reproduire un reflet de dos comme ça car ça ne joue que sur ce qui est à "l'avant de l'écran" (sur l'écran).
C'est pour ça que le screen space reflection est sujet à pas mal d'artefacts. Tu peux le voir ici (à 9m20 si ça ne se câle pas automatiquement):
https://www.youtube.com/watch?v=-Vn9LXYdyfI#t=9m20s
Dans cette séquence comment tu traduirais le bug avec le miroir ? La vidéo date pas mal donc elle est pas forcément représentative de l'état actuel du jeu.
Mais au final sur le git il y a toutes les infos, j'avais pas pensé à allé voir.
La séquence que tu présentes existe bien sur N64. Et bien évidemment, ce n'était pas un reflet en RT à l'époque. Les programmeurs avaient tout simplement dupliqué la salle et les persos pour créer l'illusion d'un reflet. Comme SM64RT se base sur l'original, je pense qu'on a la même chose dans ta séquence: le reflet est une salle dupliquée.
Du coup, pour le pop sur le miroir, je pense que c'est juste un bug de spéculaire. Une spéculaire, c'est la zone la plus brillante d'un objet depuis ton point de vue, et comme tout effet graphique, ça peut déconner par moment.
Pour ton image c'est probablement celui de droite parce que l'autre reflète tout n'importe comment ?