*   >> Lezen Onderwijs artikelen >> science >> programming

Vervoer naar de Irrlicht 3D-engine weet - Lighting

Download de demo en broncode

Terug naar de tutorial INDEX

In de vorige les hebben we een 3D-model toegevoegd aan het scherm. Echter, omdat er geen verlichting ingesteld, moesten we de verlichting van het model helemaal uit te schakelen, anders zou het zwart zijn verschenen. In deze tutorial zullen we een licht voor de scène toe te voegen

ApplicationManager.h /ApplicationManager.cpp

De ApplicationManager krijgt twee nieuwe variabelen. Licht 1 en billboard. Het licht is een punt in de scène dat is een lichtbron.

Het is niet direct zichtbaar zelf - het licht is alleen zichtbaar op het oppervlak van een 3D-model. Zo kunnen we zien waar het licht in de scène zullen we een reclamebord, dat is een vlakke rechthoek die altijd geconfronteerd met de camera te maken, en bevestig het licht als een kind van het bord.

Door het aanbrengen van het licht als een kind van de billboard zal het licht, waar ooit bewegen het bord zetten. Dit soort ouder /kind attachment is heel gebruikelijk in 3D engines, omdat hiermee een groep van objecten te wijzigen in een keer.

Je kan dit gebruiken om een ​​zwaard te hechten aan een spelers de hand bijvoorbeeld, en dan het zwaard zou stok met de speler als het verplaatst.

In de Startup-functie maken we een kleine wijziging aan de oproep om de addCameraSceneNodeFPS functie. De ninja 3D-model is vrij klein, en de camera beweegt veel te snel in verhouding tot het model. Dus hier hebben we overschreven enkele van de standaard parameters om de camera vertragen.

We voegen de ninja 3D-model van de scène met behulp van dezelfde code als in de laatste tutorial.

Het enige verschil is dat we nu niet meer de verlichting uit te schakelen.

Wij creëren dan een nieuw billboard door te bellen ISceneManager addBillboardSceneNode functie. Weer negeren we een aantal van de standaard parameters om de billboard een beetje kleiner, en meer in lijn te maken met de grootte van de ninja 3D-model.

We noemen de setMaterialType functie en leveren de EMT_TRANSPARENT_ADD_COLOR vlag aan te geven dat de kleuren in de structuur toegekend aan het reclamebord wordt toegevoegd aan de scene, die effectief maakt de zwarte delen van de textuur transparant.

De setMaterialTexture functie wordt vervolgens gebruikt om een ​​structuur toe te wijzen. De eerste parameter definieert de textuurlaag. We leveren 0 omdat wij toewijzen dit als de eerste (en enige) structuur. De tweede parameter is de structuur zelf, die in dit geval van een

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.