Consiglio di studio per l'informatica

di il
95 risposte

95 Risposte - Pagina 4

  • Re: Consiglio di studio per l'informatica

    Adesso vuoi gestire la GPU da assembly ... non hai idea di quello che scrivi.
    E' quello che stò cercando di dire dall'inizio sapendo bene ciò che dico, ma evidentemente hai frainteso.
    Adesso quello che scrivi qui è tutto tempo perso.
    Perfetto! Continuerò a perdere tempo da solo, cercando di imparare e motivandomi, non voglio rubarti neanche un secondo in più.
    Buon lavoro!
  • Re: Consiglio di studio per l'informatica

    Negli anni '80 non si programmava nessuna GPU in assembly, semplicemente perchè non esistevano ancora le GPU.

    Negli anni '80 si programmava in Assembly perchè: i personal computer erano molto più semplici da programmare, le risorse erano molto più scarne (o programmavi in assembly oppure ti attaccavi al tram, se volevi realizzare qualcosa di buono e veloce come i giochi), le CPU più "in" erano ad 8bit, quindi Zilog Z80 che arrivava massimo a 4mhz di clock, oppure MOS 6502 e suoi derivati che arrivavano a circa 2mhz di clock massimo...
    Tu pensa che il Commodore 64 aveva una CPU della serie MOS 6510 che non arrivava neanche a 1Mhz di clock, eppure si ricavavano capolavori di giochi.
    Di conseguenza eri costretto a programmare in assembly perchè era l'unico modo per spremere al massimo queste macchine.

    Oggi programmare una GPU in assembly come da tua affermazione sarebbe da matti... (non ti rendi conto di quello che hai detto)...
    Quasi nessuno al mondo ormai lavora come pensi tu...

    Esistono n...mila funzioni già realizzate da programmatori ultra esperti nel settore che sfruttano e migliorano n...mila funzioni precedentemente già realizzate da altri programmatori super esperti... ecc. ecc. a ritroso.

    Diciamo che tutto è partito dagli anni '70 quando giovani programmatori crearono il linguaggio basic per home computer su schede perforate, passando poi negli anni '80 con l'utilizzo di nastri a cassette e poi floppy disk, per poi arrivare agli anni '90 con i personal a 16 bit, fino ai giorni nostri...

    E in sintesi, tutti questi passaggi, sono serviti proprio per facilitare la programmazione di oggi che se fosse rimasta come negli anni '70 e '80 fino a metà degli anni '90, quasi tutta in assembly... beh!!! Immaginerei un mondo di pochissimi super espertoni ultra pagati.

    Oggi si programma ad alto livello (il più delle volte), anche GPU. Fidati
  • Re: Consiglio di studio per l'informatica

    Certo, capisco che lavorare in questo modo sarebbe impossibile, ma la mia era semplice curiosità, se mi capitasse tra le mani un commodore 64 potrei programmarlo?
  • Re: Consiglio di studio per l'informatica

    olegfresi ha scritto:


    Certo, capisco che lavorare in questo modo sarebbe impossibile, ma la mia era semplice curiosità, se mi capitasse tra le mani un commodore 64 potrei programmarlo?
    Ma che dici? A che pro? Che c'entra programmare con un Commodore 64? A che ti servirebbe???

    Ho lavorato anni con la CPU 6502 e la 6510 ma adesso cosa c'entrano? Sono morte e sepolte?

    Perché fai affermazioni che non stanno né in cielo né in terra ?
    Allegati:
    9500_bec45d7fc5fde374c8449a5e3ea2160b.jpg
    9500_bec45d7fc5fde374c8449a5e3ea2160b.jpg
  • Re: Consiglio di studio per l'informatica

    olegfresi ha scritto:


    Bello, ma questo si studia all'università?
    Dipende da quale.
    Comunque partendo da zero ti suggerisco fortemente
    https://books.google.it/books/about/Codice.html?id=m6pTAAAACAAJ&source=kp_book_description&redir_esc=y
  • Re: Consiglio di studio per l'informatica

    ramcrack ha scritto:


    Immaginerei un mondo di pochissimi super espertoni ultra pagati
    Presente.

    Comunque prima di tutto comincerei dalla base.
    cos'è un computer digitale (esistono anche analogici)? Cosa lo fa 'vivere'?
    Risposta.
    Un componente che ha una legge di conduzione elettrica non lineare.

    Lo sapevi? Un iPhone, in ultima analisi, è composto da due (o uno, fondendoli) 'mattoncini'.
    Uno è in grado di sommare due tensioni (ma non in output la somma!).
    l'altro dà tensione quando non c'è, o non la dà quando c'è.
    fine

    Con due 'mattoncini' che possono essere anche uno solo, puoi costruire un iphone

    Come?
    bhe non proprio immediato.
    IL libro introduttivo è sopra indicato
  • Re: Consiglio di studio per l'informatica

    Grazie tante per il consiglio. Mi daresti una chiave di ricerca per poter cercare poi altri libri?
  • Re: Consiglio di studio per l'informatica

    No. Comincia con uno. Finito quello rileggilo. Passa ad altro
  • Re: Consiglio di studio per l'informatica

    Ea quale dovrei passare?
  • Re: Consiglio di studio per l'informatica

    olegfresi ha scritto:


    Ea quale dovrei passare?
    Sempre a quello.
    Imparerai, grosso modo, come è fatto e come funziona un computer, partendo dai relè.
    se ti mancano le basi tutto il resto è inutile
    È un testo essenzialmente divulgativo, che reputo il migliore per i ragazzi.
    a dir la verità anche per molti universitari odierni.
    Comunque quando mi saprai dire cos'è un chiavistello ti suggeriró libro successivo.
  • Re: Consiglio di studio per l'informatica

    Se vuoi fare un esercizio che comprenda la grafica, la cosa e' semplice:

    Realizza una libreria per plottare grafici 2D su una matrice di HxW pixels.

    Poi convertirai questa matrice in un'immagine gif/jpeg/png/tiff/...

    Pertendo da zero, devi implementare il tracciamento di punti, rette e curve.
    Quindi aggiugere il supporto per la scrittura di test, in modo VETTORIALE, con la possibilita' di scrivere con qualunque font, in qualunque direzione (orizz, vertic, diagon, .. lungo una curva) e qualunque dimensione.

    qualcosa di simile a matplotlib e seaborn in python

    NON inventarti soluzioni, STUDIA ed implementa le soluzioni esistenti.

    Poi, puoi estendere la cosa alla grafica 3d: data una scena descritta nello spazio cartesiano e un punto di vista, proiettare la scena sul piano di fronte al punto di vista.

    Si puo' fare

    Un libro superclassico e' il Foley, Van Dam: Computer Graphics



    Poi puoi estendere la tua libreria per simulare come sarebbe la scena se tu fossi su una navicella che viaggia a velocita' prossima a quella della luce: ci sono trasformazioni NON lineari da applicare a TUTTI i tuoi segmenti/poligoni
  • Re: Consiglio di studio per l'informatica

    migliorabile ha scritto:


    Se vuoi fare un esercizio che comprenda la grafica, la cosa e' semplice:...
    maddai... qui il livello è la sintassi del C...
  • Re: Consiglio di studio per l'informatica

    Un libro superclassico e' il Foley, Van Dam: Computer Graphics
    A questo punto voglio capire una cosa: ho cercato molti testi su amazon riguardanti la computer graphics, ma questo testo ha quasi 10 anni, va bene lo stesso anche se è datato oppure è meglio guardare qualcosa di più recente come anche se usa java?
    Se non va bene mi attengo a ciò che mi hai consigliato. Però con che basi devo partire per studiare questo libro(oltre a conoscere il c++ devo avere conoscenze di algebra lineare, di algoritmi o altro?)
  • Re: Consiglio di studio per l'informatica

    @+m2+ non sono convinto che stroncare qualcuno sia un buon modo di procedere: e' meglio che si renda conto da solo che cosa comporta quello che chiede.

    Vuole realizzare della grafica alla vecchia maniera, senza l'uso di GPU o librerie gia' pronte?
    Perche' non farglielo provare?

    Poi, quando si rendera' conto della difficolta' anche SOLO di disegnare una retta, magari rivedera' al ribasso le sue aspirazioni

    @olegfresi: il libro che hai indicato:
    1) usa Java ma per fare grafica si lavora in C/C++
    2) usa Java PERCHE' usa la libreria OpenGL che e' scritta in C/C++. Ma tu avevi scritto che volevi implementare tutto da ZERO!

    La matematica che sta' alla base della computer grafica moderna E' SEMPRE LA STESSA: quello che cambia e' che ci sono sistemi hardware che implementano alcuni algoritmi che trovi descritti nei vari testi.

    Libri di computer grafica ce ne sono migliaia, ma ce ne sono molto pochi veramente validi.

    Per quanto riguarda la grafica 3D, ci sono algoritmi avanzati di ultima generazione che sono molto realistici, ma che possono essere utilizzati solo perche' hai MIGLIAIA di core a disposizione: la GPU, appunto.

    Se vuoi farti le ossa, il libro di 10 anni fa (1000 pagine) va piu' che bene: e' ancora un testo di riferimento.
    Quando avrai implementato TUTTO quello che c'e' scritto sul libro, ne riparleremo

    Se poi non ti basta, l'idea delle nuove GPU NVidia (NVIDIA GeForce RTX 2080Ti) e' quella di supportare il physically based ray tracing.
    Il testo di riferimento per questo approccio e':

    .

    Spannometricamente, implementare quello che c'e' scritto in questi due testi ti portera' via due anni

    Nota: un libro non e' buono perche' e' stato scritto nel 2017/2018, ma se e' scritto bene e c'e' scritto tutto quello che serve!
  • Re: Consiglio di studio per l'informatica

    Non frustrerei la buona volontà con suggerimenti irrealistici.
    Preferirei essere costruttivo, piuttosto che distruttivo.
Devi accedere o registrarti per scrivere nel forum
95 risposte