Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-04-2010, 16:37   #1
ZJack
Member
 
Iscritto dal: Oct 2008
Messaggi: 71
[C++ - OpenGL] Importare modelli 3D ?

Salve a tutti, avevo intenzione di realizzare un videogioco molto molto essenziale con l'ausilio di C e librerie OpenGL.
Ho già provato a fare piccoli esperimenti con le OpenGL, prendendo degli esempi da un sito ( http://nehe.gamedev.net/ ). Ora non so quanto sia "buona" come fonte, e non so neanche se faccia codice buttato lì senza criterio, però sono riuscito a capirlo ed a creare qualcosa di mio.
Quello che vorrei cercare di capire: è possibile realizzare un piccolo gioco di automobili in questo modo ? ( tempo circa 1 mese o 2) Il gioco sarebbe molto semplice, una visuale dall'interno ( dove prendo un modello 3D che simula l'interno dell'auto ) , una "piattaforma" con la pista ed il paesaggio, ed il cielo.
Non mi serve qualcosa di realistico, quindi per curvare ad esempio farei semplicemente ruotare il modello dell'auto dall'asse e la telecamera (poi penso siano cose da provare ).
Però il mio principale problema è: Come posso fare per importare un modello 3D realizzato con altri software nel programma? Ho cercato come importare un .3ds, ma ho trovato solo software a pagamento... ( Come programma per realizzare i modelli userei Blender ).
Sapreste darmi qualche dritta ? E' realizzabile oppure no ? E' tempo buttato ?

Grazie mille in anticipo
__________________
CPU: 3570K - MB: ASRock Z77 Pro4-M
VGA: GTX 660
ZJack è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 16:51   #2
insane74
Senior Member
 
L'Avatar di insane74
 
Iscritto dal: Feb 2003
Città: BG
Messaggi: 10041
http://www.ogre3d.org/

direi che con questo fai tutto.
__________________
Mac mini M1,16GB,2TB,10Gbit;Satechi Hub NVMe;Samsung 990 Pro 4TB;WD My Passport for Mac 4TB / Logitech MX Keys;Logitech MX Vertical;Philips 288E2A;PreSonus Eris E3.5;HP LaserJet Pro M281fdw / QNAP TVS-871-i3-4G,8GB,8x WD Red CMR 6TB raid 6,QNAP QXG-2G1T-I225 / TP-LINK Archer GE800;QNAP QSW-1105-5T / iPhone 14 Pro Max 1TB;iPad mini 6 256GB;Apple Watch Ultra 2;AirPods Pro 2;Kindle Paperwhite 11 SE / LG OLED C2 48";Apple TV 4K 2021 64GB;Denon AVR-X2800H / Xbox Series X;Seagate Expansion Card 2TB
insane74 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 22:08   #3
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
E' pieno di risorse in rete su come importare modelli 3d di qualsiasi specie in opengl. Alla fine un file contenente un modello 3d non contiene altro che vertici, normali, coordinate delle texture etc. Devi solo capire come è fatto il formato che ti interessa e scrivere il codice è banale......

Se ho un attimo provo ad aiutarti nella ricerca.

Comunque ti sconsiglio di utilizzare opengl per questo genere di progetti, rischi di perdere un sacco di tempo. Molto meglio le directX, in directX importare un modello è cosa banale.

Anche utilizzare una librerie come Ogre non è male come idea.
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 00:53   #4
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da ZJack Guarda i messaggi
E' realizzabile oppure no ? E' tempo buttato ?
se é realizzabile o se é tempo buttato dipende solo da te: quanto sei bravo con la grafica 3D? e quanto sei bravo a programmare? creare un videogame é il sogno di moltissimi programmatori, ma la stragrande maggioranza di essi fallisce quando si rende conto che, anche se per loro scrivere codice é gratis per quanto lo fanno bene, l'artwork non sanno proprio dove andare a pescarlo.

comunque, venendo al problema principale: il formato Wavefront é documentato pubblicamente, piuttosto semplice da interpretare, ed é supportato da molti programmi di grafica 3D tra cui anche Blender. ecco le specifiche:
http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/
http://local.wasp.uwa.edu.au/~pbourke/dataformats/mtl/

il formato ti permette di memorizzare le mesh comprensive di vettori normali e texture coordinates e anche le informazioni sui materiali, comprensive di texture e colori vari. (per le informazioni sul materiale vedi il secondo link, i materiali si mettono in un file a parte)

purtroppo con questo formato non ti é possibile memorizzare animazioni, quindi o lasci i tuoi oggetti completamente statici oppure provvedi ad animarli con altri mezzi.

ultima questione: i tutorial di NeHe ormai sono vecchi, usano quasi tutti la cosiddetta fixed-function pipeline; oggi la fixed-function pipeline non si usa piu, si programma a shaders. il problema di OpenGL é che é scarsamente documentato, se inizi adesso a studiare ci metterai una vita ad imparare ad usarlo in maniera ortodossa. forse faresti meglio a seguire il consiglio che ti é giá stato dato, cioé usare DirectX, al quale rilancio addirittura con XNA.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 16:49   #5
ZJack
Member
 
Iscritto dal: Oct 2008
Messaggi: 71
Grazie a tutti per le risposte, terrò sicuramente in considerazione i vostri consigli.
Riguardo l'utilizzare Ogre3D dovrei provarlo e vedere come mi trovo; ho trovato anche un altro motore che si chiama Irrlicht che sembra molto cononsciuto.

Invece per quanto riguarda XNA e DirectX dite che da questo sito potrei ricavarci qualcosa http://www.wilez.it/tutorials/XNA/ ? ( saltando ovviamente tutte le parti dove spiega la programmazione pura )
Utilizzando queste 2 risorse posso importare file con modelli 3D in modo semplice ad esempio tramite funzioni preimpostate? Del tipo : < import("i.3ds",x=12,y=0,z=1); > ?

E per il fatto del "realizzabile o no" mi interessava saperlo perché vorrei portarlo all'esame di maturità di perito informatico. Dato che i tempi stringono devo decidermi in fretta.

Grazie ancora per le risposte .
__________________
CPU: 3570K - MB: ASRock Z77 Pro4-M
VGA: GTX 660
ZJack è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 17:56   #6
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
Irrlicht non è un granchè, ogre è più completo ma più complesso.
Le directX ti permettono di importare un modello in maniera banale ma non sono comunque semplici, forse xna è la soluzione migliore.
Potresti pure usare un engine come unity, sicuramente è la soluzione migliore per creare qualcosa in breve tempo ma ti lascia poco da programmare, puoi fare quasi tutto in maniera visuale e per il resto usi javascript.
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 19:13   #7
ZJack
Member
 
Iscritto dal: Oct 2008
Messaggi: 71
Sinceramente odio Javascript, quindi penso che non prenderò neanche in considerazione quella soluzione, ma grazie lo stesso per l'idea.

Ora avrei bisogno solo di qualche conferma su XNA come scritto nel mio ultimo post prima di valutare. Qualcuno saprebbe rispondermi ?

Grazie .
__________________
CPU: 3570K - MB: ASRock Z77 Pro4-M
VGA: GTX 660
ZJack è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 19:51   #8
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Beh XNA è un wrapper allo stesso livello di DirectX, non è un motore grafico... quindi se vuoi pasticciare a basso livello senza rischi (è managed) vai sul sicuro.
Solo non ti aspettare alcun concetto astratto...

Ogre invece è il contrario; è complesso e di alto livello come concetti: implementa materiali, compositors, animazioni, ombre, culling, la gestione delle risorse, tutta roba parecchio cazzuta da farsi a mano partendo da una API.
Però è più difficile nella misura che trovi difficile C++.

Sinceramente ti consiglio di partire da Ogre, perchè se fai un motore senza prima vedere "come lo fanno i pro" viene un'accozzaglia che rovescia modelli a schermo.
Sicuramente si vedrà la macchina, si vedrà il cielo, ma non so quanto ti potrebbe essere utile a lungo termine

@fero86: sinceramente mi sa che vince male usare un formato standard all'inizio (e anche dopo) soprattutto se pensato per il rendering offline... sono enormemente più difficili da leggere, creano importers complessi, ma mancano anche di parecchie features necessarie ad un videogioco come la leggerezza, le animazioni, parametri preconfezionati per gli shaders (Normal, binormal, etc) che poi vanno messi a mano.
Dovessi farlo, credo che la soluzione migliore sarebbe fare un bel bitdump dei campi dato della classe Mesh, per poi creare un importer da un qualche altro formato di modellazione...

PS: Sui VG il forum che ho in firma ti potrebbe essere utile
__________________
*ToMmO*

devlog | twitter

Ultima modifica di Tommo : 12-04-2010 alle 19:57.
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 15:54   #9
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Tommo Guarda i messaggi
@fero86: sinceramente mi sa che vince male usare un formato standard all'inizio (e anche dopo) soprattutto se pensato per il rendering offline... sono enormemente più difficili da leggere, creano importers complessi, ma mancano anche di parecchie features necessarie ad un videogioco come la leggerezza, le animazioni, parametri preconfezionati per gli shaders (Normal, binormal, etc) che poi vanno messi a mano.
Dovessi farlo, credo che la soluzione migliore sarebbe fare un bel bitdump dei campi dato della classe Mesh, per poi creare un importer da un qualche altro formato di modellazione...
infatti hanno un fracco di aspetti negativi (a parte la questione del "rendering offline" come lo chiami tu, non mi risulta che il gioco che ZJack deve realizzare debba prelevare il materiale online, magari deve ma non mi sembra che l'abbia specificato) rispetto ad un tuo formato binario e ad hoc, ma sono l'unico modo di interagire coi programmi che deve usare per creare gli oggetti tridimensionali, come Blender. altrimenti potrebbe (credo) scrivere un plugin per Blender che gli permetta di salvare nel formato che piu gli piace ma ritengo che sia piu semplice scrivere un parser per Wavefront.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 17:15   #10
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Si a un certo punto dovrai per forza scrivere qualcosa che legga un formato esterno... ma il vantaggio viene dalla libertà di avere un formato interno adatto a come lo usi te per i calcoli più comuni, oltre al fatto che l'exporter lo puoi sviluppare come applicazione esterna e non sporca il codice "più importante".

E poi anche se non ci ho mai guardato, ho l'impressione che fare un exporter per Blender in Python sia massicciamente più facile che fare un importer da .lwo in C++...
Nel primo caso devi scrivere in un formato semplice di testo (il tuo) a partire da dati in memoria già organizzati (da blender) nel secondo devi organizzare dati in memoria a partire da un formato binario complesso e proprietario.
Fai un pò te

PS: con rendering offline intendevo "non realtime", quindi CG.
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 19:33   #11
ZJack
Member
 
Iscritto dal: Oct 2008
Messaggi: 71
Ok grazie per i consigli . Al momento sto provando ad utilizzare Ogre ( anche se ho dei problemi , ma al momento non ho il tempo per risolverli).
Per Ogre mi pare di aver trovato da qualche parte nel sito un Exporter per trasformare i file di Blender in un formato compatibile con Ogre.

Scriverò aggiornamenti o (in caso di problemi più seri e poco inerenti col titolo del post ) un altro thread con " i problemi del momento ".

Grazie ancora per l'aiuto .
__________________
CPU: 3570K - MB: ASRock Z77 Pro4-M
VGA: GTX 660
ZJack è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2010, 16:25   #12
ZJack
Member
 
Iscritto dal: Oct 2008
Messaggi: 71
Dopo un po' di indecisione e dopo aver passato un po' di tempo a cercare di installare Ogre3D con scarsi risultati, ho scoperto Panda3D. Nonostante non sembri qualcosa di "potente" penso vada benissimo per il mio scopo ( mi pare di aver letto che lo usano in qualche scuola per far prendere confidenza con programmazione e grafica.. ).
Oltretutto sembra anche molto immediato e, soprattutto, sono riuscito ad installarlo senza problemi .
__________________
CPU: 3570K - MB: ASRock Z77 Pro4-M
VGA: GTX 660
ZJack è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Da 309€ a 549€, fino a 32GB di RAM: ecco...
Beats mai così convenienti: sconti fino ...
Da 27,78€ a 56,99€: 5 accessori indispen...
3 minuti: è il tempo per vedere l...
Gli Amazfit sono ora gli smartwatch più ...
Rowenta alza la posta: scopa elettrica s...
6 robot per le pulizie completi in offer...
Friggitrice ad aria Cecofry Full InoxBla...
iPhone 16 Pro Max a 10€ in più del minim...
Una chiavetta USB, ma SanDisk Ultra Slid...
La bolla dell'AI: perché l'econom...
Lo smartphone dovrebbe essere usato solo...
SpaceX: i video e le foto dello spettaco...
Anche a Pescara si passa ai fatti: e-bik...
La One UI 8 è pronta: Samsung con...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v