Installare Irrlicht su: Dev-C++ e Code::Bocks - Riddick - 16-05-2010
Allora cominciamo subito col scaricare il compilatore Dev-C++ da: QUI
Una volta installato creiamo il panico XD.
Una volta aperto dev-c++ fate:
File > Nuovo > Progetto
Poi:
Tasto dx (destro) del mouse su: Progetto > Nuova Unità
Poi:
Tasto dx su: Progetto > opzioni progetto
Poi:
Andate in: Parametri e cliccate su Aggiungi libreria o oggetto, ora andate nella cartella di irrlicht-1.7.1.....
....//irrlicht-1.7.1/lib/Win32-gcc/libIrrlicht.a e cliccate su apri, cosi avete inserito la libreria libIrrlicht in C++.
Poi:
Andate sempre nella setssa schermata (Opzioni oggetto) in: Files/Cartella poi sotto cliccate su: Cartelle Include, ora cliccate sulle cartelle gialle in basso a destra e andate nel seguente percorso:
....//libIrrlicht-1.7.1/include, una volta selezionate date l'Ok
Poi:
Andate su opzioni e dove c'è scritto: Cartella di output dell'eseguibile aggiunte la seguente cartella:
....//libIrrlicht-1.7.1/bin/Win32-cc, ok avete fatto ora date l'ok.
Adesso dovete inserire questo source (lo dovete inserie nel sottofile che c'è in progetto, basta che cliccate sulla x e uscirà quello che abbiamo creato prima [la nuva entità], per un semplice programmino/gioco:
Codice PHP: /** Esempio 001 HelloWorld
Questo tutorial mostra come impostare l'IDE per l'utilizzo del motore di Irrlicht e come per scrivere un semplice programma HelloWorld con esso. Il programma mostrerà come utilizzare le basi del VideoDriver, il GUIEnvironment, e la SceneManager. Microsoft Visual Studio è usato come un IDE, ma sarà anche in grado di comprendere tutto ciò se si utilizza uno diverso o addirittura un altro sistema operativo di Windows.
Devi includere il file di intestazione <irrlicht.h> al fine di utilizzare il motore. Il file di intestazione può essere trovato nella Irrlicht c \ Engine directory SDK include. Per consentire il compilatore trovare questo file di intestazione, la directory dove si trova deve essere specificata. Ciò è diverso per ogni IDE e compilatore che si usa. Spieghiamo poco come eseguire questa operazione in Microsoft Visual Studio:
- Se si utilizza la versione 6.0, selezionare il menù Strumenti -> Opzioni. Selezionare la scheda Directory e selezionare il 'Includi' voce nella casella combinata. Aggiungere il c \ include di directory della cartella motore irrlicht alla lista delle directory. Ora il compilatore trova il file di intestazione Irrlicht.h. Abbiamo anche la necessità irrlicht.lib di essere trovati, in modo da rimanere in quel dialogo, selezionare 'Biblioteche' nella casella combinata e aggiungere la lib \ c / directory VisualStudio. html immagine \ "vc6optionsdir.jpg" lattice immagine \ "vc6optionsdir.jpg" html immagine \ "vc6include.jpg" lattice immagine \ "vc6include.jpg"
- Se il vostro IDE di Visual Studio. NET, selezionare Strumenti -> Opzioni. Selezionare la voce dei progetti e quindi selezionare le directory VC + +. Seleziona show ' directory per includere file 'nella casella combinata, e aggiungere la c \ include directory della cartella motore irrlicht alla lista delle directory. Ora il compilatore trovare il file di intestazione Irrlicht.h. Abbiamo anche bisogno della irrlicht.lib si trovano, in modo da rimanere in quel dialogo, selezionare 'per le directory mostra Biblioteca i file 'e aggiungere il lib \ c / VisualStudio directory. html immagine \ "vcnetinclude.jpg" lattice immagine \ "vcnetinclude.jpg"
Tutto qui. Con il vostro IDE impostato come questo, si sarà ora in grado di sviluppare applicazioni con il motore di Irrlicht.
Cominciamo!
Dopo che abbiamo istituito l'IDE, il compilatore sa dove trovare i Irrlicht Motore file header in modo che possiamo includere ora nel nostro codice. */ #include <irrlicht.h>
/* Nel Irrlicht Engine, tutto può essere trovato nello spazio dei nomi 'TRI'. Quindi, se che si desidera utilizzare una classe del motore, si deve scrivere irr:: prima del nome della classe. Ad esempio per utilizzare il IrrlichtDevice scrivere: irr:: IrrlichtDevice. Per sbarazzarsi del TRI:: davanti al nome di ogni classe, diciamo la compilatore che usiamo quello spazio dei nomi da ora in poi, e noi non dovrà scrivere irr:: più. */ using namespace irr;
/* Ci sono 5 spazi dei nomi sub nel motore di Irrlicht. Date un'occhiata a loro, è possibile leggere una descrizione dettagliata di loro nella documentazione facendo clic sulla parte superiore voce di menu 'dei nomi List' o usando questo link: http://irrlicht.sourceforge.net/docu/namespaces.html Come lo spazio dei nomi IRR, non vogliamo che questi 5 sub spazi dei nomi ora, per mantenere questo semplice esempio. Quindi, diciamo al compilatore di nuovo che non vogliamo sempre scrivere i loro nomi. */ using namespace core; using namespace scene; using namespace video; using namespace io; using namespace gui;
/* Per poter utilizzare il file Irrlicht.DLL, abbiamo bisogno di collegamento con il Irrlicht.lib. Potremmo impostare questa opzione nelle impostazioni di progetto, ma per rendere più facile, usiamo una pragma lib commento per VisualStudio. Sulle piattaforme Windows, dobbiamo eliminare della finestra della console, che si apre quando si avvia un programma con il main (). Questo viene effettuata dal pragma secondo. Potremmo anche utilizzare il metodo WinMain, anche se di perdere l'indipendenza dalla piattaforma allora. */ #ifdef _IRR_WINDOWS_ #pragma comment(lib, "Irrlicht.lib") #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") #endif
/* Questo è il metodo principale. Possiamo ora utilizzare main () su ogni piattaforma. */ int main() { /* La funzione più importante del motore è il createDevice () funzione. Il IrrlichtDevice è stato creato da essa, che è la radice oggetto per fare qualsiasi cosa con il motore. createDevice () ha 7 parametri:
- DeviceType: Tipo di dispositivo. Questo può essere attualmente il Null dispositivo, uno dei due software renderer, D3D8, D3D9, o OpenGL. In questo esempio si usa EDT_SOFTWARE, ma da provare, si potrebbe desiderare di modificarlo in EDT_BURNINGSVIDEO, EDT_NULL, EDT_DIRECT3D8, EDT_DIRECT3D9, o EDT_OPENGL.
- WindowSize: Dimensione della finestra o schermo in FullScreenMode essere creato. In questo esempio si usa 640x480.
- Con punte: quantità di bit di colore per pixel. Questo dovrebbe essere 16 o 32. Il parametro viene spesso ignorata quando si esegue in modalità finestra.
- Fullscreen: Specifica se si desidera che il dispositivo per l'esecuzione in modalità a tutto schermo o meno.
- Stencilbuffer: Specifica se si desidera utilizzare la stencil buffer (per ombre disegno).
- Vsync: Specifica se vogliamo avere vsync abilitato, questo è solo utile in modalità a schermo intero.
- EventReceiver: un oggetto per ricevere gli eventi. Non vogliamo usare questo parametro qui, e impostarlo a 0.
Controllare sempre il valore di ritorno per far fronte con i driver supportati, dimensioni, ecc */ IrrlichtDevice *device = createDevice( video::EDT_SOFTWARE, dimension2d<u32>(640, 480), 16, false, false, false, 0);
if (!device) return 1;
/* Impostare la didascalia della finestra per qualche bel testo. Si noti che vi è un 'L' davanti alla stringa. Il motore di Irrlicht utilizza caratteri larghi stringhe quando il testo. */ device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");
/* Ottenere un puntatore al VideoDriver, il SceneManager e la grafica Interfaccia utente ambiente, in modo che non sempre è necessario scrivere dispositivo-> getVideoDriver (), dispositivo-> getSceneManager () o getGUIEnvironment device-> (). */ IVideoDriver* driver = device->getVideoDriver(); ISceneManager* smgr = device->getSceneManager(); IGUIEnvironment* guienv = device->getGUIEnvironment();
/* Noi aggiungiamo un ciao etichetta mondo alla finestra, utilizzando l'ambiente GUI. Il testo è collocato nel punto (10,10) come alto a sinistra e (260,22), come in basso a destra. */ guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!", rect<s32>(10,10,260,22), true);
/* Per mostrare qualcosa di interessante, si carica un modello di Quake 2 e visualizzarlo. Abbiamo solo per ottenere la maglia da Gestione scena con getMesh () e aggiungere uno SceneNode per visualizzare la maglia con addAnimatedMeshSceneNode (). Noi verificare il valore di ritorno di getMesh () a prendere coscienza di problemi di caricamento e altri errori.
Invece di scrivere il nome del file sydney.md2, sarebbe anche possibile per caricare un file oggetto Maya (. obj), una mappa completa Quake3 (. BSP) o qualsiasi altri formati di file supportati. A proposito, che Quake Cool 2 modello Sydney, chiamato è stato modellato da Brian Collins. */ IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2"); if (!mesh) { device->drop(); return 1; } IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
/* Per consentire la maglia guardare un po 'più bello, si cambia il suo materiale. Noi disattivare l'illuminazione, perché non abbiamo una luce dinamica qui, e la maglia sarebbe totalmente nero altrimenti. Poi abbiamo impostato il ciclo frame, in modo tale che l'animazione predefiniti STAND viene utilizzato. E per ultimo, si applica una texture per la maglia. Senza di essa la maglia sarebbe stato redatto utilizzando solo un colore. */ if (node) { node->setMaterialFlag(EMF_LIGHTING, false); node->setMD2Animation(scene::EMAT_STAND); node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") ); }
/* Per vedere le maglie, mettiamo una telecamera in uno spazio 3D in corrispondenza della posizione (0, 30, -40). La telecamera guarda da lì a (0,5,0), che è circa il luogo in cui il nostro modello è MD2. */ smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
/* Ok, ora abbiamo istituito la scena, permette di disegnare tutto: Corriamo il dispositivo in un ciclo while (), fino a quando il dispositivo non volete lanciare un di più. Questo sarebbe quando l'utente chiude la finestra o preme ALT + F4 (O qualunque keycode chiude una finestra). */ while(device->run()) { /* Tutto può essere, tra una BeginScene () e un EndScene () chiamata. Il BeginScene () chiamata cancella lo schermo con un colore e il buffer di profondità, se lo si desidera. Poi abbiamo lasciato la scena e Manager l'ambiente GUI traggono il loro contenuto. Con il EndScene () invito tutto viene presentato sullo schermo. */ driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll(); guienv->drawAll();
driver->endScene(); }
/* Dopo che abbiamo finito con il ciclo di rendering, dobbiamo eliminare la Irrlicht Dispositivo creato prima con createDevice (). Nel Irrlicht Engine, è è necessario eliminare tutti gli oggetti si è creato con un metodo o una funzione che inizia con 'creare'. L'oggetto è semplicemente soppresso chiamando - drop> (). Vedere la documentazione a irr:: IReferenceCounted:: goccia () per più informazione. */ device->drop();
return 0; }
/* Tutto qui. Compilare ed eseguire. **/
Ora Compilate il tutto andato su: Esegui > Compila & Esegui
Ultima cosa, ho tardotto con l'aiuto di google le spiegazioni del codie quindi leggetele per capire ancora di più.
Spegazione di alcune parti del codice:
Citazione:createDevice( video::EDT_SOFTWARE, dimension2d<u32>(640, 480), 16,
Questa stringe determina la grandezza della finestra del vostro gioco, quindi vi basta cambiare i numeri: 640, 480 per aumentare o diminuire la grandezza della finestra di gioco.
Citazione:device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");
Questa stringa scrive (come potete ben vedere all'avvio del demo "Hello Word") in alto alla schermata del gioco: Hello World! - Irrlicht Engine Demo quindi modificatela come vi pare.
Citazione:guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
Questa invece scrive in alto a sinistra in minuscolo: Hello World! This is the Irrlicht Software renderer! quindi cambiate anche questa.
Citazione:smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
Questa funzione setta la posizione della telecamera in gioco, quindi modificicandi i seguenti valori: (0,30,-40) cambierete il posizionamento della telecamera
Citazione:node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
Questo codice imposta la texture del personaggio che sta in questa demo, il formato della texture come potete ben vedere è in formato .bmp, nella stessa cartella c'è anche un'altro file col stesso nome (sydney) però in formato .md2, che molto propabilmente è il modello 3D.
Nuova guida: Installare Irrlicht su Code::Bocks
Bene iniziamo subito.
Come prima cosa estraete Irrlicht sul desktop in questo caso. Poi aprite: Code::Bocks e ora fate cosi:
File > New > Project > Irrlicht project > Cliccate su Next > Inserite il tito del vostro progetto e Selezionate la destinazione del vostro progetto > Ora selezionate la cartella di Irrlicht (Che sta sul dekstop) > Mette come compilatore: GNU GCC Compiler > Finish
Cosi vedrete che avete fatto il vostro progetto, ora se provate a compilare vi darà un errore ancora non ho capito il perchè, comunque a noi di questo errore non c'è ne frega una mazza. Ora no vi resta altro che o cancellare il file in source che si chiama: main.cpp e quindi crearne un'altro nuovo per il vostro progetto facendo cosi:
File > Empity File e metterlo nella stessa cartella del vostro progetto col nome: main.cpp, cosi averte un file vuoto, a questo punto mettetici il codice che c'è all'inizio della discussione e avviate il debug e vedrete che tutto andrà bene!
Ah si, quasi dimenticavo, Code::Blocks lo potete scaricare da qui gratuitamente: QUI
Video-tutorial:
[youtube]http://www.youtube.com/watch?v=V6cH7mdxmPQ[/youtube]
Crediti: SoulEater
Chi non inserisce i crediti gli do una capocciata in bocca cosi forte che va in coma per un anno XD.
RE: Guida o almeno ci provo per Irrlicht XD - friskon - 16-05-2010
domani provo, a quest'ora non capisco na mazza XD
RE: Guida per Irrlicht - Riddick - 16-05-2010
Aggiunto spiegazione di alcune stringhe di codice.
RE: Guida per Irrlicht - friskon - 02-06-2010
come lo metto su visual C++ ?
RE: Guida per Irrlicht - Riddick - 02-06-2010
Questo non te lo posso spiegare in quanto non ho più visual c++ e non posso vedere come fare, ho scoperto come farlo su: Code::Bocks xD...
RE: Guida per Irrlicht - steve - 02-06-2010
http://www.youtube.com/watch?v=O-oHEcXGlnQ
RE: Guida per Irrlicht - Riddick - 03-06-2010
Aggiornata la guida per: Code::Bocks!
RE: Installare Irrlicht su: Dev-C++ e Code::Bocks - friskon - 03-06-2010
Citazione:Ora no vi resta altro che o cancellare il file in source che si chiama: main.cpp e quindi crearne un'altro nuovo per il vostro progetto
non serve cancellare quel file, stesso in Code::Bocks selezioni il file main.cpp ed elimini solo il contenuto, poi incolli il codice e ricompili.
RE: Installare Irrlicht su: Dev-C++ e Code::Bocks - Riddick - 03-06-2010
Si vero, ma a me piace rifallo, e poi cosi almeno capite pure come creare altri file e inserirli nel progetto xD, come si possono creare pure anche cartelle...
RE: Installare Irrlicht su: Dev-C++ e Code::Bocks - Riddick - 03-06-2010
Messo il video-tutorial per Code::Blocks, tra poco si vedrà...
Edit: ecco ora si vede.
|