Czy jest jakiś demo lub artykuł o tym, jak malować kolory stałe na modelu 3D za pomocą komponentu Delphi GLScene lub FireMonkey?Delphi - przykład demonstracyjny GLScene lub FireMonkey do malowania na modelu 3D
Odpowiedz
W GLScene Demos \ interface \ hfpick, masz przykład malowania na polu wysokości.
Malowanie na bardziej złożonej siatce będzie wymagało sprawdzenia współrzędnych tekstury punktu pod kursorem, co w zależności od sposobu odwzorowania tekstury może być bardziej lub mniej złożone.
Szybki hack dla małych tekstur, które wykorzystają GPU, może wykorzystywać współrzędne tekstury jako kolor RGB, możesz to zrobić w shaderze fragmentów, zwracając u, v do R, G fi i indeks tekstury do kanału B. Renderuj to w buforze poza ekranem i sprawdź kolor punktu pod kursorem, który da współrzędne tekstury i proste wsparcie dla tekstur 256 x 256 (a nawet do 4096 x 4096, jeśli korzystasz z indeksu tekstów mądrze).
Aby zrobić to w poprawny matematycznie sposób (przy użyciu procesora), musisz zmodyfikować metody RayCast siatki, tak aby zamiast znaleźć trójkąt, który zostanie uderzony, zwróci on również współrzędne tekstury punkt uderzenia.
Ten artykuł na blogu, Visualizing wave interference using FireMonkey, opublikowany wczoraj, może zainteresować.
Kilka screenów:
http://edn.embarcadero.com/article/images/42012/thumb03000003.png
http://edn.embarcadero.com/article/images/42012/thumb03000005.png
Bardzo dziękuję to sprawdzi – Wel
Wiele Dzięki .............. – Wel