Übersicht über die BeleuchtungLighting overview

Wenn Sie Direct3D-Beleuchtung verwenden, erlauben Sie es Direct3D, die Details der Beleuchtung für Sie zu übernehmen.When you use Direct3D lighting, you allow Direct3D to handle the details of illumination for you. Fortgeschrittene Benutzer können die Beleuchtung bei Bedarf selbst ausführen.Advanced users can perform lighting on their own, if desired.

Wenn die Beleuchtung aktiviert ist, berechnet Direct3D die Farbe für jeden Objekt-Vertex basierend auf einer Kombination der folgenden Parameter:When lighting is enabled, Direct3D calculates the color of each object vertex based on a combination of the following:

  • Texel in einer zugeordneten Texturmap.The texels in an associated texture map.
  • Die diffusen und Glanzfarben am Vertex, falls angegeben.The diffuse and specular colors at the vertex, if specified.
  • Die Farbe und Intensität des Lichts, das von Lichtquellen in der Szene oder durch die Umgebungshelligkeit der Szene erzeugt wird.The color and intensity of light produced by light sources in the scene or the scene's ambient light level.

Wie Sie mit Beleuchtung und Materialien arbeiten, hat einen großen Einfluss auf das Erscheinungsbild der gerenderten Szene.How you work with lighting and materials makes a big difference in the appearance of the rendered scene. Materialien bestimmen, wie Licht von einer Oberfläche reflektiert wird.Materials define how light reflects off a surface. Direktes Licht und Umgebungshelligkeit bestimmen, welches Licht reflektiert wird.Direct light and ambient light levels define the light that is reflected. Wenn die Beleuchtung aktiviert ist, müssen Sie Materialien zum Rendern einer Szene verwenden.You must use materials to render a scene if lighting is enabled.

Beleuchtung ist zum Rendern einer Szene nicht erforderlich, allerdings sind Details in einer unbeleuchtet gerenderten Szene nicht sichtbar.Lights are not required to render a scene, but details in a scene rendered without light are not visible. Das Rendern einer unbeleuchteten Szene hat zum Ergebnis, dass die Objekte der Szene bestenfalls als Silhouette dargestellt werden.At best, rendering an unlit scene results in a silhouette of the objects in the scene. Eine solche Darstellung ist für die meisten Verwendungszwecke nicht detailliert genug.This is not enough detail for most purposes.

Direkte Licht im Vergleich zu UmgebungslichtDirect light vs. ambient light

Obwohl direktes und Umgebungslicht die Objekte einer Szene beleuchten, sind sie unabhängig voneinander; sie haben äußerst unterschiedliche Effekte und erfordern eine vollkommen unterschiedliche Handhabung.Although both direct and ambient light illuminate objects in a scene, they are independent of one another, they have very different effects, and they require that you work with them in completely different ways.

Direktes Licht trifft direkt auf das Objekt.Direct light strikes the object directly. Direktes Licht hat immer eine Richtung und eine Farbe, und es ist ein bestimmender Faktor für Schattierungsalgorithmen, wie z. B. die Gouraud-Schattierung.Direct light always has direction and color, and it is a factor for shading algorithms, such as Gouraud shading. Unterschiedliche Lichtquellen geben direktes Licht auf unterschiedliche Weise ab, wodurch spezielle Dämpfungseffekte entstehen.Different types of lights emit direct light in different ways, creating special attenuation effects.

Umgebungslicht ist praktisch überall in einer Szene zu finden.Ambient light is effectively everywhere in a scene. Umgebungslicht ist ein allgemeines Lichtniveau, das unabhängig von Objekten und deren Position in der Szene eine gesamte Szene ausfüllt.Ambient light is a general level of light that fills an entire scene, regardless of the objects and their locations in that scene. Umgebungslicht hat keine Position oder Richtung, sondern nur Farbe und Intensität.Ambient light has no position or direction, only color and intensity. Jede Lichtquelle verstärkt das Umgebungslicht in einer Szene.Each light adds to the overall ambient light in a scene.

Die Farbe des Umgebungslichts wird als RGBA-Wert dargestellt, wobei jede Komponente einen ganzzahligen Wert zwischen 0 und 255 erhält.Ambient light color takes the form of an RGBA value, where each component is an integer value from 0 to 255. Dies unterscheidet sich von den meisten Farbwerten in Direct3D.This is unlike most color values in Direct3D.

Die roten, grünen und blauen Komponenten ergeben in Kombination die endgültige Farbe des Umgebungslichts.The red, green, and blue components combine to make the final color of the ambient light. Die Alpha-Komponente steuert die Transparenz der Farbe.The alpha component controls the transparency of the color. Bei Verwendung von Hardwarebeschleunigung oder RGB-Emulation wird die Alpha-Komponente ignoriert.When using hardware acceleration or RGB emulation, the alpha component is ignored.

Direct3D-hell-Modell im Vergleich zu der ArtDirect3D light model vs. nature

In der Natur wird das von einer Quelle abgegebene Licht von Hunderten, wenn nicht sogar Tausenden oder Millionen von Objekten reflektiert, bevor es das Auge des Benutzers erreicht.In nature, when light is emitted from a source, it is reflected off of hundreds, if not thousands or millions of objects before reaching the user's eye. Bei jedem Reflexionsvorgang wird ein Teil des Lichts von einer Oberfläche absorbiert, ein weiterer Teil wird in zufällige Richtungen verstreut, und der Rest landet auf einer anderen Oberfläche oder im Auge des Benutzers.Each time it is reflected, some light is absorbed by a surface, some is scattered in random directions, and the rest goes on to another surface or to the user's eye. Dieser Vorgang setzt sich fort, bis das Licht verschwindet, oder ein Benutzer das Licht wahrnimmt.This process continues until the light is reduced to nothing or a user perceives the light.

Selbstverständlich sind die Berechnungen, die für eine perfekte Simulation des natürlichen Lichtverhaltens erforderlich sind, zu zeitintensiv für Direct3D-Echtzeitgrafiken.Obviously, the calculations required to perfectly simulate the natural behavior of light are too time-consuming to use for real-time Direct3D graphics. Unter dem Aspekt der Schnelligkeit bietet das Direct3D-Lichtmodell daher eine Annäherung an die Funktionsweise des Lichts in der natürlichen Welt.Therefore, with speed in mind, the Direct3D light model approximates the way light works in the natural world. Direct3D beschreibt Licht hinsichtlich der Komponenten Rot, Grün und Blau, aus deren Kombination die endgültige Farbe entsteht.Direct3D describes light in terms of red, green, and blue components that combine to create a final color.

Wenn in Direct3D Licht von einer Oberfläche reflektiert wird, interagiert die Farbe des Lichts mathematisch mit der Oberfläche, und es entsteht die Farbe, die letztendlich auf dem Bildschirm erscheint.In Direct3D, when light reflects off a surface, the light color interacts mathematically with the surface itself to create the color eventually displayed on the screen. Genauere Informationen zu den von Direct3D verwendeten Algorithmen finden Sie unter Mathematik der Beleuchtung.For specific information about the algorithms Direct3D uses, see Mathematics of lighting.

Das Direct3D-Beleuchtungsmodell generalisiert Licht zu zwei Typen: Umgebungslicht und direktes Licht.The Direct3D light model generalizes light into two types: ambient light and direct light. Jeder Typ verfügt über unterschiedliche Attribute und interagiert mit dem Material einer Oberfläche auf unterschiedliche Weise.Each has different attributes, and each interacts with the material of a surface in different ways. Umgebungslicht ist Licht, das derart verstreut wurde, dass seine Richtung und Quelle unbestimmt sind: es bewahrt überall eine niedrige Intensität.Ambient light is light that has been scattered so much that its direction and source are indeterminate: it maintains a low level of intensity everywhere. Die von Fotografen verwendete indirekte Beleuchtung ist ein gutes Beispiel für Umgebungslicht.The indirect lighting used by photographers is a good example of ambient light.

In Direct3D verfügt das Umgebungslicht, wie auch in der Natur, nicht über eine echte Richtung oder Quelle, sondern nur über eine Farbe und eine Intensität.Ambient light in Direct3D, as in nature, has no real direction or source, only a color and intensity. Tatsächlich ist die Helligkeit des Umgebungslichts vollständig unabhängig von den Objekte in einer Szene, die Licht erzeugen.In fact, the ambient light level is completely independent of any objects in a scene that generate light. Umgebungslicht erzeugt keine Glanzlichter-Reflexionen.Ambient light does not contribute to specular reflection.

Direktes Licht ist das Licht, das von einer Quelle innerhalb einer Szene erzeugt wird. Es verfügt immer über eine Farbe und eine Intensität und bewegt sich in einer bestimmten Richtung.Direct light is the light generated by a source within a scene; it always has color and intensity, and it travels in a specified direction. Direktes Licht interagiert mit dem Material einer Oberfläche und erzeugt dabei Glanzlichter. Seine Richtung ist sein Faktor in Schattierungsalgorithmen, einschließlich der Gouraud-Schattierung.Direct light interacts with the material of a surface to create specular highlights, and its direction is used as a factor in shading algorithms, including Gouraud shading. Wenn direktes Licht reflektiert wird, hat es keinen Einfluss auf die Umgebungshelligkeit einer Szene.When direct light is reflected, it does not contribute to the ambient light level in a scene. Die Licht erzeugenden Quellen einer Szene haben unterschiedliche Merkmale, die beeinflussen, wie sie eine Szene ausleuchten.The sources in a scene that generate direct light have different characteristics that affect how they illuminate a scene.

Darüber hinaus hat das Material eines Polygons Eigenschaften, die beeinflussen, wie das Polygon empfangenes Licht reflektiert.Additionally, a polygon's material has properties that affect how that polygon reflects the light it receives. Sie legen eine einzelne Reflexionseigenschaft fest, die beschreibt, wie das Material Umgebungslicht reflektiert, und Sie legen einzelne Eigenschaften fest, um die gerichtete und diffuse Reflexion des Materials festzulegen.You set a single reflectance trait that describes how the material reflects ambient light, and you set individual traits to determine the material's specular and diffuse reflectance.

RGB-Werte für die Beleuchtung und MaterialienColor values for lights and materials

Direct3D beschreibt Farbe mittels der vier Komponenten (Rot, Grün, Blau und Alpha), die zusammen eine endgültige Farbe erzeugen.Direct3D describes color in terms of four components (red, green, blue, and alpha), that combine to make a final color. Jede Komponente hat einen Bereich von 0,0 bis 1,0.Each component ranges from 0.0 to 1.0. Obwohl Licht und Material die gleiche Struktur zum Beschreiben von Farbe verwenden, werden die Werte von Lichtern und Materialien leicht unterschiedlich verwendet.Although both lights and materials use the same structure to describe color, the values are used a little differently by lights versus materials.

Farbwerte für Lichtquellen bezeichnen die Menge einer bestimmten, von der Quelle abgegebenen Lichtkomponente.Color values for light sources represent the amount of a particular light component it emits. Da Lichter keine Alpha-Komponente verwenden, sind nur die roten, grünen und blauen-Komponenten einer Farbe relevant.Because lights don't use an alpha component, only the red, green, and blue components of the color are relevant. Sie können sich die drei Komponenten als die rote, grüne und blaue Linse eines Videoprojektors vorstellen.You can visualize the three components as the red, green, and blue lenses on a projection television. Jede Linse kann ausgeschaltet sein (Wert von 0,0 in dem entsprechenden Element), sie kann so hell wie möglich eingestellt sein (Wert von 1,0), oder sie kann auf einen Wert dazwischen eingestellt sein.Each lens might be off (a 0.0 value in the appropriate member), it might be as bright as possible (a 1.0 value), or it might be some level in between.

Die durch die Linsen kommenden Farben werden zur endgültigen Farbe des Lichts kombiniert.The colors coming through the lenses combine to make the light's final color. Eine Kombination aus z. B. R(1,0), G(1,0) und B(1,0) erzeugt weißes Licht, und die Kombination R(0,0), G(0,0) und B(0,0) erzeugt gar kein Licht.A combination like R(1.0), G(1.0), B(1.0) creates a white light, where R(0.0), G(0.0), B(0.0) doesn't emit light at all. Sie können ein Licht mit nur einer Komponente erzeugen, wodurch rein rotes, grünes oder blaues Licht entsteht, oder Kombinationen für das Licht verwenden, um Farben wie Gelb oder Violett zu erzeugen.You can make a light that emits only one component, resulting in a pure red, green, or blue light; or, the light could use combinations to emit colors like yellow or purple. Sie können sogar negative Werte für die Farbkomponenten einstellen, um "dunkles Licht" zu erzeugen, das Licht aus einer Szene entfernt.You can even set negative color component values to create a "dark light" that actually removes light from a scene. Sie können die Komponenten auch auf einen Wert festlegen, der größer als 1,0 ist, um äußerst helles Licht zu erzeugen.Or, you might set the components to some value larger than 1.0 to create an extremely bright light.

Bei Materialien bezeichnen Farbwerte allerdings, wie viel von einer Lichtkomponente von einer gerenderten Oberfläche aus diesem Material reflektiert wird.With materials, on the other hand, color values represent how much of a light component is reflected by a surface that is rendered with that material. Ein Material mit den Farbkomponenten R(1,0), G(1,0), B(1,0) und A(1,0) reflektiert alles Licht, das auf dieses Material trifft.A material whose color components are R(1.0), G(1.0), B(1.0), A(1.0) reflects all the light that comes its way. Entsprechend reflektiert ein Material mit R(0,0), G(1,0), B(0,0) und A(1,0) sämtliches grünes Licht, das auf dieses Material trifft.Likewise, a material with R(0.0), G(1.0), B(0.0), A(1.0) reflects all the green light that is directed at it. Materialien müssen mehrere Reflexionswerte besitzen, um verschiedene Effekttypen zu erzeugen.Materials have multiple reflectance values to create various types of effects.

Siehe Lichttypen und Lichteigenschaften.See Light types and Light properties.

Verwandte ThemenRelated topics

Lichter und MaterialienLights and materials