120 votes

Utiliser OpenGl avec C# ?

Existe-t-il des bibliothèques de support OpenGL gratuites pour C# ? Si oui, laquelle dois-je utiliser et où puis-je trouver des exemples de projets ?

Le C# fournit-il des classes pour OpenGL ?

0 votes

Je sais que c'est un très vieux sujet, mais Unité qui pourraient vous intéresser

131voto

OpenTK est une amélioration par rapport à l'API Tao, car elle utilise le style idiomatique C# avec la surcharge, les enums fortement typés, les exceptions et les types .NET standard :

GL.Begin(BeginMode.Points);
GL.Color3(Color.Yellow);
GL.Vertex3(Vector3.Up);

par opposition à Tao qui ne fait que refléter l'API C :

Gl.glBegin(Gl.GL_POINTS);   // double "gl" prefix
Gl.glColor3ub(255, 255, 0); // have to pass RGB values as separate args
Gl.glVertex3f(0, 1, 0);     // explicit "f" qualifier

Cela rend le portage plus difficile mais est incroyablement agréable à utiliser.

En prime, il assure le rendu des polices, le chargement des textures, la gestion des entrées, l'audio, les mathématiques...

Mise à jour du 18 janvier 2016 : Aujourd'hui, le mainteneur d'OpenTK a s'est retiré du projet laissant son avenir incertain. Les forums sont remplis de spam. Le mainteneur recommande de passer à MonoGame ou SDL2#.

Mise à jour le 30 juin 2020 : OpenTK a eu de nouveaux mainteneurs depuis un certain temps maintenant et a une communauté discord active. La recommandation précédente d'utiliser une autre bibliothèque n'est donc pas nécessairement vraie.

17voto

Jeff Mc Points 1741

Je pense que ce que @korona voulait dire, c'est qu'étant donné qu'il s'agit d'une API C, vous pouvez l'utiliser directement en C# en tapant beaucoup de choses comme ceci :

[DllImport("opengl32")]
public static extern void glVertex3f(float x, float y, float z);

Malheureusement, vous devriez le faire pour chaque fonction OpenGL que vous appelez, et c'est en fait ce que Tao a fait pour vous.

0 votes

Comment s'y prendre sous Linux (avec mono) ?

0 votes

En gros, c'est exactement la même chose, mono-project.com/Interoperop_avec_les_librairies_natives

15voto

Ólafur Waage Points 40104

Tao est censé être un cadre agréable.

Sur leur site :

Le Tao Framework pour .NET est une collection de liens qui facilitent le le développement d'applications multimédias multiplateformes en utilisant les plateformes .NET et Mono.

1 votes

Le nouveau site web de Tao est : Cadre du Tao

9voto

dharmatech Points 2317

SharpGL est un projet qui vous permet d'utiliser OpenGL dans vos applications Windows Forms ou WPF.

7voto

Oliver Points 19006

Je recommande également le Cadre du Tao . Mais une remarque supplémentaire :

Jetez un coup d'œil à ces tutoriels : http://www.taumuon.co.uk/jabuka/

0 votes

Je n'ai aucune idée de ce qui est arrivé à Tao car la page a été supprimée il y a un certain temps.

0 votes

Le nouveau site web de Tao est : Cadre du Tao

1 votes

Tao semble être une cible mouvante. J'ai mis à jour le lien, car il est aussi passé de mono à sourceforge.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X