Bonjour à tous,
je suis en train de coder sous vb.net un projet pour mon boulot. (je n'ai pas le choix de la plateforme)
J'ai ajouté un petit peu de 3D via OpenTK qui utilise OpenGL.
Mon projet consiste à dessiner des cylindres, pour cela j'utilise une simple boucle
Sur ce cylindre, j'ai dessiné un filetage. j'ai gardé la même fonction mais j'ai ajouté une boucle qui me décale le point d'arrivé. Voici un exemple bidon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 GL.Begin(BeginMode.Lines) For i = 0 To 360 mycos = (Math.Cos(i * 2 * Math.PI / 360)) * 100 mysin = (Math.Sin(i * 2 * Math.PI / 360)) * 100 GL.Vertex3(mycos, mysin, 0) mycos = (Math.Cos(i * 2 * Math.PI / 360)) * 100 mysin = (Math.Sin(i * 2 * Math.PI / 360)) * 100 GL.Vertex3(mycos, mysin, 100) Next i GL.End()
Mon souci est que c'est très lourd de faire cela dans une boucle principal et j'ai mes FPS qui chutes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 GL.Begin(BeginMode.Lines) for j = 0 to 200 For i = 0 To 360 mycos = (Math.Cos(i * 2 * Math.PI / 360)) * 100 mysin = (Math.Sin(i * 2 * Math.PI / 360)) * 100 GL.Vertex3(mycos, mysin, j) mycos = (Math.Cos(i * 2 * Math.PI / 360)) * 100 mysin = (Math.Sin(i * 2 * Math.PI / 360)) * 100 GL.Vertex3(mycos, mysin, j+1) Next i GL.End() next j
Il existe une solution pour réduire cette charge ? Je suis débutant en OpenGl alors je ne fais peu être pas de la bonne manière.
Merci à vous.
Partager