Importazione di modelli da 3DS Max a un programma Sharpgl (OpenGL / C #)?
Domanda
Sto lavorando con sharpgl e avereun modello .3ds Voglio rendere nel mio programma.
Sto cercando uno snippet di codice di esempio o un tutorial per farmi andare avanti.
Modifica: lavorare con .NET per creare un'applicazione WPF con un controllo SharpGL per il disegno OpenGL.
Soluzione
È necessario scrivere un lettore / caricatore di formato di identificazione / file. Te stesso. Che è un grave dolore. La cosa buona è che il formato del file .3ds è ben noto e documentato .
Tuttavia, la cosa brutta è che il formato .3ds è obsoleto e non memorizza tutte le app dati moderna 3D. Ad esempio, non memorizza normali superficiali e non supportano le maglie con la pelle. Ho scritto il lettore di 3DS prima, non è stato molto divertente. L'altra cosa buona è che qualcuno ha probabilmente scritto prima il 3DS loader prima e puoi trovarlo usando Google. La cosa cattiva è che (con la legge di Murphy) che probabilmente l'hanno implementato in modo tale che lo renderà completamente inutilizzabile con il tuo codice.
Così normalmente si consiglia di utilizzare un altro formato ben documentato (e il lettore di scrittura per quel formato invece). Oppure potresti andare avanti e progettare il tuo formato per i modelli che supporta tutto ciò che desideri. Tuttavia, per esportare in questo formato da 3DS max, dovrai al tuo plugin esportatore per 3DS Max (utilizzando 3DS Max SDK) che richiede grande quantità di familiarità con la matematica 3D e la programmazione (in C ++). Ho scritto diversi esportatori, e questo è anche un grave dolore.
Quindi la soluzione più semplice sarebbe usare un semplice formato che consente di scrivere facilmente un caricatore. Qualcosa basato su testo, come * .dxf. Oppure puoi cercare un altro formato di file modello 3D che si spera sia con una libreria per caricarla. Ad esempio, Collada può essere uno dei candidati, anche se personalmente mi piace molto il fatto Utilizza XML.
Altri suggerimenti