|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
utilizzo directx in c++
ciao a tutti...
so che in c++ si possono utilizzare le directx per realizzare oggetti 3d, dato che io non so assolutamente come si possa fare e le mie ricerche in rete mi hanno portato a spiegazioni quasi incomprensibili x me(ho finito la 4° informatica e le classi in c++ dovrei saperle "usare")... vorrei chiedere a voi di illuminarmi, almeno sapere che "include" utilizzare...non voglio fare assolutamente nulla di esaltante, al massimo visualizzare un cubo che ruota o altro...grazie a tutti ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi scaricare il DirectX SDK dal sito della Microsoft... Ci sono abbondanti esempi...
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
mamma mia 220 Mb!!!!non posso proprio scaricarli!!ho il 56k!
ciao |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Dec 2002
Messaggi: 40
|
Manu,
forse ti conviene iniziare con l'OpenGL, + immediato e facile da usare delle Direct3D (anche se il preferisco quest'ultime). Ciao
__________________
www.arialinks.com |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
beh avevo fatto un pensiero anke alle opengl ma come con le directx non so da dove cominciare, dopo varie ricerche sono gionto a poco e niente...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
grazie il sito in italiano è molto interessante...vedrò di capirci qualcosa...ciao
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
sono riuscito a realizzare dei poligoni e delle figure 3d....arrivato alla spiegazione del texture mapping scrivo il codice IDENTICO a quello nel sito ma mi due errori su due funzioni che devono caricare la bitmap dalla memoria:glgentexture() e glbintexture()
ho incluso tutto il necessario per utilizzarle ma niente...anche scaricando i sorgenti non riesco a compilarli, sempre lo stesso errore....boh...inoltre vedo che molti di questi programmi includono vcl.h che io non posso includere perchè non è presente...è giusto che faccia così?? grazie degli eventuali aiuti |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Dec 2002
Messaggi: 40
|
vcl.h è un file del Borland C++ (le VCL sono classi Borland che wrappano un po' tutta la WINAPI e non solo) quindi vuol dire che quegli esempi sono fatti con il BCB.
Per il resto non so, controlla bene che la texture da caricare sia nel path giusto e cose del genere, mi dispiace di non poterti aiutare ulteriormente.
__________________
www.arialinks.com Ultima modifica di ariagiovannifanboy : 16-06-2004 alle 13:09. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
il fatto è che io appunto utilizzo borland c++...sto cercando in giro ma quegli errori non vanno via...anke scaricando i sorgenti direttamente dal tutorial....boh!
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
finalmente ho risolto quei due problemi utilizzando delle librerie opengl + aggiornate...ma ora ne è venuto fuori uno nuovo di errore
queste sono le due funzioni che si occupano del caricanento: Codice:
AUX_RGBImageRec *LoadBMP(char *Filename) // Loads a bitmap image
{
FILE *File = NULL; // File handle
if (!Filename) // Make sure a filename was given
{
return NULL; // If not return NULL
}
File = fopen(Filename,"r"); // Check to see if the file exists
if (File) // Does the file exist?
{
fclose(File); // Close the handle
returnauxDIBImageLoad(filename); // Load the bitmap and return a pointer
}
return NULL; // If load failed return NULL
}
int LoadGLTextures() // Load bitmaps and convert to textures
{
int Status = false; // Status indicator
AUX_RGBImageRec *TextureImage[1]; // Create storage space for the texture
memset(TextureImage,0,sizeof(void *)*1); // Set the pointer to NULL
// Load the bitmap, check for errors, if bitmap's not found quit
if (TextureImage[0]=LoadBMP("Data/NeHe.bmp"))
{
Status = true; // Set the status yo TRUE
glGenTextures(1, &texture[0]); // Create the texture
// Typical texture generation using data from the bitmap
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
if (TextureImage[0]) // If texture exists
{
if (TextureImage[0]->data) // If texture image exists
{
free(TextureImage[0]->data); // Free the texture image memory
}
free(TextureImage[0]); // Free the image structure
}
return Status; // Return the status
}
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi linkare glaux.lib...
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
scusa l'ignoranza ma non so come si faccia, cioè io con borland c++ quando creo un progetto per aggiungerci parti faccio "add node", ma anche aggiungendo glaux.lib e glu.lib non cambia niente...scusa se continuo a rompere...ciao
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non ti posso aiutare BC++B...credo che tu debba andare nelle opzioni del compilatore, nella parte dedicata al liker, ed aggiungere quella lib...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:11.



















