Partie 1:Simple plat Avion Tessellation Shader
Je veux créer un programme de tessellation de base qui prend un plan de quadriceps et la transforme en un plus, bien, plan détaillé/tessellated du quadriceps. Tels que l'image ci-dessous. Le degré de tessellation dépend des commandes de l'utilisateur, transmises par un uniforme (initialement). Cependant, je suis si nouveau pour les shaders de tessellation que je ne peux même pas comprendre comment faire cela.
Comment cela se fait généralement? Certes, vous ne devriez pas vraiment tirer le plan de quartes avant le programme de shaders, car de mes quadriceps compréhension ne se tessellated de cette façon, au lieu de la obtenir Tessellated dans une manière comme l'image ci-dessous:
Je crois que la réponse pourrait être de dessiner un plan de points, et ces points sont ensuite mosaïqués en plus de points, et ces points sont transformés en quads de la taille appropriée dans le geometry shader je pense? Sinon, au lieu de convertir des points en quads, pourrais-je simplement dessiner des quads entre les quatre points les plus proches (ce serait beaucoup mieux)? Des exemples très appréciés!
REMARQUE: L'utilisation GLSL> 4.0 & C seulement (N ° C++/Python)
Partie 2:
Après je reçois la partie 1 de travail, comment pourrais-je faire en sorte que certains quadriceps sont plus que d'autres en damier, comme celui-ci ?:
Je veux que les parties plus proches de la caméra être plus en mosaïque.
Partie 3:
Si je pouvais obtenir jusque-là, la partie suivante serait de modifier l'axe z de points pour rendre le plan dans un environnement intéressant. Ce serait fait en lisant dans un 2Dsampler, je sais comment faire ça et tout. Cependant, si je suis correct dans la partie 1 sur l'utilisation d'un plan de points, je dois faire plus que simplement modifier les points qui sont convertis en quads, car les quads doivent partager les sommets essentiellement pour qu'il n'y ait pas d'espace entre les quads. Comment cela serait-il fait? Sinon, si nous dessinons des quads entre les points, chaque point étant la hauteur approximative, alors ce ne sera pas un problème.