Vertex világítás együtt lightmaps

Most senki sem fog lepődni jelenlétében LightMap'ov programot. És még inkább a jelenléte vertex világítás. De mindezzel nem csak dobja ezt a témát a szemétbe.

Korábban vertex világítás nem adna minőségi eredményeket annak a ténynek köszönhető, hogy a kártyák nem vonható le elegendő számú háromszögek frame-enként, ami a vertex világítás volna az áramot. Ezért szerezni valami ilyesmi:

Vertex világítás együtt lightmaps

A bal oldalon a kép látható, hogy mivel a kis mennyiségű fény nem érik el ezt a háromszög a jobb oldalon. Azaz, nem látja a fényfolt, és látható, csak az átmeneteket az egyes vertex színeket, és már csak négy. Annak érdekében, hogy ugyanolyan minőségű a fény, mint a jobb oldalon a kép, használja, vagy LightMap'y vagy nagyobb háromszögek száma.

Most megpróbáljuk összehasonlítani a két módszer között.

Következtetés: lightmap - minőség, VertexLight - számot.

Általában az emberek jobban érdekli a minőség. Jobb egy jó processzor, mint tíz 486'yh. Szélsőséges esetben, ha van igény a 486'ye processzorok, akkor állítsa be a termelést.

Itt egy kép a mellékelt példában ezt a cikket:

Vertex világítás együtt lightmaps

A képen festett teáskanna, ami árnyékot vet a helyszínre. A fény nem jut át ​​rajta. Megjegyezzük, hogy az árnyékot rajzolt elég jó minőségű, és ami a legfontosabb - nem LightMap'y. Ez az igazi csúcs világítás.

A poligonok számát a kanna elég magas, ezért csak egy árnyék jól néz ki.

Következtetés: ez jobb, hogy vertex világítás segítségével nagy poli objektumot. Így LightMap'y használható olyan módon, hogy magas minőségű árnyékok.

Most elemezzük részletesebben legfontosabb funkciója ebben a példában:

A lényeg az, hogy a program annyira egyszerű, hogy még az objektumok száma az ez fix. Azaz, amikor megpróbálja kicserélni a kártyát fájlokat, a program valószínűleg nem indul, és ha működik, csak az első két tárgy. Ön valószínűleg saját osztálya vektorok, repülőgépek, úgyhogy nem egy példát az átállási szuper programot, amely egy láb szünet. Azt hiszem, hogy cserélje ki egy adattípust a másik nem nehéz.

Ezért InitVertexLight () függvény, akkor fut át ​​a tetején minden egyes második objektum. És akkor az algoritmus:

1. Helyezze a színárnyalatot 130. Általában azt lehet tenni, és a fejlettebb módszerek, de megteszem.

2. Mivel a fényforrás csak egy van, akkor nézd meg azonnal. Ha a távolság a izzók nagyobb, mint a sugara megvilágítás, akkor hagyja a csúcson. Bár ebben a példában nem látható, mivel a kis színpadon, de jobb, ha nem hagyja ki a tetején, és rendeljen hozzá egy színt. Fekete vagy szürke.

3. Keresse meg a tényt a kereszteződésekben a fénysugár a fényforrásból a csúcsra.

4. Ezután ismét megtalálják a távolság az izzó a csúcsra. Mert optimalizálás csak egyszer kell elvégezni.

További képletek szerint, hogy már többször elhangzott sok helyen, meg a színes tetején alapján hosszát és sugarát. Tesszük ezt így:

- Találunk a távolság a fényforrásnak a felső

- Get értékét csillapítás (a) általános képletű: 1 - (d / rad)
ahol
d - távolság a fényforrás, hogy a felső,
rad - sugara a fényforrás (megvilágítás sugár)

- Ezután keresse meg a vertex RGB képlet szerint: Szín * a * b (tárolt minden RGB komponens)
ahol
Szín - fényforrás színes (R, G vagy B)
a - csillapítás
b - fényerő
De a mi kihagytunk paraméter fényerejét.

5. Ellenőrizze, hogy a számok nem jött ki túl őket, és vertex színeket.

A trükk az, hogy a szín beállítások LightMap'a meg kell egyeznie a vertex színe, különben előfordulhat, hogy a különbség a két módszer között, a különbség a színe. És hogy lehet rossz a kép az irányt „az átkozott”. Bár néha nem tudja követni a hasonlóság a színbeállítások egyéb világítás. Például, van egy fala, és vannak csövek, ők, természetesen, látható. Szóval, lehet, hogy egy új nézetet a csövek, ha az általuk használt vertex világítás, valamint a csövek a falban, a LED nem fog fájni a teljes szín a falakon. Én mindezt az a tény, hogy a vertex világítás és LightMap'y nem nagyon hasonlít a végeredmény, így meg kell győződnie arról, hogy a különböző tárgyak mellett egy lámpa égett ugyanolyan LightMap'ami és vertex világítás.

Kapcsolódó cikkek