Bonjour, je m’appelle Léon. Avant, j’étais moche. Ma vie était sans intérêt. Je me retrouvais sur tous les sites, dans tous les forums, utilisé pour exprimer des émotions ridicules…
Bonjour, je m’appelle Léon. Avant, j’étais moche. Ma vie était sans intérêt. Je me retrouvais sur tous les sites, dans tous les forums, utilisé pour exprimer des émotions ridicules…
Mais depuis que j’ai rencontré mon ami Néon, c’est la fête tous les jours*!!!! Vous aussi, venez rencontrer Néon, votre vie deviendra lumineuse*!!! VIVE NEON*!!!!
(ouais….bon….ça se voit que je suis content de mon algo?...)
Voilà comment se comporte la fonction avec une autre forme :
Bonjour,
Je ne crois pas que cela a été dit, mais en 3D temps réel (donc avec le GPU), le flou lumineux se fait souvent par un down scale sur plusieurs niveaux de la résolution de l'image lumineuse (ce qui fait un floutage de l'image) puis une fusion.
Bien sûr, une passe de flou gaussien c'est toujours la base.
Exemple sur DOOM : https://jeux.developpez.com/articles...udy/doom/#LI-R
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Bonjour LittleWhite. Si je comprends bien l article, il faut appliquer l effet une fois que la forme est dessinée et non appliquer l effet pour chaque pixel qu on est en train de dessiner.
En effet, mais il ne faut pas oublier que la 3D impose des contraintes différentes aux votre, sachant que pour les formes 3D, elles sont dessinées par triangle.
Du coup, moi, je prendrai votre image finale (image de luminance) et j'appliquerai l'effet en post traitement.
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
pour flouter l'impression de fumée et donner une impression de dégradé continu?
Arf, je me suis mal exprimé. Je parlais (bêtement d'image finale), l'image avec la couleur du néon, sur fond noir, mais sans l'effet néon.
Genre celle-ci : https://www.developpez.net/forums/at...age/leon1.png/ et vous lui appliquée la technique que j'ai mentionnée.
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Président Léon-Néon
T'as raison d'être content de toi car Léon-Néon en jète. Un festival de couleurs et l'effet fuménoïde est original. Par contre j'ai l'impression qu'avec les formes non linéaires tu perds le rendu laser. Physiquement ça devrait ressembler au tube contenant le gaz permettant l'émission de lumière. Mais par l'aléatoire t'obtiens bien un éclairage des zones alentours. Une forme de radiance ? Lumière diffuse, émise… Enfin l'idée est là !
Traitement d'images temps réel vs. fondamental
Merci pour l'article les techniques d'id Software sont toujours un régal ! En effet agrandir/rétrécir une image plusieurs fois permet de la flouter et d'ailleurs pour s'en rendre compte il suffit de le faire avec un simple logiciel d'édition d'images. Par contre les algos supportées ne le sont pas toujours par les cartes graphiques limitées à du bilinéaire & Cie. Je pense aussi que l'astuce verrait ses limites par rapport à un vrai flou gaussien.
Sinon dans ce cas je trouverai dommage de s'éloigner des fondamentaux. C'est pas un hasard si j'ai mentionné le traitement d'images car à partir de là ça permet d'avoir accès à plein de trucs utiles : Déterminer le contour, épaissir les formes… En plus la base est la même que pour le flou.
Après tout dépend de tes besoins et envies ! En plus les résultats obtenus sont vraiment sympas.
Hello et merci pour vos conseils et tes compliments.
Bon, trève de satisfaction, je me prends une belle claque quand justement je veux expérimenter ce que vous appelez les fondamentaux.
C'est à dire le traitement d'image (contour, épaississement etc.).
J'en arrive à la convolution d'image.
J'ai posté un autre sujet sur ce forum, mais en fait je crois que les deux sont liés.
Je ne cesse de modifier une fonction de convolution, mais rien ne marche comme je voudrais : quand je compare mes résultats avec ceux de google, cela n'a rien à voir.
Je publie ici ma fonction une nouvelle fois modifiée, mais les résultats sont mauvais.
Aurais tu une seconde de ton temps pour y jeter un oeil et me dire où ca merdoie?
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 image image_filter_aux1 (image* I, int* K, int kCols, int kRows, int divisor, unsigned char transparence, int luminosite, bool inverse_colour) { /*kCols = nb de colonnes du kernel, kRows = nb de lignes du kernel*/ int kCenterX = kCols / 2; int kCenterY = kRows / 2; int i, j, m, mm, n, nn, ii, jj; image J = image_create ((*I)->w, (*I)->h, 0xFF0000FF); for(j=0; j < (*I)->h ; j++) { for(i=0; i < (*I)->w; i++) { byte r, g, b; colour_get_rgb ((*I)->pixel[j * (*I)->w + i], &r, &g, &b); for(m=0; m < kRows; m++) { mm = kRows - 1 - m; for(n=0; n < kCols; n++) { nn = kCols - 1 - n; ii = i + (nn - kCenterX); jj = j + (mm - kCenterY); if( ii >= 0 && ii < (*I)->w && jj >= 0 && jj < (*I)->h ) { byte rr, gg, bb; colour_get_rgb ((*I)->pixel [jj * (*I)->w + ii], &rr, &gg, &bb); r += (rr * (K[mm * kRows + nn])); g += (gg * (K[mm * kRows + nn])); b += (bb * (K[mm * kRows + nn])); /* r /= divisor; g /= divisor; b /= divisor; */ if (r < 0) r = 0; if (r > 255) r = 255; if (g < 0) g = 0; if (g > 255) g = 255; if (b < 0) b = 0; if (b > 255) b = 255; J->pixel[j * J->w + i] = make_colour (r, g, b, 0xff); /*image_putpixel_alpha(J->pixel + j * J->w + i, r, g, b, transparence);*/ } } } } } if (inverse_colour) { for (j = 0; j < J->h; j++) { for (i = 0; i < J->w; i++) { byte rrr, ggg, bbb; colour_get_rgb (J->pixel[j * J->w + i], &rrr, &ggg, &bbb); J->pixel[j * J->w + i] = make_colour (255 - rrr, 255 - ggg, 255 - bbb, 0xff); if (J->pixel[j * J->w + i] == 0xfffffff) J->pixel[j * J->w + i] = 0xff0000ff; } } } return J; }
Il te faut des images de tests, précisément définies pour que tu puisses calculer toi-même, à la main, l'image résultat.
Par exemple, des images ultra contrasté: un rectangle de 8 pixels de haut par 16 de long, blanc sur la moitié gauche, noir sur la moitié droite.
La même avec les combinaisons de couleurs entre blanc, noir, rouge, bleu et vert.
Puis avec des formes un peu moins tranchées une ligne en travers d'un bloc, une tache, etc.
Mes principes de bases du codeur qui veut pouvoir dormir:Pour faire des graphes, essayez yEd.
- Une variable de moins est une source d'erreur en moins.
- Un pointeur de moins est une montagne d'erreurs en moins.
- Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
- jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
- La plus sotte des questions est celle qu'on ne pose pas.
le ter nel est le titre porté par un de mes personnages de jeu de rôle
Si ça peut te rassurer t'es pas le seul à rencontrer des difficultés. C'est normal car le traitement d'images ça peut être compliqué surtout que certaines connaissances en math sont nécessaires. Les matrices sont-elles tes amies ? Les tableaux tu aimes ? Pour le flou gaussien une recherche rapide a retourné des discussions utiles alors je te conseille de faire de même. Je vais jeter un coup d'œil à ton autre discussion mais si tu bloques je connais une technique pour simplifier le processus même si le résultat est moins puissant.
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