*   >> Læs Uddannelse artikler >> science >> programming

Få at vide Irrlicht 3D-motor - Belysning

Download demoen og kildekode

TILBAGE TIL tutorial INDEX

I den sidste tutorial vi tilføjet en 3D-model til skærmen. , Fordi der var ingen lys oprettet Men vi havde til at deaktivere belysning på modellen helt, ellers ville det have vist sort. I denne tutorial vil vi tilføje et lys til scenen

ApplicationManager.h /ApplicationManager.cpp

ApplicationManager får to nye variabler:. Lys 1 og tavlen. Lyset er et punkt i den scene, der er en kilde til lys. Det er ikke direkte synlige selv - lyset er kun synlig på overfladen af ​​en 3D-model.

Så vi kan se, hvor lyset er i scenen vil vi skabe en billboard, som er en flad rektangel, der altid vender mod kameraet, og fastgør lyset som et barn af skiltet.

Ved fastgørelse af lys som et barn af skiltet vil lyset bevæge sig, hvor nogensinde Billboard bevæger sig. Denne form for forældre vedhæftning /barn er helt almindeligt i 3D motorer, da det giver mulighed for en gruppe af objekter, der skal ændres på en gang. Du kan bruge dette til at knytte et sværd til en spillere hånd for eksempel, og derefter sværdet ville holde med spilleren, som det flyttes rundt.


I Startup-funktionen gør vi en lille ændring til opfordringen til addCameraSceneNodeFPS fungere. Den ninja 3D-modellen er helt små, og kameraet bevæger sig alt for hurtigt i forhold til modellen. Så her har vi tilsidesat nogle af de standard parametre at bremse kameraet ned.

Vi tilføjer ninja 3D-modellen til scenen ved hjælp af den samme kode som i sidste tutorial. Den eneste forskel er, at vi nu ikke længere deaktivere belysning.

Vi skaber derefter en ny billboard ved at kalde ISceneManager addBillboardSceneNode funktion.

Igen vi tilsidesætte nogle af de standard parametre for at gøre tavlen lidt mindre, og mere i overensstemmelse med størrelsen af ​​ninja 3D-modellen.

kalder vi den setMaterialType funktion og levere EMT_TRANSPARENT_ADD_COLOR flag for at angive, at de farver, i teksturen tildelt tavlen vil blive tilføjet til den scene, som effektivt gør de sorte dele af tekstur gennemsigtig.

setMaterialTexture funktion anvendes derefter til at tildele en tekstur. Den første parameter definerer tekstur lag. Vi leverer 0 fordi vi tildele dette som den første (og eneste) tekstur.

Den anden parameter er teksturen selv, som i dette tilfælde er indlæst fra en bitmap-fil.

Det sidste, vi gør, er deaktivere belysning til tavlen, ligesom vi gjorde med 3D-modellen i sidste tut

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.