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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

OpenTK disponible en version 1.1
La bibliothèque OpenGL pour le C# revient avec le support d'OpenGL 4 et OpenGL ES 3

Le , par LittleWhite

66PARTAGES

2  0 
OpenTK est une bibliothèque permettant de réaliser des applications OpenGL/OpenAL/OpenCL en C#. La bibliothèque revient après de long mois sans activité apparente. Toutefois, il faut se rassurer de la situation, car cette nouvelle version annonce une progression très nette dans le support des nouvelles spécifications d'OpenGL, mais aussi car la bibliothèque est grandement utilisée notamment dans le projet MonoGame.


Cette version 1.1 apporte :
  • le support d'OpenGL 4.4 et OpenGL ES 3.0 ;
  • des énumérations au typage fort pour OpenGL ES 2.0 et 3.0 ;
  • une nouvelle surcharge d'OpenGL plus rapide et optimisée manuellement ;
  • un nouveau backend SDL 2 pour une meilleure compatibilité avec les plateformes supportées ;
  • de nouveaux modules Joystick et GamePad disponibles dans le namespace OpenTK.Input ;
  • une amélioration du temps de démarrage et une diminution de la consommation mémoire ;
  • une documentation intégrée pour toutes les fonctions cœur OpenGL et OpenGL ES ;
  • une bibliothèque mathématique étendue ;
  • de nombreuses corrections de bogues pour Mac OS X, Windows 8 et Linux ;
  • une intégration de ANGLE pour les systèmes Windows qui n'ont pas de support d'OpenGL ;
  • le support des moniteurs Retina ;
  • une utilisation de l'éditeur de lien de mono pour réduire la taille de OpenTK.dll ;
  • des binaires précompilées pour les dépendances supplémentaires (SDL 2, OpenAL...).


Les développeurs cherchent maintenant à rajouter le support d'Android (Xamarin) et iOS. La transition entre OpenTK 1.0 et 1.1 ne devrait pas poser de problème pour la majorité des projets. Toutefois, de nombreuses signatures de fonctions ont été modifiées dans cette version, pour suivre la spécification. Normalement, ces cas devraient générer des erreurs de compilation, toutefois, il est recommandé de suivre les modifications suivantes :


Namespace OpenTK.Graphics.OpenGL
Changement de signature :
- GL.MultiDrawArrays (`out` -> `ref`)
- GL.Amd.DeletePerfMonitors (`out` -> `ref`)

Changement de signature (peut provoquer un crashe) :
- GL.Apple.ObjectPurgeable (retourne `AppleObjectPurgeable` au lieu de `IntPtr`)
- GL.Ext.SeparableFilter2D
- GL.Ibm.EdgeFlagPointerList (`bool[]` -> `bool*[]`)
- GL.NV.TransformFeedbackVaryings (`string[]` -> `int[]`)

Changement du type de retour :
- GL.WaitSync (returns `WaitSyncFlags` instead of `ArbSync`)

Namespace OpenTK.Graphics.ES11
Changement du type de retour :
- GL.GetError (`ErrorCode` instead of `All`)

Changement de paramètres `ref` en `out` :
- GL.GenBuffers
- GL.GenTextures
- GL.GetBoolean
- GL.GetBufferParameter
- GL.GetClipPlane
- GL.GetClipPlanex
- GL.GetFixed
- GL.GetFloat
- GL.GetInteger
- GL.GetLight
- GL.GetLightx
- GL.GetMaterial
- GL.GetMaterialx
- GL.GetTexEnv
- GL.GetTexEnvx
- GL.GetTexParameter
- GL.GetTexParameterx
- GL.Oes.GenFramebuffers
- GL.Oes.GetClipPlane
- GL.Oes.GetClipPlanex
- GL.Oes.GetFixed
- GL.Oes.GetFramebufferAttachmentParameter
- GL.Oes.GetLightx
- GL.Oes.GetMaterialx
- GL.Oes.GetRenderbufferParameter
- GL.Oes.GetTexEnvx
- GL.Oes.GetTexGen
- GL.Oes.GetTexGenx
- GL.Oes.GetTexParameterx
- GL.Oes.QueryMatrixx
- GL.NV.GenFences
- GL.NV.GetFence

Changement de namespace :
- GL.ClipPlanefIMG -> GL.Img.ClipPlane
- GL.DisableDriverControlQCOM -> GL.Qcom.DisableDriverControl

Namespace OpenTK.Graphics.ES20.GL
Changement signature (peut provoquer un crashe) :
- GL.NV.GetFence prend maintenant trois paramètres au lieu de deux

Changement de paramètres `ref` en `out`:
- GL.GetActiveAttrib
- GL.GetActiveUniform
- GL.GetAttachedShaders
- GL.GetProgramInfoLog
- GL.GetShaderInfoLog
- GL.GetShaderSource
- GL.Amd.GetPerfMonitorCounterData
- GL.Amd.GetPerfMonitorCounters
- GL.Amd.GetPerfMonitorCounterString
- GL.Amd.GetPerfMonitorGroup
- GL.Amd.GetPerfMonitorGroupString
- GL.Amd.SelectPerfMonitorCounters

Changement de namespace:
- GL.DisableDriverControlQCOM -> GL.Qcom.DisableDriverControl
- GL.GetDriverControlsQCOM -> GL.Qcom.GetDriverControls
- GL.GetDriverControlStringQCOM -> GL.Qcom.GetDriverControlString
Vous pouvez télécharger OpenTK sur la page SourceForge ou consulter le code source.

Votre opinion

Pensez-vous le support d'OpenGL nécessaire au C# ? Quel en est votre intérêt ?
Avez-vous déjà utilisé OpenTK ? L'avez-vous abandonné à cause de l'inactivité du projet ?
Montrez-nous vos applications réalisées avec OpenTK !

Source

Annonce officielle

Une erreur dans cette actualité ? Signalez-nous-la !