2010-05-03 8 views
0

Je suis à la recherche d'une application, qui pourrait être capable de charger des tas de points dans l'espace, de les rendre et de pouvoir effectuer des opérations 3D simples (sélectionnez un tel point, tournez viewport).Simple 3D Editor/Viewer

La source doit être disponible, car je veux l'utiliser comme base pour ma propre application.

Répondre

0

Vous pouvez utiliser directX pour résoudre ce problème. J'avais fait cela en utilisant delphi et directX. Vous pouvez également l'implémenter en utilisant C#.

qui pourrait être en mesure de charger tas de points dans l'espace
Vous pouvez le faire en lisant un fichier texte ou fichier binaire que vous le souhaitez et le stocker dans un tampon.

TD3DXVector3 temppt = D3DXVector3(X,Y,Z); 

Ici, TD3DXVector3 est de type directX.

les rendre
Pour le rendu, il existe une méthode DrawPrimitive de IDirect3DDevice9, l'aide que vous pouvez rendre le point, la ligne ou d'un triangle.

g_pd3dDevice.DrawPrimitive(D3DPT_TRIANGLELIST,0,count); 

Ici, Count est le nombre de triangles que vous voulez dessiner.

sélectionner ce point, faites pivoter & mouvement viewport
Pour rotation et viewport mobile, vous pouvez utiliser des matrices de transformation pour la transformation de projection, Vue transformation et la transformation du monde.

0

La bibliothèque Allegro est plus facile à utiliser, à l'exception de son seul 2d, il pourrait bien y avoir une interface 3D avec DirectX. Vous devez savoir C++. Heres un fichier d'initialisation pour les pixels aléatoires:

Vous pouvez obtenir la bibliothèque de allegro.cc et utiliser Visual Studio pour le compiler.

EDIT: Voici un exemple allegroGL. Son allegro combiné avec openGL. http://www.allegro.cc/forums/thread/589211

#include <conio.h> 
#include <stdlib.h> 
#include "allegro.h" 
int main() 
{ 
    int x,y,x1,y1,x2,y2; 
    int red, green, blue, color; 

    allegro_init(); 

    install_keyboard(); 

    srand(time(NULL)); 

    int ret = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640,480,0,0); 
    if (ret != 0) 
    { 
     allegro_message(allegro_error); 
     return 0; 
    } 

//textprintf(screen, font, 0,0,15,"Pixels program - %dx%d - press esc to quit", SCREEN_W, SCREEN_H); 

    while(!key[KEY_ESC]) 
    { 
     x = 10+rand()%(SCREEN_W - 20); 
     y = 10+rand()%(SCREEN_H - 20); 

     red = rand() % 255; 
     green = rand() % 255; 
     blue = rand() % 255; 
     color = makecol(red,green,blue); 
     putpixel(screen,x,y,color); 
     } 
     allegro_exit(); 
} 
END_OF_MAIN(); 
0

Il existe plusieurs éditeurs open source 3D, mais vous trouverez que la plupart d'entre eux sont associés à un moteur 3D particulier (à savoir irrEdit => Irrlicht). Blender, mais je pense que c'est trop complexe pour trouver le code que vous voulez.

En quelques minutes de recherche sur Google, je n'ai pas été en mesure de trouver un exemple simple d'un éditeur 3D avec le code source inclus, mais j'ai trouvé ce qui peut être utile:

Programming a 3D Editor

0

Il ya http://Clara.io, la source n'est pas disponible mais elle est gratuite et vous pouvez facilement écrire des plugins à importer/exporter dans un format personnalisé et également ajouter vos propres objets dans la scène.