Et dire que j'étais gentil et que j'essayais de t'aider...
Au prix de performances misérables (mais bon, t'es plus à ça près, avec ton moteur...).
Ou alors tu as accès au RTX ?
Effectivement, je n'ai pas cette prétention, je me contente du rendu, et je pense qu'en 12 ans j'ai acquis suffisamment d'expérience dans ce domaine pour t'orienter vers des solutions viables, pour remplacer tes bricolages (et oui, tu bricoles, tu ne fais rien de propre).
J'aimerais bien savoir ce que tu appelles optimisations, parce qu'aux dernières nouvelles, ton moteur faisait tourner ta scène 2D au rendu datant d'il y a 20 ans à 25 FPS, alors j'aimerais bien voir ces "meilleurs rendus" dont tu parles.
Et là, tu galères avec ton bricolage pour la transparence, alors qu'il existe des techniques efficaces, en 2D (celles proposées par Gregouar, tu devrais d'ailleurs aller voir son topic : https://www.developpez.net/forums/d1...hading-engine/ , pour te faire une idée de ce qu'on peut faire quand on fait les choses proprement...), et en 3D (j'arrête pas de t'en proposer des viables, pour de la 3D, mais aussi pour de la 2D).
Donc bon, au lieu de douter de nos capacités (ne t'inquiète pas, on le fait très bien nous mêmes), commence par mettre les tiennes en doute, parce que là c'est vraiment inquiétant...
HS:
T'en es où du cleanup de ton repo ? (ça fait que 2 semaines que j'ai levé l'issue, et c'est encore pire maintenant, on ne peut plus le cloner sous Windows...)
EDIT:
Et arrête de te plaindre de ton GPU, de tes drivers, de ton OS, du sens du vent, ce sont des problèmes que l'on rencontre tous, et on se démerde avec.
Si vous ne trouvez plus rien, cherchez autre chose...
Vous trouverez ici des tutoriels OpenGL moderne.
Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).
Ha bon..., ça à l'air bien pourtant de faire ça.Tu peux regarder que quelque part dans le sujet sur ALAG je faisais quelque chose de similaire à un moment puisque je travaille en rendu iso et donc on peut vraiment récupérer une partie de l'information sur la géométrie (la raison principale étant qu'en fait... ça pue la merd* de faire du z-testing par pixel). Mais j'ai laissé tombé l'idée dans la version Vulkan.
En 3D ça serait plus difficile à faire par contre car la caméra tourne donc, on ne peut pas générer une BigTile (A moins d'utilisé une texture 3D ?)
Et les animations en 3D sont plus gourmandes aussi, donc plus d'éléments à mettre à jour.
C'est pour ça que je préfère la 2D ça permet de faire de meilleurs rendus.
Haha!Effectivement, je n'ai pas cette prétention, je me contente du rendu, et je pense qu'en 12 ans j'ai acquis suffisamment d'expérience dans ce domaine pour t'orienter vers des solutions viables, pour remplacer tes bricolages (et oui, tu bricoles, tu ne fais rien de propre).
Maintenant ça tourne bien mieux que ça, depuis que j'ai optimisé ma technique pour le rendu à deux couches qui procure de meilleurs résultats avec des textures opaques et semi-transparentes à la fois, même si j'utilise plus de deux couches ça donne de meilleurs rendu qu'avec le weighted blending OIT c'est moche parce que il faut séparer le transparent du non transparent sinon ça rend vraiment mal.J'aimerais bien savoir ce que tu appelles optimisations, parce qu'aux dernières nouvelles, ton moteur faisait tourner ta scène 2D au rendu datant d'il y a 20 ans à 25 FPS, alors j'aimerais bien voir ces "meilleurs rendus" dont tu parles.
Avec un rendu au raytracing et ma technique je te bats largement. De plus si tu avais bien conçu ton moteur et commencé par la 2D plutôt que par la 3D tu aurait pu utilisé quelque chose du genre une texture 3D pour faire la même chose que ce que je ferais mais en 3D avec un bon FPS.Donc bon, au lieu de douter de nos capacités (ne t'inquiète pas, on le fait très bien nous mêmes), commence par mettre les tiennes en doute, parce que là c'est vraiment inquiétant...
HS:
Fais toi plaisir, impressionne moi... (c'est pas pour rien que le seul jeu en raytracing que je connaisse est VkQuake2 (http://brechpunkt.de/q2vkpt/) et il atteint à peine les 60 FPS sur un NVidia RTX2080Ti alors avec ton GPU...)
EDIT:
Et mes FPS n'ont rien à envier aux tiens
Si vous ne trouvez plus rien, cherchez autre chose...
Vous trouverez ici des tutoriels OpenGL moderne.
Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).
Il n'y a pas Metro qui fait une GI en raytracing vraiment balèze aussi ? Après, c'est pas encore disponible publiquement donc il faudra voir ce que ça donne réellement... VkQuake2 est déjà balèze.c'est pas pour rien que le seul jeu en raytracing que je connaisse est VkQuake2
Non ça ne marche pas comme ça... par contre, tu as des techniques qui consistent à réutiliser une partie du rendu précédent (typiquement pour faire de l'anti aliasing, on parle alors de temporal AA, ou encore justement pour faire du raytracing car du coup tu peux approximer l'éclairage en faisant de l'échantillonage sur plusieurs frames, permettant de contrebalancer le fait que tu ne peux pas vraiment caster beaucoup de rayon pour avoir un framerate correct).En 3D ça serait plus difficile à faire par contre car la caméra tourne donc, on ne peut pas générer une BigTile (A moins d'utilisé une texture 3D ?)
Mais bon, tu as tout un tas de jeux qui contiennent des éléments transparents depuis le début des années 2000, et ce de façon très correct, donc pas de raison que ça ne soit pas faisable avec tes drivers aussi vieux soient-ils.
Si vous ne trouvez plus rien, cherchez autre chose...
Vous trouverez ici des tutoriels OpenGL moderne.
Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).
Je pense que je vais faire ça aussi.Non ça ne marche pas comme ça... par contre, tu as des techniques qui consistent à réutiliser une partie du rendu précédent (typiquement pour faire de l'anti aliasing, on parle alors de temporal AA, ou encore justement pour faire du raytracing car du coup tu peux approximer l'éclairage en faisant de l'échantillonage sur plusieurs frames, permettant de contrebalancer le fait que tu ne peux pas vraiment caster beaucoup de rayon pour avoir un framerate correct).
Je pense que ça doit être faisable, il faut juste bien savoir comment s'y prendre.Mais bon, tu as tout un tas de jeux qui contiennent des éléments transparents depuis le début des années 2000, et ce de façon très correct, donc pas de raison que ça ne soit pas faisable avec tes drivers aussi vieux soient-ils.
60 FPS c'est déjà bien avec du raytracing.Fais toi plaisir, impressionne moi... (c'est pas pour rien que le seul jeu en raytracing que je connaisse est VkQuake2 (http://brechpunkt.de/q2vkpt/) et il atteint à peine les 60 FPS sur un NVidia RTX2080Ti alors avec ton GPU...)
J'en ai 30 j'ai commencé vers l'âge de 12 ans, et moi même je n'ai pas encore assez d'expérience, surtout avec la 3D.Effectivement, je n'ai pas cette prétention, je me contente du rendu, et je pense qu'en 12 ans j'ai acquis suffisamment d'expérience dans ce domaine pour t'orienter vers des solutions viables, pour remplacer tes bricolages (et oui, tu bricoles, tu ne fais rien de propre).
Oui mais pas dans la 2D apparemment et même dans la 3D je crois qu'il y aurait quelque soucis avec les textures qui contiennent des pixels semi-transparent et opaque avec son weighted blended OIT donc je n'utiliserai pas castor3D pour mon jeux.Mais tu es assez gonflé de dire que dragonjoker59 n'est pas capable de faire un moteur de jeux , alors que c'est probablement un des plus compétents dans le rendu 3D dans ce forum
Si vous ne trouvez plus rien, cherchez autre chose...
Vous trouverez ici des tutoriels OpenGL moderne.
Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).
Alors je sais que c'est loin d'être une exemple en termes d'optimisations, mais Holyspirit traitait déjà très bien des sprites et tiles avec de la semi-transparence juste en jouant avec des couches (d'ailleurs, si tu regardes un peu dans les resources du jeu tu verras que beaucoup de textures de sol sont la combination de plein de sprites différents pour ajouter des effets). Et les perfomances étaient pas si dégeux que ça (même si clairement améliorables en gardant le même système pour la transparence). Pas besoin d'OIT ou quoique ce soit pour ça...Oui mais pas dans la 2D apparemment et même dans la 3D je crois qu'il y aurait quelque soucis avec les textures qui contiennent des pixels semi-transparent et opaque avec son weighted blended OIT donc je n'utiliserai pas castor3D pour mon jeux.
Typiquement tu peux voir sur cette image:
Il y a une texture de sol, puis j'ajoute différent petits tas d'herbes, j'ai aussi les dalles au sol qui sont des textures semis transparentes par dessus, puis tu as tout un tas de décors dont notamment la lampe qui a son halo de lumière semi-transparent (puis tu as encore la pluie par dessus le tout). Oh j'ai oubliais les personnages et taches de sang aussi !
PXL le retro-gaming facile: Essayez-le
Yildiz-Engine an open-source modular game engine: Website
Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page
Bon je commence à en avoir marre qu'on me critique tout le temps, alors, je vais faire une optimisation du moteur pour permettre de faire un rendu au raytracing et faire de jolis rendus avec un bon FPS. (J'avais déjà essayé mais c'était trop lent alors j'avais abandonné mais ici j'ai une nouvelle idée qui pourrait bien changé le cours des choses)
L'idée par de ce principe (et ça marchera aussi pour la 3D) : lorsque l'on déplace la caméra, on peut réutiliser une partie de ce qui a été dessiné précédemment pour générer la frame suivante, pas besoin de refaire tout les calculs d'ombres, de lumière et de transparence pour cette partie.
Il y a deux champs de visions, le nouveau champs de vision de la caméra (la nouvelle frame) et l'ancien champ de vision de la caméra. (l'ancienne frame)
L'idée est de gardé tout ce qui se trouve dans l'ancienne frame et n'appliquer que la transformation de la vue ainsi même si l'on fait une rotation de la vue en 3D, les pixels seront mis à jour. Pas besoin de refaire un depthpeeling ou un raytracing pour cette partie car la transformation de la vue est uniforme à la scène donc les objets qui sont derrières restent derrière et ceux qui sont devant restent devant, la seule chose qui nécessite donc de refaire un depthpeeling ou un raytracing, se sont les transformations sur les entités.
Pour les animations, il suffit de ne remettre à jour que la partie ou l'animation est jouée.
Je vais donc prendre tout ce qui se trouve entre le nouveau champ de vision de la caméra et l'ancien champ de vision de la caméra ce qui revient à faire une soustraction des boîtes englobantes des deux champ de vision et ne recalculer le rendu que pour cette partie là.
Une fois que j'aurai fais ça, je pourrai retenter de faire un rendu au raytracing.
Je n'ai pas encore testé mais j'ai posté l'idée car j'aime bien l'idée.
Ce n'est pas du temporal AA, mais le principe est similaire.
https://laurentdur.wordpress.com/201...le-raytracing/
J'ai enfin trouvé ce qui me gêne avec cette idée (qui oui, en théorie elle est nickel, mais pourquoi personne ne l'utilise donc ).
Et bien, simplement que si vous avez un élément qui bouge dans la partie de l'image que vous voulez conserver (que ce soit une lumière, ou même un personnage, un avion, une particule ou je ne sais quoi), la partie que vous allez conserver ne sera pas à jour.
Alors, c'est ultra cool pour les scènes ultra statiques, mais pour un jeu vidéo... c'est rare qu'il n'y ai rien qui bouge.
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.
Mon shader de displacement fonctionne! trop cool!
Je n'utilise cela que pour les entités statique LittleWhite, pour ce qui est dynamique rien ne m'empêche de remettre à jour l'image là ou l'élément bouge.J'ai enfin trouvé ce qui me gêne avec cette idée (qui oui, en théorie elle est nickel, mais pourquoi personne ne l'utilise donc ).
Et bien, simplement que si vous avez un élément qui bouge dans la partie de l'image que vous voulez conserver (que ce soit une lumière, ou même un personnage, un avion, une particule ou je ne sais quoi), la partie que vous allez conserver ne sera pas à jour.
Alors, c'est ultra cool pour les scènes ultra statiques, mais pour un jeu vidéo... c'est rare qu'il n'y ai rien qui bouge.
Cette technique ne fonctionnera pas pour la 3D, car lors d'un déplacement ou d'une rotation de la caméra, le point de vue change, et tu seras quoi qu'il arrive obligé de recalculer toute ton image.
Si vous ne trouvez plus rien, cherchez autre chose...
Vous trouverez ici des tutoriels OpenGL moderne.
Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).
Je ne sais pas, je n'ai pas encore testé pour la 3D, pour l'instant je me concentre plutôt sur la 2D.Cette technique ne fonctionnera pas pour la 3D, car lors d'un déplacement ou d'une rotation de la caméra, le point de vue change, et tu seras quoi qu'il arrive obligé de recalculer toute ton image.
J'ai effectué un premier essai en utilisant deux textures de rendus, l'une pour conserver les données de la frame précédente et l'autre pour dessiner la frame courante, mais, ça ne marche pas si bien que je l'aurai espéré et je suis assez déçu.
En effet dès que je met un if pour testé si la caméra a été modifiée, il ne m'affiche plus rien. (Ecran noir)
J'ai eu pas mal de soucis avec les textures de rendu de la SFML.
Non c'est bon ça marche! Mais je dois encore optimisé c'est encore trop lent. Je dois le faire pour les animations maintenant, seulement remettre à jour la partie ou l'animation est jouée.
Et je dois aussi optimiser la méthode qui mets à jour les entités visibles sur le composant.
Je ne comprends pas l'intérêt de faire ça pour de la 2D traditionnel ? Tu peux facilement afficher des centaines de sprites en instancing pour un cout vraiment minime... tenir compte de toute la situation de la scène pour mettre à jour des morceaux par ici et par là va problablement même être moins performant au final.Non c'est bon ça marche! Mais je dois encore optimisé c'est encore trop lent. Je dois le faire pour les animations maintenant, seulement remettre à jour la partie ou l'animation est jouée.
Et je dois aussi optimiser la méthode qui mets à jour les entités visibles sur le composant.
D'habitude je défend la veuve et l'orphelin mais la une fois n'est pas coutume il est clair qu'il va falloir te faire violence Laurent
Car pour le moment tu fais ce que nous avons déjà tous fait (et faisons en ce moment peut être) je dirais, c'est à dire cracher de la ligne de code et se faire plaisir en codant des fonctions/logiciels par nous même avec nos petits doigts virevoltant comme des fous furieux sur le clavier alors qu'on sait très bien que cela forcément un peu bancale au final qu'il existe déjà sur le marche des trucs qui le font mieux et gratuitement et que du coup on se servira jamais de tout cela, mais on kiffe car on le fait nous même !
Tu es sur ton moteur depuis leje dirais arrête de poster des messages ici, hiberne pendant 2 mois ou plus s'il faut mais sors au moins une vidéo d'un proto de jeu avec ton moteur et la ça deviendra sérieux car pour le moment c'est con à dire mais ça brasse du vent un peu tout ça :/07/08/2014, 22h09
Après tu peux toujours te faire plaisir (et n'en faire qu'a ta tête diraient certains ) et continuer sur ta lancée mais dans 10 ans on continuera à répondre sur ta discussion via nos implants neuronales depuis notre voiture volante sur le fait que tu n'arrives pas à intégrer des fonctions de 3D sur écran physique dans ODFAEG alors qu'on sera à l'aire de l'holographique ou je ne sais quoi
Tu as l'air d'avoir des compétences quand même, tu ne veux pas les mettre sur un nouveau projet qui va aboutir et peut être rendre service à des gens?c'est plutôt gratifiant de faire cela au final
A bon entendeur
TontonNico
TontonNico
On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager