Salut,
Je cherche à afficher une image de flottants RGB (donc un tableau de 3 floats dont je connais la taille longueur*largeur) dans un widget Qt. Y a-t-il un moyen simple actuellement ou faut-il coder une transformation flottant -> entier ?
Salut,
Je cherche à afficher une image de flottants RGB (donc un tableau de 3 floats dont je connais la taille longueur*largeur) dans un widget Qt. Y a-t-il un moyen simple actuellement ou faut-il coder une transformation flottant -> entier ?
En fait, c'est pour faire une démo de mon ray tracer interactif, et comme je connais bien Qt, je peux faire une interface à 2cents très facilement
Pas certain que j'en ai vraiment besoin, en réalité. De plus, c'est juste pour montrer l'interactivité, je ne vais pas passer 50 ans à faire ça.
En gros, ça va faire :
Avec une grosse boucle for et si j'ai un jour le temps, je passerai par un truc parallèle. Tout dépendra de la réponse du profileur
Code : Sélectionner tout - Visualiser dans une fenêtre à part char(couleur * 256)
Effectivement, unsigned char
Je fais déjà tout pour que ce soit entre 0 et 1. Pour l'instant, ma fonction d'affichage (en fait une fonction Python) a le même comportement, donc aucun souci
Salut,
Tu peux passer par QColor::fromRgbF, mais tu n'as absolument pas la main sur la transformation (donc pour un éventuel contrôlé d'exposition ou de gamma, faut faire une passe avant au lieu de la faire en même temps). Ensuite, tu devras créer une QImage et utiliser setPixel avec chaque couleur.
Du coup c'est super couteux, et il pourrait être intéressant d'avoir une preview opengl (pour clarifier, je parle d'une création de texture flottante affichée sur un quad, pas d'une preview de la scène )
C'est vrai que la preview avec OpenGL peut être bien plus rapide puisque c'est lui qui se charge de la conversion. Et en plus, ça a l'avantage de présenter bien plus de réutilisation qu'une solution 100% Qt. Faut que je me replonge dans OpenGL pour me rappeler comment faire
Juste une dernière remarque avec les concurrent,
tu pourrais facilement utilise QtConcurrent::run
http://qt.developpez.com/doc/latest/...urrentrun.html
pour lancer la conversion dans une autre thread
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager