Hallo,
ich möchte das eine TSphere (befindet sich auf einem TViewport3D) einen Schatten bekommt. Bei TImages kann ich einfach einen TShadowEffect auf das Bild ziehen und alles funktioniert. Bei einem TSphere wird entweder das Objekt komplett grau gezeichnet oder es verändert sich einfach gar nichts.
Im Moment zeichne ich die TSphere auf ein TImage welches den TShadowEffect als ChildControl hat. Aber ich würde gerne auf das Image verzichten und die TSphere direkt mit einem Schatten zu versehen.
Delphi-Quellcode:
Sphere1.PaintToBitmap(
Image1.Bitmap,
512, 512, TAlphaColorRec.Alpha,
False, TMultisample.FourSamples
);
TShadowEffect bietet die Methode
ProcessTexture(const Visual: TTexture; const Context: TContext3D);
Aber ich weiß nicht was ich übergeben muss. Ich habe es auch in dem OnRender-Event von TSphere versucht. Aber da habe ich nur den Context-Parameter. Was muss ich als TTexture übergeben? Oder gibt es eine andere Möglichkeit ein 3D-Objekt mit einem Effekt auszustatten?
Danke und schöne Grüße,
Andreas