Esiste una dimostrazione o un articolo su come dipingere i colori solidi su un modello 3D utilizzando il componente Delphi GLScene o FireMonkey?Delphi - Esempio di dimostrazione GLScene o FireMonkey per la verniciatura sul modello 3D
risposta
Nella demo di GLScene \ interface \ hfpick, si ha un esempio di pittura su un campo di altezza.
La pittura su una mesh più complessa richiederà la ricerca delle coordinate della trama del punto sotto il cursore, che a seconda di come la trama è stata mappata potrebbe essere più o meno complessa.
Un attacco rapido per trame di piccole dimensioni che trarranno vantaggio dalla GPU può essere utilizzare le coordinate di trama come colore RGB, è possibile farlo in uno shader di frammenti, restituendo u, v in R, G fi e il indice di trama nel canale B. Renderlo in un buffer fuori campo e cercare il colore del punto sotto il cursore, che ti darà le coordinate di trama & e banale per trame 256x256 (e anche fino a 4096x4096 se usi saggiamente l'indice di trama).
Per farlo in modo matematicamente corretto (utilizzando la CPU), dovrete modificare i metodi mesh RayCast, in modo che invece di trovare il triangolo colpito, restituirà anche le coordinate di trama del punto che viene colpito.
Questo articolo del blog, Visualizing wave interference using FireMonkey, pubblicato ieri, può essere di interesse.
Un paio di screenshot:
http://edn.embarcadero.com/article/images/42012/thumb03000003.png
http://edn.embarcadero.com/article/images/42012/thumb03000005.png
grazie sacco controlleranno questo – Wel
Molte grazie .............. – Wel