Toturial
OpenGL
Just To show
You how to import .3ds File To OpenGL |
|
|
|
|
file
3ds.cpp
____________________________________________________________________________________________________________
:: 1st Step:
- i. Anda mesti telah mempunyai
header " 3ds.h" (mengandungi maklumat versi,mesh,texture dan
sebagainya)
- dengan menaip :-
- #include "3ds.h"
// memanggil fail 3ds.
- ii. kemudian taip :-
- #include <assert.h>
//untuk menggunakan tool
didalam library nya
- iii.kemudian taip :-
- int gBuffer[50000]
= {0}; // di ishtihar secara
global
- kegunaannya
untuk membaca "unwanted data"
-
"Fail
ini digunakan untuk mengendalikan semua kod yang diperlukan dalam
proses memuatturun file .3ds Secara asasnya bagaimana ia berfungsi
adalah, anda memuatturun chunk, dan kemudian mengenal pasti ID chunk.Berdasarkan
kepada Id chunks tersebut, anda memuatturun segalamaklumat yang disimpan
di dalam chunks. Sekiranya anda tidak ingin membaca maklumat tersbeut,
andaboleh mengabaikannya atau membaca selepas itu, Anda boleh mengetahui
berapa banyak bytes digunakan untuk membaca chunks ini kerana setiap
chunks menyimpan panjang chunk tersebut dalam bytes"
|
|
|
|
|
|
____________________________________________________________________________________________________________
:: 2nd Step:
- i. membina Konstruktur
ini memberi nilai awalan bagi data tChunk. cara-caranya:-
- CLoad3DS::CLoad3DS()
{
m_FilePointer = NULL; // mengumpukkan
nilai null sebagai nilai awalan
}
|
|
|
|
|
|
____________________________________________________________________________________________________________
:: 3rd Step:
- <Info> apa
itu chunk???
- -chunk ID
adalah code yang unik, dimana ia mengenalpasti jenis-jenis data
- i. dalam step ketiga ini
anda akan diajar bagaimana menbuka file .3ds
- Bool CLoad3DS::Import3DS(t3DModel
*pModel, const char *strFileName)
{
char strMessage[255]
= {0}; //panjang message yang hendak
dipaparkan
tChunk currentChunk = {0};
m_FilePointer = fopen(strFileName, "rb");
//membuka file .3ds
/* digunakan apabila terdapat kesalahan dalam
mengumpukkan nama fail*/
if(!m_FilePointer) //aturcara
disebelah memberitahu apabila nama fail tidak sama dengan nama yang
telah diumpukan
{
- /*aturcara
dibawah digunakan untuk mengelurkan MessageBox*/
sprintf(strMessage, "tidak dapat membuka
file: %s!", strFileName);
MessageBox(NULL, strMessage, "Error", MB_OK);
return false;
}
____________________________________________________________________________________________________________ |
|
|
|
|
|
|
|