16-05-2010, 01:24 AM
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:
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:
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.
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.
Questa invece scrive in alto a sinistra in minuscolo: Hello World! This is the Irrlicht Software renderer! quindi cambiate anche questa.
Questa funzione setta la posizione della telecamera in gioco, quindi modificicandi i seguenti valori: (0,30,-40) cambierete il posizionamento della telecamera
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:
Crediti: SoulEater
Chi non inserisce i crediti gli do una capocciata in bocca cosi forte che va in coma per un anno XD.
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.