Bonjour à tous,
Dans une appli codée en VB.NET, j'ai une fenêtre de visualisation en 2D et une autre en 3D faite avec OpenTK.
Quand je visualise une grosse pièce en 2D, vue de dessus (empilement de polygones en couleurs) l'affichage est lent.
A chaque déplacement de la vue avec la souris il faut redessiner les polygones avec .fillPolygon()
Quand je visualise la même pièce en 3D avec OpenTK, c'est beaucoup plus fluide.
Pourtant, à chaque déplacement de la vue avec la souris je dois demander à OpenGL de redessiner tous les triangles (150.000), et OpenGL fait le calcul de l'affichage 3D avec 3 sources lumineuses et pas mal de "raffinements"
D'ailleurs je trouve ça un peu dommage, je n'ai pas compris comment demander à OpenGL de simplement déplacer la scène (ou mon point de vue) sans être obligé de rentrer la liste de tous les triangles à chaque affichage.
C'est facile à comprendre, la 3D avec OpenGL utilise l'accélération matérielle, la 2D avec VB.NET c'est les fonctions de System.Drawing...
Dans les deux cas mon code source est optimisé, tous les calculs intermédiaires ou répétitifs sont évités, tout ce qui peut être pré-calculé l'est.
Du coup je me demande si pour la vue en 2D je ne vais pas carrément utiliser OpenGL
C'est un peu un marteau pour enfoncer une punaise mais OpenGL permet de faire de la 2D aussi (en désactivant DepthTest puis ensuite en ne donnant que des points Vertex2)
Et ce sera super rapide puisque c'est la CG qui va faire le taf
Qu'en pensez-vous ?
Qu'avez vous utilisé pour vos logiciels de dessin ou de visualisation "2D" ?
A bientôt
Partager