step1. download Dev C++ dan Irrlicht
1.2 SDK
step2. Install Dev C++ pada drive C:\ (contoh C:\Dev-CPP\)
step3. Install Irrlicht pada drive C:\ (contoh C:\irrlicht-1.2\)
step4. Open Dev C++, open empty project (File->New->Project...->Blank Project) Save
step5. Klik Project->project option (Alt+p)
step6. Pergi ke tab "directories", klik tab include, pastu add directory (C:\irrlicht-1.2\include)
step7. pastu pergi ke tab "parameters"
pastu add "library or object",
pastu select file (C:\irrlicht-1.2\lib\Win32-gcc\libIrrlicht.a)
step8. Ok.Siap, pastu ko try la guna example yang ada untuk test. Itu sahaja. RUN -> Well done..
di sini tempat aku simpan nota-nota lama mungkin dah obselete. karangan pribadi, khayalan dan imaginasi sendiri, Buat rujukan pribadi. Amaran semua yang dipaprkan tidak boleh dipertanggungjawabkan kesahihan.
Selasa, 12 Februari 2008
Isnin, 11 Februari 2008
NTLDR missing
Masalah "NTLDR is Missing" Kesan: Komputer yang mempunyai sistem operasi "Windows XP/VISTA/windows 7" tidak dapat BOOT.
Mengapa?
NTLDR adalah satu fail sistem Windows XP yang terletak di sektor pertama cakera keras. Fail ini adalah fail pertama yang diperlukan untuk proses boot windows XP. Jika fail ini hilang atau rosak, Windows tidak dapat meneruskan proses boot. Fail ini boleh hilang atas beberapa sebab;
1. virus
2.bad sector.
3. sengaja delete.
Bad sector adalah faktor utama. untuk memastikan sector berkenaan dalam keadaan baik, saya syorkan rajin2 lah buat error checking (chkdsk)
.Penyelesaian:1. Boot komputer menggunakan CDROM Pemasangan Windows XP yang sama version. copy paste perisian Ntldr atau MBR atau apa nama2 lain yang sesuai,
Penyelesaian 2: Jika anda pakai VISTA atau windows 7 original....
gunakan CD installer tersebut... boot dari CD tersebut
Install Windows Screen muncul!!!
tekan je "next" ...
maka gambar sebelah kini muncul seperti ini. click "Repair your computer"
maka paparan seperti berikut pula muncul...
lebih lanjut di sini!! di sini!!!
Mengapa?
NTLDR adalah satu fail sistem Windows XP yang terletak di sektor pertama cakera keras. Fail ini adalah fail pertama yang diperlukan untuk proses boot windows XP. Jika fail ini hilang atau rosak, Windows tidak dapat meneruskan proses boot. Fail ini boleh hilang atas beberapa sebab;
1. virus
2.bad sector.
3. sengaja delete.
Bad sector adalah faktor utama. untuk memastikan sector berkenaan dalam keadaan baik, saya syorkan rajin2 lah buat error checking (chkdsk)
.Penyelesaian:1. Boot komputer menggunakan CDROM Pemasangan Windows XP yang sama version. copy paste perisian Ntldr atau MBR atau apa nama2 lain yang sesuai,
Penyelesaian 2: Jika anda pakai VISTA atau windows 7 original....
gunakan CD installer tersebut... boot dari CD tersebut
Install Windows Screen muncul!!!
tekan je "next" ...
maka gambar sebelah kini muncul seperti ini. click "Repair your computer"
maka paparan seperti berikut pula muncul...
lebih lanjut di sini!! di sini!!!
Ahad, 10 Februari 2008
Apa Yang keluar selepas Complile
Inilah gambar grafik yang akan keluar selepas run.. atau selepas diklik pada *.exe file tapi dengan syarat irchilit.dll mestilah diletakkan pada folder yang sama atau boleh juga dalam share folder yg ditetapkan config.ini seperti folder system32 dalam windows
Sabtu, 2 Februari 2008
pembangunan animasi 4 C++ programming
TUTORIAL
ENJIN GRAFIK (LEVEL TUTORIAL : MUDAH)
Ok setelah kita ketahui basic startup Directx guna VB, mari kita samakan dengan enjin irrlicht percuma nie... kita takkan guna core programming, sbb terlalu susah untuk beginner, jd kita proceed dengan irrlicht supaya korang mudah faham. Irrlicht nie menggunakan C++.
//Memulakan irrlicht
#include
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
//Menggunakan library irrlicht
#pragma comment(lib, "Irrlicht.lib")
int main()
{
//Menyediakan satu permukaan pada skrin untuk rendering
IrrlichtDevice *device =createDevice(EDT_SOFTWARE, dimension2d(512, 384), 16,false, false, false, 0);
device->setWindowCaption("Hello Dunia Putera");
//Menentukan resolusi skrin komputer
IVideoDriver* driver = device->getVideoDriver();
//Pengurusan dalam game
ISceneManager* smgr = device->getSceneManager();
//Antaramuka game
IGUIEnvironment* guienv = device->getGUIEnvironment();
//Letak text pada antaramuka iaitu pada guienv
guienv->addStaticText(L"Hello geng putera, jom rock",rect(10,10,200,22), true);
//Menambahkah model ke dalam game
IAnimatedMesh* mesh = smgr->getMesh("../../media/kotak.md2");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
//Meletakkan texture pada model tadi
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setFrameLoop(0, 310);
node->setMaterialTexture( 0, driver->getTexture("../../media/kotak.bmp") );
}
//meletakkan camera dalam ruangan game, iaitu view player
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
// RENDER, lukis apa yang kita dah set ke dalam game
while(device->run()){
driver->beginScene(true, true, SColor(0,200,200,200));
smgr->drawAll(); //Lukis 3 dimensi game
guienv->drawAll(); //Lukis paparan 2d game
driver->endScene(); //Bagitau driver takat tu je, pastu render
}
//Padam
device->drop();
return 0;
}
ENJIN GRAFIK (LEVEL TUTORIAL : MUDAH)
Ok setelah kita ketahui basic startup Directx guna VB, mari kita samakan dengan enjin irrlicht percuma nie... kita takkan guna core programming, sbb terlalu susah untuk beginner, jd kita proceed dengan irrlicht supaya korang mudah faham. Irrlicht nie menggunakan C++.
//Memulakan irrlicht
#include
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
//Menggunakan library irrlicht
#pragma comment(lib, "Irrlicht.lib")
int main()
{
//Menyediakan satu permukaan pada skrin untuk rendering
IrrlichtDevice *device =createDevice(EDT_SOFTWARE, dimension2d
device->setWindowCaption("Hello Dunia Putera");
//Menentukan resolusi skrin komputer
IVideoDriver* driver = device->getVideoDriver();
//Pengurusan dalam game
ISceneManager* smgr = device->getSceneManager();
//Antaramuka game
IGUIEnvironment* guienv = device->getGUIEnvironment();
//Letak text pada antaramuka iaitu pada guienv
guienv->addStaticText(L"Hello geng putera, jom rock",rect
//Menambahkah model ke dalam game
IAnimatedMesh* mesh = smgr->getMesh("../../media/kotak.md2");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
//Meletakkan texture pada model tadi
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setFrameLoop(0, 310);
node->setMaterialTexture( 0, driver->getTexture("../../media/kotak.bmp") );
}
//meletakkan camera dalam ruangan game, iaitu view player
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
// RENDER, lukis apa yang kita dah set ke dalam game
while(device->run()){
driver->beginScene(true, true, SColor(0,200,200,200));
smgr->drawAll(); //Lukis 3 dimensi game
guienv->drawAll(); //Lukis paparan 2d game
driver->endScene(); //Bagitau driver takat tu je, pastu render
}
//Padam
device->drop();
return 0;
}
Sambungan Pembangunan Animasi 3
Untuk objek yang bulat (banyak permukaan) boleh menggunakan UVW mapping seperti di atas. Dimana setiap permukaan boleh diletakkan texture yang berlainan dan mudah digunakan. Walaubagaimanapun jika kita cuma ada 1 texture yang hendak diletak pada permukaan bulat, kita tidak memerlukan UVW editor nie, kita just drag texture dari material ke object sahaja. UVW mapping ni bila kita mahukan texture yang berlainan dan kita mahu adjust kedudukan vertex texture.
Sambungan Pembangunan Animasi 2
ini adalah imej 2d
Imej 2d itu diletak pada permukaan objek 3d diantara vertex-vertex yang disusun pada satu normal.
Dalam erti kata lain, kita masukkan SKIN pada permukaan sesebuah object supaya nampak bentuk 3D lebih ketara le kan. Gabungan vertex-vertex ini akan membentuk WIREFRAME yang menjadi tulang belakang sesebuah objek.
PENGENALAN CODE (LEVEL TUTORIAL : TERLALU MUDAH)
Ok selepas kita fahami vertex, kita akan pergi lebih lanjut kepada driver untuk melaksanakan game kita. Untuk memudahkan kefahaman mengenai aturcara maka Visual Basic dan DirectX 8.0 dipilih. Berikut adalah penerangan bagaimana setup untuk antaramuka game boleh dilakukan.
************************************************************
PEMBOLEHUBAH
Dim Dx as DirectX8
Objek yang dihubungkan kepada directx8
Dim D3D as Direct3D8
Memberikan kawalan terhadap objek dalam directx
Dim D3DDevice as Direct3DDevice8
Mewakili perkakasan untuk tujuan melukis pada skrin (render)
************************************************************
PERMULAAN
Public Function Initialise() as Boolean
On Error Goto ErrHandler:
Dim DispMode as D3DDISPLAYMODE '//Mewakili mode display contoh 640 x 480
Dim D3DWindow as D3DPRESENT_PARAMETERS '// Mewakili skrin yang kita lihat
Set Dx = New DirectX8 '// Membina object directx 8
Set D3D = Dx.Direct3DCreate() '//Dari objek directx kita buat antaramuka directx berkenaan
D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode '// Mendapatkan mode resolusi komputer yang dipakai
D3DWindow.Windowed = 1 '// Menggunakan skrin dalam window
D3DWindow.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '//Refresh skrin
D3DWindow.BackBufferFormat = DispMode.Format '//Menggunakan resolusi yang sedia ada
// Membuat device pada permukaan directx, iaitu ruangan untuk rendering.
Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, FrmMain.Hwnd, _
_ D3DCREATE_SOFTWARE_VERTEXPROCESSING, _
_ D3DWindow)
Initialise = True
Exit Function
ErrHandler:
Initialise = False
End Function
************************************************************
RENDER (LUKIS PADA SKRIN)
Public Sub Render()
'//Padam segala lukisan yang terdapat pada skrin di ruangan device.
D3DDevice.Clear 0, ByVal 0, D3DCLEAR_TARGET, &HCCCCFF, 1#, 0
'//Memulakan senario game
D3DDevice.BeginScene
'//Disinilah kesetiap objek bagi directx dilukis contoh kotak, rumah, dan berbagai lagi
D3DDevice.EndScene
'//Perbaharui skrin untuk memaparkan objek yang baru.
D3DDevice.Present ByVal 0, ByVal 0, 0, ByVal 0
End Sub
************************************************************
PUSINGAN UTAMA
Private Sub Form_Load()
Me.Show
bRunning = Initialise() //Memulakan driver directx
Do While bRunning
Render '//Memanggil fungsi render dan memaparkan objek yang dilukis
DoEvents '//Masa berhenti untuk cpu melakukan process yang dirender
Loop
'//Padam directx
Set D3DDevice = Nothing
Set D3D = Nothing
Set Dx = Nothing
Unload Me
End
End Sub
**********************************************************
Ok ini adalah asas untuk memulakan antaramuka untuk membuat game... Jadi ada sesiapa yang tak faham tanya sekarang sebelum kita terus ke pengaturcaraan yang lebih detail
WARNING : Ini untuk tujuan kefahaman sahaja, jgn confuse dengan code ini, walaupun ia penting kebanyakan SDK dah sediakan. Jadi janganlah give up ok.
Imej 2d itu diletak pada permukaan objek 3d diantara vertex-vertex yang disusun pada satu normal.
Dalam erti kata lain, kita masukkan SKIN pada permukaan sesebuah object supaya nampak bentuk 3D lebih ketara le kan. Gabungan vertex-vertex ini akan membentuk WIREFRAME yang menjadi tulang belakang sesebuah objek.
PENGENALAN CODE (LEVEL TUTORIAL : TERLALU MUDAH)
Ok selepas kita fahami vertex, kita akan pergi lebih lanjut kepada driver untuk melaksanakan game kita. Untuk memudahkan kefahaman mengenai aturcara maka Visual Basic dan DirectX 8.0 dipilih. Berikut adalah penerangan bagaimana setup untuk antaramuka game boleh dilakukan.
************************************************************
PEMBOLEHUBAH
Dim Dx as DirectX8
Objek yang dihubungkan kepada directx8
Dim D3D as Direct3D8
Memberikan kawalan terhadap objek dalam directx
Dim D3DDevice as Direct3DDevice8
Mewakili perkakasan untuk tujuan melukis pada skrin (render)
************************************************************
PERMULAAN
Public Function Initialise() as Boolean
On Error Goto ErrHandler:
Dim DispMode as D3DDISPLAYMODE '//Mewakili mode display contoh 640 x 480
Dim D3DWindow as D3DPRESENT_PARAMETERS '// Mewakili skrin yang kita lihat
Set Dx = New DirectX8 '// Membina object directx 8
Set D3D = Dx.Direct3DCreate() '//Dari objek directx kita buat antaramuka directx berkenaan
D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode '// Mendapatkan mode resolusi komputer yang dipakai
D3DWindow.Windowed = 1 '// Menggunakan skrin dalam window
D3DWindow.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '//Refresh skrin
D3DWindow.BackBufferFormat = DispMode.Format '//Menggunakan resolusi yang sedia ada
// Membuat device pada permukaan directx, iaitu ruangan untuk rendering.
Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, FrmMain.Hwnd, _
_ D3DCREATE_SOFTWARE_VERTEXPROCESSING, _
_ D3DWindow)
Initialise = True
Exit Function
ErrHandler:
Initialise = False
End Function
************************************************************
RENDER (LUKIS PADA SKRIN)
Public Sub Render()
'//Padam segala lukisan yang terdapat pada skrin di ruangan device.
D3DDevice.Clear 0, ByVal 0, D3DCLEAR_TARGET, &HCCCCFF, 1#, 0
'//Memulakan senario game
D3DDevice.BeginScene
'//Disinilah kesetiap objek bagi directx dilukis contoh kotak, rumah, dan berbagai lagi
D3DDevice.EndScene
'//Perbaharui skrin untuk memaparkan objek yang baru.
D3DDevice.Present ByVal 0, ByVal 0, 0, ByVal 0
End Sub
************************************************************
PUSINGAN UTAMA
Private Sub Form_Load()
Me.Show
bRunning = Initialise() //Memulakan driver directx
Do While bRunning
Render '//Memanggil fungsi render dan memaparkan objek yang dilukis
DoEvents '//Masa berhenti untuk cpu melakukan process yang dirender
Loop
'//Padam directx
Set D3DDevice = Nothing
Set D3D = Nothing
Set Dx = Nothing
Unload Me
End
End Sub
**********************************************************
Ok ini adalah asas untuk memulakan antaramuka untuk membuat game... Jadi ada sesiapa yang tak faham tanya sekarang sebelum kita terus ke pengaturcaraan yang lebih detail
WARNING : Ini untuk tujuan kefahaman sahaja, jgn confuse dengan code ini, walaupun ia penting kebanyakan SDK dah sediakan. Jadi janganlah give up ok.
Membangunkan Animasi
dikutip daripada zsuperxtreme... Zainal Abdul Qahar
Perisian UNTUK MENGIKUTI TUTORIAL
1. Irrlicht 1.2 (Free)
Digunakan untuk enjin game
http://irrlicht.sourceforge.net/
2. Dev-C++ 4.9.9.2 (Free)
Digunakan untuk kompil game
http://sourceforge.net/projects/dev-cpp/
3. Anima8or (Free)
Digunakan untuk buat model
http://www.anim8or.com/main/index.html
4. G.I.M.P (Free)
Digunakan untuk lukis texture dan fx
http://www.gimp.org/
Dlm tutorial nie ada guna 3dsmax, tapi tak digalakkan sbb license. Just guna 3dsmax utk mudah buat tutorial. Cara kat Anima8or sama je, just different gui.
ASAS GRAFIK (LEVEL TUTORIAL : TERLALU MUDAH)
Ok semua tau yang grafik buat game nie mempunyai dua konsep 2d dgn 3d. Tapi mcm mana konsep ini dilaksanakan dalam game? Ok seperti yang kita ketahui 2d nie adalah imej yang rata, boleh dilihat dari depan sahaja (x,y). Manakala 3d adalah objek yang dibentuk melalui vertex-vertex pada (x,y,z) dan mempunyai permukaan normal dan setiap permukaan 3d terdiri dari imej (texture) yang menyebabkan objek itu kelihatan 3 dimensi.
VERTEX = Titik biru
Kenapa vertex ini penting dalam pembinaan game? Bukankah "Senang sahaja guna 3dsmax utk create vertex". Ok, jawapannya dengan mengenali vertex lebih mendalam, game developer boleh menguruskan UVW, BONE, COLLISION, TEXTURE, dan bermacam-macam lagi... jadi vertex ini bukan sekadar membuat box sahaja dan nilai penggunaan vertex ini perlu difahami sebelum langkah seterusnya. Maka adalah amat penting bagi game programmer mengenali apa itu vertex.
Ini adalah 2d imej yang dilukis oleh hackezz
Perisian UNTUK MENGIKUTI TUTORIAL
1. Irrlicht 1.2 (Free)
Digunakan untuk enjin game
http://irrlicht.sourceforge.net/
2. Dev-C++ 4.9.9.2 (Free)
Digunakan untuk kompil game
http://sourceforge.net/projects/dev-cpp/
3. Anima8or (Free)
Digunakan untuk buat model
http://www.anim8or.com/main/index.html
4. G.I.M.P (Free)
Digunakan untuk lukis texture dan fx
http://www.gimp.org/
Dlm tutorial nie ada guna 3dsmax, tapi tak digalakkan sbb license. Just guna 3dsmax utk mudah buat tutorial. Cara kat Anima8or sama je, just different gui.
ASAS GRAFIK (LEVEL TUTORIAL : TERLALU MUDAH)
Ok semua tau yang grafik buat game nie mempunyai dua konsep 2d dgn 3d. Tapi mcm mana konsep ini dilaksanakan dalam game? Ok seperti yang kita ketahui 2d nie adalah imej yang rata, boleh dilihat dari depan sahaja (x,y). Manakala 3d adalah objek yang dibentuk melalui vertex-vertex pada (x,y,z) dan mempunyai permukaan normal dan setiap permukaan 3d terdiri dari imej (texture) yang menyebabkan objek itu kelihatan 3 dimensi.
VERTEX = Titik biru
Kenapa vertex ini penting dalam pembinaan game? Bukankah "Senang sahaja guna 3dsmax utk create vertex". Ok, jawapannya dengan mengenali vertex lebih mendalam, game developer boleh menguruskan UVW, BONE, COLLISION, TEXTURE, dan bermacam-macam lagi... jadi vertex ini bukan sekadar membuat box sahaja dan nilai penggunaan vertex ini perlu difahami sebelum langkah seterusnya. Maka adalah amat penting bagi game programmer mengenali apa itu vertex.
Ini adalah 2d imej yang dilukis oleh hackezz
Langgan:
Catatan (Atom)