J'essaie de dessiner une lueur/ombre intérieure pour un objet constitué de quatre courbes de Bézier cubiques. Pour tracer une courbe de Bézier Je divisant en segments et en calculant ensuite les distances de pixel courant à chaque segment de ligne et enfin je mélange avec min
:Dessin de l'ombre interne pour les courbes de Bézier dans OpenGL/GLSL
// No GL_MAX blending mode in OpenGL ES 2.0 d_min = min(d_min, d)
où d
est une distance pour chaque segment. Zoomé exemple de mélange de deux segments de ligne:
Il fonctionne assez bien lorsque vous avez ~ 25 segments représentant une courbe courte Bézier
à l'exception des « gouttières » dans les lieux où les courbes de Bézier et leurs gradients respectifs se combinent.
Q: Comment puis-je éviter ces artefacts? Existe-t-il une meilleure méthode pour dessiner une lueur/ombre intérieure?
this [Dessiner une courbe quadratique sur GPU] (http://stackoverflow.com/a/31423105/2521214) pourrait aider un peu – Spektre