• Benvenuto in Making Videogames!
  • Condividi la tua passione!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati



Valutazione discussione:
  • 1 voto(i) - 5 media
  • 1
  • 2
  • 3
  • 4
  • 5
Title: Installare Irrlicht su: Dev-C++ e Code::Bocks
Modi discussione
#1
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 =
        
createDevicevideo::EDT_SOFTWAREdimension2d<u32>(640480), 16,
            
falsefalsefalse0);

    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-> ().
    */
    
IVideoDriverdriver device->getVideoDriver();
    
ISceneManagersmgr device->getSceneManager();
    
IGUIEnvironmentguienv 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.
    */
    
IAnimatedMeshmesh smgr->getMesh("../../media/sydney.md2");
    if (!
mesh)
    {
        
device->drop();
        return 
1;
    }
    
IAnimatedMeshSceneNodenode smgr->addAnimatedMeshSceneNodemesh );

    
/*
    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_LIGHTINGfalse);
        
node->setMD2Animation(scene::EMAT_STAND);
        
node->setMaterialTexture0driver->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(0vector3df(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(truetrueSColor(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.
 
Reply
#2
domani provo, a quest'ora non capisco na mazza XD
 
Reply
#3
Aggiunto spiegazione di alcune stringhe di codice.
 
Reply
#4
come lo metto su visual C++ ?
 
Reply
#5
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...
 
Reply
#6
http://www.youtube.com/watch?v=O-oHEcXGlnQ
 
Reply
#7
Aggiornata la guida per: Code::Bocks!
 
Reply
#8
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.
 
Reply
#9
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...
 
Reply
#10
Messo il video-tutorial per Code::Blocks, tra poco si vedrà...

Edit: ecco ora si vede.
 
Reply
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Irrlicht Engine Chip 9 3,194 01-11-2016, 12:48 AM
Ultimo messaggio: Chip
  Problema camera irrlicht Master Gabriel 12 3,311 18-12-2014, 09:40 AM
Ultimo messaggio: Master Gabriel
  Irrlicht Engine Info e Download friskon 12 7,132 12-04-2013, 11:25 AM
Ultimo messaggio: war10hacker
Question Problema irrlicht con directx Zettamax 0 1,930 23-02-2012, 06:49 PM
Ultimo messaggio: Zettamax
Question Problema con Code::Blocks Zettamax 12 6,133 05-01-2012, 04:45 PM
Ultimo messaggio: Zettamax
  [TUTORIAL] Irrlicht - Primo Approccio ManHunter 5 3,825 02-01-2012, 07:16 PM
Ultimo messaggio: steve
  [Irrlicht.net] Tutorial 1 - Tradotto Riddick 2 2,368 05-05-2011, 01:02 AM
Ultimo messaggio: ManHunter
  Irrlicht.Net Riddick 8 3,122 10-02-2011, 12:59 AM
Ultimo messaggio: Riddick
  irrlicht 1.7 puorcunicu 15 4,356 22-10-2010, 10:26 PM
Ultimo messaggio: Jonathan Archer
  Prima prova con irrlicht steve 4 2,300 10-07-2010, 08:31 PM
Ultimo messaggio: Riddick

Vai al forum:


Browsing: 1 Ospite(i)