Come importare un'immagine usando openGL [chiuso]

0

Sono nuovo di OpenGL C ++ e quello che volevo sapere è se esistesse una funzione preesistente nella libreria OpenGL che mi permettesse di importare un modello 3d o 2d?

Ad esempio, se creo un'immagine 3d usando photoshop, o un modello 3d usando 3ds max, potrei usare una libreria nell'esempio openGL (non la funzione reale): glUse3dimage (3dmodel); ?

O importare le immagini sarebbe più difficile e dovrei fare la mia funzione? Non sono davvero un buon programmatore, quindi volevo vedere quanto sarebbe stato difficile.

Un'altra domanda che avevo era se fosse difficile sarebbe più facile usare openGL con un'altra lingua? Ad esempio openTK con C #?

    
posta Ecurbed 24.04.2012 - 17:53
fonte

3 risposte

2

Non ci sono specifiche API per la gestione dei file o il formato dei file in openGL link

Potresti scaricare le texture dei buffer dei vertici direttamente sul disco e ricaricarle, ma è molto meglio usare alcuni formati di modelli 3D comuni, come .obj

Ti suggerisco inoltre di ottenere MeshLab per permetterti di visualizzare e testare i tuoi modelli in modo indipendente

    
risposta data 24.04.2012 - 18:08
fonte
1

No, non è nell'ambito di OpenGL.

Per caricare modelli 3d, uno strumento valido è la libreria Open Asset Import:

link

Per i modelli 2d (supponendo che tu intenda le immagini qui), usa qualsiasi libreria disponibile nella tua lingua / framwork per caricare le immagini, e poi disegna i pixel usando le funzioni di opengl.

    
risposta data 24.04.2012 - 18:13
fonte
1

OpenGL non specifica uno standard per i dati del modello o dell'immagine. Ciò significa che puoi importare i dati in qualsiasi formato tu voglia. Il che significa anche che devi scrivere / ottenere il codice per caricare i dati in qualsiasi formato tu voglia. Una volta ho implementato un parser per il formato oggetto 3D . Era piuttosto semplice e molte applicazioni di modellazione in quel momento potevano esportare la geometria di base in questo formato. Se vuoi caricare modelli più sofisticati (magari con texture procedurali specificate, o dati di animazione), potresti voler cercare una libreria esistente che possa farlo, sebbene sarebbe anche una buona esperienza di apprendimento. ;) Ci sono molte librerie per caricare i dati delle immagini, penso di averne trovato alcune dal codice del loader BMP e l'ho usato.

Non posso parlare di usare OpenGL con altri linguaggi, dato che ho sempre scritto solo C e C ++ e un po 'di codice Objective-C per OpenGL. Conosco JOGL che consente di utilizzare Java per scrivere applicazioni OpenGL, ma non l'ho mai usato da solo.

    
risposta data 24.04.2012 - 18:00
fonte

Leggi altre domande sui tag