Vai al contenuto
tuc lopo

Programmatori In Erba

Recommended Posts

Io l'ho aperto per tutti quelli che come me hanno pochissima esperienza :blink2: di programmazione ma vogliono orientarsi verso il mondo del 3D.. :huh:

Qualunque programmatore esperto che vuole dare consigli LO FACCIA!!!

Aspetto con ansia :eek:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Non so se si possono consigliare libri o programmi, ma non credo che si tratti di

pubblicita occulta :blink:

Cmq potete anche consigliare dei buoni siti...

.. credo :blink2:


Modificato da tuc_lopo

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Dipende da che API vuoi utilizzare

www.codesampler.com contiene sia OpenGL che DirectX

Per le specifiche

nehe.gamedev.net

msdn.microsoft.com/directx

Di siti non ne conosco molti, ma come libri, ti posso segnalare

http://www.opengl.org/documentation/blue_book_1.0/

Manuale ufficiale sull'architettura.

Attenzione - E' un manuale, non una documentazione. E' quindi a tutti gli effetti un libro. Questo parla dell'architettura, in pratica come sono costruite

http://www.opengl.org/documentation/red_book_1.0/

Manuale ufficiale del programmatore

Attenzione - E' un manuale, non una documentazione. E' quindi a tutti gli effetti un libro. Questo parla della programmazione, in pratica come si usano.

Questo dovrebbe bastare.

Ah è poi c'è

OpenGL SuperBible che contiene veramente tutto.

Purtroppo tutto in inglese

Ad ogni modo, se ti trovi male coi manuali fatti in casa(come mi sono trovato io con la documentazione della Microsoft sulle DirectX9), puoi fare una capatina su questo libro

http://www.amazon.com/exec/obidos/A...7350176-8831258

Che a mio parere è fatto davvero bene, parte proprio dai concetti primitivi.

Non mi resta che augurarti buona lettura!

Vi riporto anche dei commenti sulle OpenGL fatti da un tizio che sembra esperto, a mio parere molto interessante

    E ora un po' di considerazioni personali: OpenGL o si adatta ai tempi o

    muore. Punto e basta. Anche la versione 2.0 non è concepita per i giochi

    ma per un design di applicazioni grafiche generiche ad alte prestazioni.

    Il problema che come al solito le comunità Open non vogliono vedere è

    che il mondo dell'informatica si evolve e avere delle API C a bassissimo

    livello non interessa più a nessuno. Qui abbiamo da poco iniziato a

    vedere le DirectX Managed che nonostante siano dei wrapper hanno delle

    prestazioni paurose rispetto alle corrispettive native. Per avere

    un'idea: 413 FPS per la versione nativa contro 400 per la versione

    managed su un terrain engine 3D planetario (tipo elite, che zooma sino

    allo spazio e permette di navigare tra un corpo celeste e l'altro) che

    usi HSL...

    La perdita mi sembra del tutto poco significativa per non giustificare

    il passaggio a linguaggi più flessibili e produttivi.

    Fare queste cose con OpenGL vuol dire perdere molto di più, per via del

    fatto che l'interfacciamento col nativo deve essere fatta chiamata per

    chiamata, facendo perdere tempo prezioso alle Virtual Machine. Il

    problema è superabile (fai un engine che si smazza vertici e geometrie e

    li ottimizza per limitare le chiamate native al minimo tramite estensivo

    buffering) con un overhead minimo (grazie agli oggetti lightweight), ma

    non è certo un metodo accessibile al coder della domenica. Una visione

    matura del problema sarebbe stato fornire dei bridge appositi o esporre

    delle API dedicate per risolvere il problema.

    Ergo, si rimane ancorati a vecchie metodologie e vecchie tecnologie,

    quando con un minimo di accortezza in più si poteva essere competitivi

    su un territorio più ampio (per esempio integrando almeno l'input nelle

    API OpenGL, dovendo così evitare l'ennesima libreria aggiuntiva per fare

    anche un giochino semplice, oppure fornire anche delle API Object

    Oriented decenti).

    E' vero che directx hanno delle ambizioni più elevate (ormai sono quasi

    un Middleware più che un semplice layer di astrazione).

    E' vero che c'è gente (come noi) che hanno anni di software OpenGL sulle

    spalle e che vorrebbero capitalizzare a vita questo patrimonio, ma

    retrospettivamente, tutto quello che abbiamo fatto noi per il 3D ci

    sarebbe costato un decimo se avessimo avuto le DirectX di adesso 5 anni

    fa (dove OpenGL aveva un senso e un perché).

    Ora, semplicemente, non ha senso e basta. Specie se poi ad OpenGL sei

    costretto ad affiancare altre API non sempre all'altezza se non vuoi

    usare qualche middleware precostituito e vuoi fare i tuoi da zero. Se

    decomponi le dipendenze crei solo casino e imprevedibilità, non sei un

    furbo che usa il meglio, ma solo uno sprovveduto.

    Chi ha provato ad interoperare tra middleware diversi sa a cosa ci si

    riferisce: diverse classi per i vettori, per le matrici, metodi per le

    classi primitive di base che ovviamente non coincidono e quindi giù a

    fare Facade o a rifattorizzare gli oggetti di frontiera e primitivi.

    Chi fa software DirectX-Based ha tutte le primitive consolidate e

    testate e delle buone API (per non parlare dei tool e dei formati di

    base, che per quanto semplici, evitano un sacco di stress nelle fasi

    prototipali), non vedrei perché dovrebbe tornare indietro e fare tutto a

    mano, se già ha quello che gli serve e sa che un engine fisico che

    supporti DirectX sarà usabile dal tempo zero e senza grosse pippe mentali.

    Certo fare targeting su Linux o MacOS può creare degli sbocchi di

    mercato che la concorrenza non ha, ma è pure vero che insieme sono

    paragonabili al 5% del resto (parlo in termini di acquisti, non di

    copertura), quindi non hanno ancora i margini significativi per essere

    una buona alternativa (e Loki lo ha dimostrato piuttosto bene), specie

    se, nel caso di linux, rilasciare un prodotto equivale a debug

    estenuanti su decine e decine di diverse distribuzioni per poi scoprire

    che solo un millesimo dei possibili problemi tecnici e di

    incompatibilità sono stati risolti...

    Per i produttori di hardware avere una sola API vuol dire hardware più

    efficiente, che consuma e scalda meno e che deve allinearsi ad un solo

    standard grafico (che non è detto debba essere DirectX, basterebbe una

    specie di CLR per le primitive grafiche e gli shader, per le primitive a

    livello elettronico le schede di adesso hanno qualcosa di simile, ma

    ogni produttore ha il suo standard che non condivide con la concorrenza

    e che gli permette di implementare i due core distinti in un core e

    mezzo, alla fine).

    IMHO se parte il progetto della piattaforma hardware aperta XNA di MS

    dubito che in tempi lunghi esisterà qualche altro standard al di fuori

    forse dell'hardware nintendo.

    Ai clienti interessa spendere poco in hardware a avere accesso ad un

    sacco di giochi, ai produttori fa comodo avere piattaforme compatibili

    senza sbattersi troppo.

    Al momento OpenGL ha fallito su tutta la linea (i giochi commerciali

    campano sulle estensioni, che non sono standard né sono direttamente

    supportate dai competitor).

    Sull'embedded loro si smazzano per dare API limitate a basso livello e

    la concorrenza fornisce una specifica che parte dall'hardware e arriva

    ad un vero e proprio middleware 3D che copre tutti gli aspetti della

    produzione di un gioco su sistemi compatti con analoghe prestazioni e

    flessibilità.

Per le DirectX ti segnalo

Beginning DirectX9

Advance Game Programming with DirectX9

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

allora per fare giochi 3d seri è dura e difficile!!!

O sentito parlare di un programma.. si chiama DARKBASIC

per quanto ne so è un linguaggio simile al basic e dicono che puoi farci belle cose.

Percio programmatori fatevi avanti!!

CONSIGLIATECI a noi poveri programmatori inesperti


Modificato da tuc_lopo

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
DarkBasic = Noob

BlitzBasic = Noob

Usate questi "tool" e non arriverete da nessuna parte

Credo che tu veda la cosa in modo un po' troppo "industriale"...

'Sto ragazzo ha detto che si vuole avvicinare al mondo della programmazione 3d, mica che vuole asfaltare Carmack... :D

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Credo che tu veda la cosa in modo un po' troppo "industriale"...

'Sto ragazzo ha detto che si vuole avvicinare al mondo della programmazione 3d, mica che vuole asfaltare Carmack...  :D

Non so cosa dire... :wacko:

Io vorrei entrare (solo per vedere se sono portato) nel mondo della programmazione..

Ma non so se è meglio iniziare da tool come Darkbasic o iniziare con una programmazione piu primitiva.. Come C++...

:blink::blink2:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao Tuc Lup! :)

Se sei portato per il basic, in ogni modo sperimentare una versione demo di DarkBasic potrebbe mostrarsi utile al tuo percorso di apprendimento sia nell'aspetto della logica della programmazione sia in quella 2D e 3D, DarkBasic ha delle lacune in alcuni aspetti, ma rimane un buon programma anche se per realizzare qualcosa di decente dovrai scrivere kilometri di codice.

Se sei portato per il C potresti iniziare con l'utilizzare il Dev-C++ e le varie librerie gratuite che ci sono a disposizione quali irrilicth e varie.

Se invece vuoi realizzare un gioco 3D usando dei tools che ti permettano di realizzare in modo VELOCISSIMO il tuo prodotto 3D potresti scaricarti la demo di TORQUE GAME ENGINE che usa un linguaggio simile al C e che però puoi muovere,collocare,trasformare gli oggetti manualmente semplicemente puntandogli il puntatore del mouse e trasinandoli dove vuoi. E' dotato anche di IA (cioè intelligenza artificiale) puoi tracciare i percorsi dei nemici ecc..

CIAO!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×