![]() |
DirectX, Mehrfarbiges Vertex-Coloring
Hallo *,
wie kann ich unter Direct3D mehrfarbiges Vertex-Coloring erzeugen? Ich habe ein Gebirge (mash). Kein Licht. Nur Vertex-Coloring. Der Boden ist Schwarz, die Gipfel rot. Die Flanken der Berge werden von schwarz bis rot schattiert (Gourot). Wie kann ich es erreichen, dass die Flanken der Berge von schwarz über blau - grün - gelb - orange bis rot (streifig) schattiert werden? Dabei überziegen diese Farbstreifen das Gebirge wie mit Höhenlinien. MFG Wolfgang |
Re: DirectX, Mehrfarbiges Vertex-Coloring
Du weist den Vertizes abhängig von ihrer Höhe eine Farbe zu.
Ein Farbverlauf von blau über türkis, grün, gelb, orange zu rot machst du, mit folgenden Richtwerten: Blau: r:0 g:0 b:255 Türkis: r:0 g:255 b:255 Grün: r:0 g:255: b:0 Gelb: r:255 g:255: b:0 Rot: r:255 g:0 b:0 Schreib dir einfach eine Funktion, die dir für einen beliebigen Höhenwert die richtige Farbe raussucht. PS: Mash = Mesh Gourot = Gouraud |
Re: DirectX, Mehrfarbiges Vertex-Coloring
Es wäre sinnvoller ein anderes farbsystem zu wählen, zB. HSL. Die höhe des berges wäre dann zB. der Hue wert (oder Heu und Luminance). Das würde automatisch zu einem regenbogen-verlauf führen. Einfach eine kleine delphi unit suchen, die das HSL nach RGB konvertieren kann und fertig ist die laube!
|
Re: DirectX, Mehrfarbiges Vertex-Coloring
Vielen Dank für die Tipps.
Ich habe noch eine einfachere Möglichkeit gefunden, die mehr Spielraum für die Farbvariation läßt: Ich erstelle eine Textur mit dem gewünschten Farbverlauf. Diese Textur lege ich nicht (wie sonst üblich) flach auf das Gebirge, sondern senkrecht. Also so wie in Euren Tipps geschrieben, weise ich dem jeweiligen Dreieck entsprechend seiner Höhe ein Teil der Textur zu. Danke für Eure Tipps. Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz