Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quel est le meilleur moteur graphique 3D pour C++

pour faire des jeux vidéo et modéliser

Sujet résolu
1 juillet 2022 à 16:32:24

Salut j'ai fini le premier cours de C++ proposé par open classroom et fais actuellement celui sur la programmation objet.

J'ai déjà fait un petit jeu 2D en python avec la librairy pygame, mais maintenant j'ai envie d'en faire un en 3D en c++, sachant que j'aimerai également faire une petite intelligence artificiel capable de modéliser lui même des choses basiques. J'ai entendu parler de OpenGL mais je ne trouve de cours en ligne dessus et les conversations sur le forum qui en parlent sont toutes vielles d'au moins 4 ans. Il y a également unreal engine 5 mais je ne pense pas qu'on puisse faire un programme qui modélise lui même dessus. Est se que quelqu'un pourrait m'éclairer sur ce sujet. Merci d'avance.

-
Edité par altrastorique 1 juillet 2022 à 16:58:26

  • Partager sur Facebook
  • Partager sur Twitter
2 juillet 2022 à 12:29:41

Si tu veux faire un jeux en 3D , utilise Unreal Engine.

OpenGL est devenu obsolète avec le temps et il est remplacé par Vulkan.
Surtout que OpenGL n'est pas un moteur graphique mais une API 3D.
  • Partager sur Facebook
  • Partager sur Twitter
2 juillet 2022 à 14:56:40

Bonjour,

Déplacement vers un forum plus approprié

Le sujet est déplacé de la section Graphisme 3D vers la section Langage C++

  • Partager sur Facebook
  • Partager sur Twitter

Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script

2 juillet 2022 à 15:47:36

HelbaSama a écrit:

Si tu veux faire un jeux en 3D , utilise Unreal Engine.

OpenGL est devenu obsolète avec le temps et il est remplacé par Vulkan.
Surtout que OpenGL n'est pas un moteur graphique mais une API 3D.


C’est Vulkan qui est obsolète. Sur Mac c’est Metal qu’il faut utiliser et sur Windows c’est Direct3D12
  • Partager sur Facebook
  • Partager sur Twitter
2 juillet 2022 à 19:07:31

merci beaucoup mais est se que sur unreal engine on peut demander au programme de modéliser lui même

et je suis windonws donc c pas metal.

  • Partager sur Facebook
  • Partager sur Twitter
2 juillet 2022 à 20:01:26

HedwigAcciari a écrit:


C’est Vulkan qui est obsolète. Sur Mac c’est Metal qu’il faut utiliser et sur Windows c’est Direct3D12


Ou comment dire n'importe quoi (et tu as oublié Linux).

Vulkan est la seule des 3 API de rendu modernes (comprenant donc Metal, D3D12 et Vulkan) qui tourne sur les 3 OS desktop (sans compter les plateformes mobile, donc).

ThomasBarry-Schmitt a écrit:

merci beaucoup mais est se que sur unreal engine on peut demander au programme de modéliser lui même


Qu'entends-tu par "se modéliser lui-même" ?

Si tu parles de génération procédurale, il n'y a pas besoin d'IA pour ça, et je ne serais pas surpris qu'on puisse trouver au moins des plugins pour UE permettant d'en faire.

-
Edité par dragonjoker 2 juillet 2022 à 20:03:44

  • Partager sur Facebook
  • Partager sur Twitter

Si vous ne trouvez plus rien, cherchez autre chose.

2 juillet 2022 à 22:18:36

dragonjoker a écrit:

HedwigAcciari a écrit:


C’est Vulkan qui est obsolète. Sur Mac c’est Metal qu’il faut utiliser et sur Windows c’est Direct3D12


Ou comment dire n'importe quoi (et tu as oublié Linux).

Vulkan est la seule des 3 API de rendu modernes (comprenant donc Metal, D3D12 et Vulkan) qui tourne sur les 3 OS desktop (sans compter les plateformes mobile, donc).

Personne ne joue sur Linux de toute façon, et Vulkan ne fonctionne pas sur Mac (comprendre par là qu'il y a une couche d'émulation, donc c'est voué à l'échec). C'est pas parce que Vulkan est plus récent que c'est un meilleur produit... Non c'est des petits rigolos, il faut utiliser des vrais trucs comme Direct3D. Vous savez ce que représente le logo Khronos ? L'eau qui coule dans les chiottes quand on tire la chasse. Ils ont plus qu'à y jeter OpenGL et Vulkan et on est bons
  • Partager sur Facebook
  • Partager sur Twitter
3 juillet 2022 à 0:21:36

Ca sent bon le troll, en tout cas...
  • Partager sur Facebook
  • Partager sur Twitter

Si vous ne trouvez plus rien, cherchez autre chose.

3 juillet 2022 à 0:29:54

Non, je trouve pas. Perso, j'ai été convaincu par l'argument du logo qui représente des chiottes.

-
Edité par gbdivers 3 juillet 2022 à 0:31:30

  • Partager sur Facebook
  • Partager sur Twitter
3 juillet 2022 à 9:17:28

HedwigAcciari a écrit:

1) sur Windows c’est Direct3D12

2) C’est Vulkan qui est obsolète.

3) Personne ne joue sur Linux de toute façon

4) Vulkan ne fonctionne pas sur Mac (comprendre par là qu'il y a une couche d'émulation, donc c'est voué à l'échec)


Alors même si je répond à un troll...

1) Apparament même Microsoft n'est pas d'accord ,vu que un de leur jeu Doom eternal( qui vient d'une de leur filiale) a été codé avec Vulkan et il est sorti sous Windows !

2) Obsolète veut dire que c'est une technique dépassé , hors Vulkan correspond justement au fonctionnement des GPU actuelle.
Je rajoute que si tu aurais programmé sur Vulkan et DirectX12 ,tu remarquerai justement leur similitude.

3) Vu que y'a une console qui vient de sortir "Steam deck" et qui tourne sur Linux.
(Je rappelle aussi que Android est un OS qui se base sur le noyau Linux).
Donc personne , ça commence à faire beaucoup de monde là ! ;)
(Je rajouterai que la Switch utilise aussi Vulkan comme API pour dev ).

4) Alors ce n'est pas de l'émulation , si tu veux voir de l'émulation Wine/proton est un bon exemple :

https://www.youtube.com/watch?v=TYmSoEhJL18

Et on y arrive avec de bonne perf (même sur certain jeux la version proton fait mieux que la version Windows/DX12).

Mais ici , c'est de la traduction d'API , ce n'est pas un vrai soucis (ça dépend de comment c'est implémenté aussi) , mais on est plus dans les années 90 avec des drawcall immédiat.
Donc que la translation est un peu plus "longue" n'a pas d'importance , vu que le GPU lui ne recevra qu'une command list au final , alors que tu l'écris sur Metal / Vulkan ou API perso , ça n'a pas d’importance , le GPU mettra le même temps de rendu.

Tu peux au pire perdre du temps CPU , mais il est relativement faible par rapport à tout le reste qui compose un jeux video moderne. (et même si ça prend plus de temps que prévu , tu peux le faire sur un autre thread , au moins tu perdra pas de temps "final").

PS: Etre courtois et poli est toujours un plus si on veut être "crédible" , de plus je pense que la politesse est indispensable quand on veut communiquer avec autrui. (parce que tes post sont assez grossiers ) .

-
Edité par HelbaSama 3 juillet 2022 à 12:19:24

  • Partager sur Facebook
  • Partager sur Twitter
5 juillet 2022 à 21:03:32

Merci beaucoup!

Du coup je retiens que Vulkan est mieux niveau compatibilité et puissance que Direct3D12, et que Unreal engine est égualement exelent.

Mias du coup entre unreal engine et Vulkan vous me conseillez quoi?

dragonjoker a écrit:

HedwigAcciari a écrit:


C’est Vulkan qui est obsolète. Sur Mac c’est Metal qu’il faut utiliser et sur Windows c’est Direct3D12


Ou comment dire n'importe quoi (et tu as oublié Linux).

Vulkan est la seule des 3 API de rendu modernes (comprenant donc Metal, D3D12 et Vulkan) qui tourne sur les 3 OS desktop (sans compter les plateformes mobile, donc).

ThomasBarry-Schmitt a écrit:

merci beaucoup mais est se que sur unreal engine on peut demander au programme de modéliser lui même


Qu'entends-tu par "se modéliser lui-même" ?

Si tu parles de génération procédurale, il n'y a pas besoin d'IA pour ça, et je ne serais pas surpris qu'on puisse trouver au moins des plugins pour UE permettant d'en faire.

ThomasBarry-Schmitt a écrit:

Par "de modelisé lui même" je voulais parler du fait de rendre le programme capable de modéliser un objet (par exemple un cube) lui même.

-
Edité par altrastorique 5 juillet 2022 à 21:12:19

  • Partager sur Facebook
  • Partager sur Twitter
5 juillet 2022 à 21:19:23

Tu as mal lu je pense. Vulkan -tout comme Direct3D 12 sur Windows et Metal sur les OS Apple- sont des API graphique (très) bas niveau, qui en gros permettent de coder des instructions sur tous les GPU sous peu qu'un driver compatible soit disponible sur l'OS. Elle sont destinées aux personnes qui développent des moteurs de rendu 3D (comme Unreal Engine). Unreal Engine est un moteur de jeux, il incorpore donc déjà un moteur de rendu 3D. Le développement d'un tel moteur aussi complet prend des années.

Donc si tu veux un moteur de rendu 3D, utilise Unreal Engine.

  • Partager sur Facebook
  • Partager sur Twitter
7 août 2022 à 12:04:25

merci beaucoup mais je ne trouve pas de cours sur internet sur unreal engine 5 programmant en C++ et non avec les cubes. Est se que vous connaissez des chaînes youtube ou site internet qui en parlent ?

PS:Ça ne me dérange pas que le cours soit en anglais

  • Partager sur Facebook
  • Partager sur Twitter
10 août 2022 à 11:23:29

ah oui effectivement. Merci beaucoup à tout se qui m’ont aidé.:)
  • Partager sur Facebook
  • Partager sur Twitter