Dubbi sull'uso delle DirectX...

martedì 10 ottobre 2006 - 18.40

igorbaldacci Profilo | Newbie

Mi serviva implementare un modulo di animazione 3D all'interno di un applicativo che stavo realizzando e dopo una ricerca accurata per "scovare" una classe gia' pronta di istruzioni per il 3D ho capito che la cosa migliore e' usare direttamente le DirectX di Microsoft.

Mi rimane pero' qualche dubbio: implementando l'applicativo facendo uso delle DirectX e' necessario che l'utente finale abbia installato queste sulla sua macchina. E fin qui poco male perche' si possono inserire insieme al prodotto, ma quello che non ho capito e' se e' NECESSARIO AVERE ANCHE L'HARDWARE APPOSITO, ovvero una scheda video con l'acceleratore 3D a bordo.

Ho letto infatti un po' di documentazione sull'uso delle classi DirectX e ho visto che molti comandi fanno riferimento proprio alla memoria della scheda video e cose del genere (sono un neofita sull'argomento e potrei aver frainteso parecchie cose). Allora mi nasceva il dubbio che magari usando le DirectX vado a realizzare un prodotto che non e' per tutti o che comunque costringe chi lo vuole ad organizzarsi.

Ho capitolo male? Qualcuno ha gia' avuto modo di sperimentare qualcosa sull'argomento?

Come sempre confido in un vostro aiuto prezioso.

Grazie mille.

Igor

Brainkiller Profilo | Guru

Ciao Igor,
allora iniziamo a dire che le DirectX ormai ce le hanno tutti (Almeno chi sta su Windows chiaramente). Può capitare però che ci siano versioni non aggiornate non allineate. Al di là di questo come dici puoi associare al software, il Runtime aggiornato.

La seconda cosa che voglio dire è che DirectX evolve man mano con l'hardware delle schede video. Esempio solo le ultime schede video riescono a far girare software costruiti con DirectX che fanno uso di Pixel Shader 2.0 e cose di questo tipo. Anche io non sono molto dentro perchè non sviluppo in DirectX ma so che alcune cose girano solo con determinate schede video.

Riguardo l'accelerazione.... beh anche lì dipende da che software stai costruendo. E' chiaro che se mi costruisci Quake 4, sarà difficile che tutte le schede riescano a farlo funzionare bene viste le elevate risorse richieste, sia CPU che RAM. Ma se fai qualcosa per renderizzare oggetti .x (banale) beh allora in questo caso credo che quasi tutte le schede video riescano.

Dipende da cosa devi fare insomma
ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

igorbaldacci Profilo | Newbie

Ciao David,
grazie infinite per la tua precisa ed esauriente risposta. Piu' o meno mi confermi quello che gia' immaginavo (e temevo ).

Io non devo certo fare un applicativo tipo Quake 4 ma qualcosa di piu' modesto. Fondamentalmente devo realizzare una mappa del corpo umano 3D ed interattiva. Detta cosi' sembra chissa' cosa ma nella pratica si tratta di realizzare un "omino" 3D (stilizzato quanto basta) da far ruotare in una piccola finestra dello schermo, dove poter scegliere con un semplice clik determinate zone del corpo. Tutto qua.

Secondo te, se mi armo di santa pazienta e mi metto li ad implementare una classe per far ruotare punti e magari zoomarli posso farcela? Naturalmente qualcosa di semplice che prende le matrici di rotazione tridimensionali e le applica ad una matrice di punti.

Non so, o forse mi butto sulle vecchie OpenGL o qualcosa di altro... sempre che in dot net sia possibile usarle!!

Comunque grazie ancora per il tuo intervento.

Igor
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5