Bonjour,
Depuis quelques jours je m’intéresse à la méthode de rendu de ray marching. Apres une première implémentation en java (pour le moment on peut voir que une sphère avec des lumières). J'ai maintenant affaire à un problème de performance, en effet, j'utilise lwjgl pour gérer ma fenêtre puis je calcul la couleur de chaque pixels (double boucle for).
Cependant le problème intervient lors des calculs avec la boucle qui va calculer la distance de la prochaine surface jusqu’à un epsilon fixé et cela revient à faire beaucoup de calcul et donc prend du temps et me fais arriver un frame rate de 5 fps pour une fenêtre de 400x400.
Pour coder cela je me suis inspiré de ce code sur shaderToy qui lui tourne à 60 fps sans problème ... :https://www.shadertoy.com/view/lt33z7
Auriez-vous des conseils à me donner ? du mutithreading pourrait-il améliorer les choses ?
J'ai bien pensé à utiliser la libraire jcuda de nvidia pour plus utiliser le gpu mais je pense que le résultat sera la même.
Merci d'avance pour vos réponses
Partager