1. Eclipsi ba?lat?p yeni bir java projesi olu?turun. Bo? HelloWorld class ? olu?turun.
2. Ogre4j yi a?a??daki adresten indirin.
http://ogre4j.sourceforge.net/
ogre4j-1.6.2-beta6-bin-win32.tar.bz2 dosyas?n?n inmi? olmas? gerekmektedir.
3. OGRE yi www.ogre3d.org adresinden indirin. ?ndirmek için a?a??daki dosyay? seçin.
downloads -> SDK -> OGRE 1.6.2 SDK for Visual C++ .Net 2005 (8.0) SP1
4. OGRE SDK yi kurun.
5. SWT nin son versiyonunu http://www.eclipse.org/swt/ adresinden indirin. Dosya ad? swt-x.x-win32-win32-x86.zip olmal?d?r.
6. http://ogre4j.sourceforge.net/webstart/lib/media.jar dosyas?n? indirin.
7. dll ve jar dosyalar?n? ogre4j-1.6.2-beta6-bin-win32.tar.bz2 klasöründe ç?kar?p projeniniz root klasörüne ekleyin. (c:\users\ugur\workspace\OgreHelloWorld)
8. OGRE SDK daki dll dosyalar?n? projenizin root klasörüne ekleyin. (C:\OgreSDK_1.6.2\bin\release\*.dll)
9. Projenizin root klasöründe ‘media’ adlo bir klasör olu?turun. media.jar dosyas?n?n ismini media.zip yap?p içindeki zuh.mesh ve zuh.material dosyalar?n? olu?turdu?unu media klasörüne kopyalay?n.
10. swt.jar dosyas?n? swt-x.x-win32-win32-x86.zip dosyas?ndan ç?kararak projenizin root klasörüne kopyalay?n.
11. Eclipse projenizi seçip f5 e basarak klasörlerin yenilenmesini sa?lay?n.
12. Projenize sa? t?klay?p "Build path"->"Configure build path->libraries->Add jars” e gelerek bütün jar dosyalar?n? ekleyin(swt.jar ve ogre4j.jar).
13. http://ogre4j.svn.sourceforge.net/viewvc/ogre4j/trunk/org.ogre4j.examples.swt/src/org/ogre4j/examples/swt/HelloWorld.java?view=markup linkindeki içeri?i HelloWorld class? na ekleyerek çal??t?r?n.
1. Irrlicth in son sürümünü a?a??daki adresten indiriyoruz.
http://irrlicht.sourceforge.net/downloads.html
2. Zip dosyas?n? aç?yoruz.
3. Irrlicth-x.x/include un alt?ndaki header dosyalar?n?n hepsini C:\Program Files\Microsoft Visual Studio 9.0\VC\include klasörüne kopyal?yoruz.
4. Visual Studio 2008 de Tool->Options->Project and Solutions->VC++ Directories k?sm?na a?a??daki iki sat?r? ekliyoruz.
…/Irrlicth-x.x/include
…/Irrlicth-x.x/lib/Win32-visualstudio

5. Visual Studio 2008 de Project->Options->Configuration Properties->Linker->Input->Additional Dependecies k?sm?na a?a??daki sat?r? ekliyoruz.
Irrlicht.lib

6. Yeni bir proje olu?turuyoruz.

7. Irrlicth in header dosyalar?n? projemizin header k?sm?na ekliyoruz.

…\irrlicht-x.x\include alt?ndaki bütün dosyalar? ekliyoruz.

8. Source folder ina yeni bir cpp dosyas? ekleyip a?a??daki kodu ekliyoruz.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| #include <irrlicht.h>
#include <iostream>
using namespace irr;
#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
int main()
{
// ask user for driver
video::E_DRIVER_TYPE driverType;
printf("Please select the driver you want for this example:\n"\
" (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\
" (d) Software Renderer\n (e) Burning's Software Renderer\n"\
" (f) NullDevice\n (otherKey) exit\n\n");
char i;
std::cin >> i;
switch(i)
{
case 'a': driverType = video::EDT_DIRECT3D9;break;
case 'b': driverType = video::EDT_DIRECT3D8;break;
case 'c': driverType = video::EDT_OPENGL; break;
case 'd': driverType = video::EDT_SOFTWARE; break;
case 'e': driverType = video::EDT_BURNINGSVIDEO;break;
case 'f': driverType = video::EDT_NULL; break;
default: return 1;
}
// create device and exit if creation failed
IrrlichtDevice *device =
createDevice(driverType, core::dimension2d<u32>(640, 480));
if (device == 0)
return 1; // could not create selected driver.
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
device->getFileSystem()->addZipFileArchive("C:/Users/Ugur/Desktop/irrlicht-1.6/media/map-20kdm2.pk3");
scene::IAnimatedMesh* mesh = smgr->getMesh("20kdm2.bsp");
scene::ISceneNode* node = 0;
if (mesh)
node = smgr->addOctTreeSceneNode(mesh->getMesh(0), 0, -1, 1024);
// node = smgr->addMeshSceneNode(mesh->getMesh(0));
if (node)
node->setPosition(core::vector3df(-1300,-144,-1249));
smgr->addCameraSceneNodeFPS();
device->getCursorControl()->setVisible(false);
int lastFPS = -1;
while(device->run())
{
if (device->isWindowActive())
{
driver->beginScene(true, true, video::SColor(255,200,200,200));
smgr->drawAll();
driver->endScene();
int fps = driver->getFPS();
if (lastFPS != fps)
{
core::stringw str = L"Irrlicht Engine - Quake 3 Map example [";
str += driver->getName();
str += "] FPS:";
str += fps;
device->setWindowCaption(str.c_str());
lastFPS = fps;
}
}
else
device->yield();
}
device->drop();
return 0;
} |
9. Projeyi build etti?imz zaman Quake 3 in bir haritas? aç?lacakt?r.

U?ur Dönmez
METU CENG
ugur@ugurdonmez.com
1. Ogre SDK yi http://www.ogre3d.org/wiki/index.php/Installing_the_Ogre_SDK_on_Windows adresinden indiriyoruz. Ben Installing the Ogre SDK for Visual C++ 2008 & Code::Blocks paketini kurdum.
2. Ogre Application Wizard i http://www.jacmoe.dk/forum/index.php?topic=3.0 adresinden indiriyoruz.
3. Ogre SDK yi C:\OgreSDK alt?na kuruyoruz. Ba?ka bir yere kurmak sorun ç?karabilir.
4. Ogre SDK ortam de?i?keninin varl???n? her ihtimale kar?? kontrol ediyoruz. Bunun için Bilgisayar?m a sa? t?klay?p Geli?mi? tab?ndaki ortam de?i?kenlerine t?kl?yoruz.

5. OGRE AppWizard i unzip edip
VC9_Setup u çal??t?r?yoruz.
6. Visual Studio 2008 den yeni proje olu?turuyoruz.
Ogre SDK Application u seçiyoruz.
OGRE SDK Application Wizard u takip ediyoruz.
Finish dedikten sonra örnek projemiz olu?uyor.
7. Olu?turdu?umuz projeyi build ediyoruz.
8. Build etti?imiz proje OgreSDK/bin/debug klasörünün alt?nda yer almaktad?r.
Kaynak : http://www.ogre3d.org
Öncelikle gerekli binary dosyalar? a?a??daki adreslerden indiriyoruz.
freeglut 2.4.0
GLUT win32 binaries
Daha sonra indirdi?imiz dosyalar? do?ru klasörlere yerle?tirmemiz gerekiyor.
- freeglut.h i dosyas?n? ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\’ klasörüne ( GL klasörünü yaratman?z gerekmektedir. )
- freeglut_ext.h dosyas?n? ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\’ klasörüne,
- freeglut_std.h dosyas?n? ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\’ klasörüne,
- freeglut.lib dosyas?n? ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\’ klasörüne,
- freeglut.dll dosyas?n? ‘C:\WINDOWS\system32\’ klasörüne,
- glut32.dll dosyas?n? ‘C:\WINDOWS\system32\’ klasörüne,
- glut32.lib dosyas?n?‘C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\’ klasörüne,
- glut.h dosyas?n? ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\’ klasörüne kopyal?yoruz.
Daha sonra olu?turaca??m?z C++ projesine freeglut kütüphanesini tan?tmam?z gerekiyor.
1. Visual Studio da yeni bir C++ Console Application olu?turuyoruz.
1a. Win32 Application Wizard da ‘Empty Project’ i seçiyoruz.
2. Projeye yeni bir cpp dosyas? ekliyoruz. ?çine a?a??daki örnek kodu yaz?yoruz.
#include <freeglut.h>
int main ()
{
return 0;
}
3. Debug etmeye çal???rsak Visual Studio hata verecektir çünkü freeglut header dosyalar?n? projeye henüz tan?tmad?k.
3a. Menu bar dan Project->Project Properties i aç?yoruz.
3b. Linker->Input ta Additional Dependencies yazan yere a?ag?daki sat?r? kopyal?yoruz.
opengl32.lib glu32.lib glut32.lib
4. Derlemeye çal???rsak hala hata verebilir çünkü header ve library lerin klasörünü projenin directories ine eklememiz gerekmektedir.
4a. Tools –> Options alt?ndaki Project and Solutions menüsünde VC++ Directories i seçiyoruz.
4b. C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL sat?r?n? ekliyoruz.
5. Proje art?k derlenmektedir.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| import java.util.Random;
import java.util.Vector;
public class VectorDeneme {
public static void main (String [] args) {
Vector<Integer> vector = new Vector<Integer>();
Random generator = new Random();
int randomInteger;
for (int i = 0 ; i < 10 ; i++) {
randomInteger = generator.nextInt( 100 );
vector.add(randomInteger);
}
System.out.println("the elements of vector: " + vector);
System.out.println("The size of vector are: " + vector.size());
System.out.println("The elements at position 2 is: " + vector.elementAt(2));
System.out.println("The first element of vector is: " + vector.firstElement());
System.out.println("The last element of vector is: " + vector.lastElement());
vector.removeElementAt(2);
vector.removeElementAt(8);
System.out.println("the elements of vector: " + vector);
}
} |
Possible Output:
the elements of vector: [51, 72, 88, 70, 17, 73, 28, 61, 70, 62]
The size of vector are: 10
The elements at position 2 is: 88
The first element of vector is: 51
The last element of vector is: 62
the elements of vector: [51, 72, 70, 17, 73, 28, 61, 70]