*   >> Lese Utdanning Artikler >> science >> programming

Bli kjent med Irrlicht 3D-motor - Lighting

Last ned demoen og kildekode

TILBAKE TIL TUTORIAL INDEX

I den siste opplæringen vi lagt til en 3D-modell til skjermen. Men fordi det var ingen lys satt opp, vi måtte deaktivere belysningen på modellen helt, ellers ville det ha dukket opp svart. I denne opplæringen vil vi legge til en lys til scenen

ApplicationManager.h /ApplicationManager.cpp

ApplicationManager får to nye variabler:. Lys 1 og tavla. Lyset er et punkt i motivet som er en lyskilde. Det er ikke direkte synlig i seg selv - lyset er kun synlig på overflaten av en 3D-modell.

Så vi kan se hvor lyset er i scenen vil vi skape en oppslagstavle, som er en flat rektangel som alltid vender mot kameraet, og feste lys som et barn av tavla.

Ved å feste lyset som et barn av tavla lyset vil flytte hvor enn de tavla trekk. Denne typen foreldre /barn vedlegget er ganske vanlig i 3D-motorer, som det tillater en gruppe av objekter som skal endres på en gang. Du kan bruke dette til å legge ved et sverd til en spillere hånd for eksempel, og deretter sverdet ville feste med spilleren som den beveget seg rundt.


I oppstartsfunksjonen gjør vi en liten modifikasjon til kallet til addCameraSceneNodeFPS funksjon. Ninja 3D-modellen er ganske liten, og kameraet beveger seg altfor fort i forhold til modellen. Så her har vi overstyrt noen av standardparameterne for å bremse kameraet ned.

Vi legger ninja 3D-modellen til scenen ved hjelp av den samme koden som i forrige tutorial. Den eneste forskjellen er at vi nå ikke lenger deaktivere belysning.

Vi deretter opprette en ny oppslagstavle ved å ringe ISceneManager addBillboardSceneNode funksjon.

Igjen vi overstyre noen av standardparameterne for å gjøre tavla litt mindre, og mer i tråd med størrelsen på ninja 3D-modellen.

Vi kaller setMaterialType funksjon og forsyne EMT_TRANSPARENT_ADD_COLOR flagget for å vise at fargene i teksturen som er tilordnet billboard legges til scenen, som effektivt gjør de sorte deler av teksturen gjennomsiktig.

setMaterialTexture Funksjonen blir så brukt til å tildele en tekstur. Den første parameteren definerer strukturen lag. Vi leverer 0 fordi vi tilordner dette som den første (og eneste) tekstur.

Den andre parameteren er teksturen i seg selv, som i dette tilfellet er lastet fra en bitmap fil.

Det siste vi gjør er disable belysning for tavla, akkurat som vi gjorde med 3D-modellen i den siste opplæringen. Dette sikrer at tavla vil vises på ful

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.