* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Maggio 02, 2024, 02:35:50 am

Inserisci il nome utente, la password e la durata della sessione.

514 Visitatori, 0 Utenti

Autore Topic: Son già partito male...  (Letto 3061 volte)

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Son già partito male...
« il: Febbraio 16, 2012, 02:20:20 pm »
...postando prima altrove...ma rimedio subito  ;)

Ciao a tutti, mi chiamo Maurizio, 32 anni suonati (ma ero suonato già dai 10) e sono di Milano.

Ero alla ricerca di un ambiente RAD gratuito  (magari open source) e possibilmente senza l'utilizzo di librerie in Microsoft style (.NET e pazzie simili dalla lentezza esasperante) e mi sono imbattuto in Lazarus. Bello, semplice e discretamente veloce, peccato per i difetti sparsi qua e la ma spero migliorino nel tempo.

Ho iniziato a programmare per diletto dai 12 anni, poi per lavoro dai 18. Son partito con il classico basic (QBasic sotto dos se non ricordo male), poi il pascal della borland, assembly e non ricordo più cosa. In ambito lavorativo uso prevalentemente il Cobol (eh già....mi è toccato per lavoro), C/C++, Assembly x86 e ho avuto qualche esperienza in Visual Basic (esperienza terribile....non esistono/esistevano i puntatori), Clipper e PHP.

Utilizzerò Lazarus per un progetto personale, inizialmente per semplice divertimento poi chissà. L'intento è di creare un ambiente grafico per lo sviluppo di oggetti 2D (texture) 3D (mesh) e audio di tipo procedurale. Lazarus è il candidato per la realizzazione dell'ambiente di disegno/integrazione, le librerie saranno scritte prevalentemente in assembly (fin dove si può) e in C/C++/HLSL o GLSL (spero il secondo ma probabilmente sarà il primo).
Il fine (se mai ci sarà  ;D) è quello di creare un insieme di tool per realizzare, in modo visuale e con 0 codice, delle demo grafiche e partecipare a qualche manifestazione sul genere.

Per rendere meglio l'idea su cos'è una demo e di cosa sto parlando potete visitare il sito pouet.net

L'idea è nata circa 5 anni fa con altri ragazzi sparsi un pò per l'europa ma a causa dei vari impegni abbandonai il progetto (lavoro, donna ecc. ecc. ). Se siete interessati e avete un minimo di esperienza nel campo...bhe...fatevi avanti ;) A scopo personale può regalare parecchie soddisfazioni e se si è particolarmente fortunati e in gamba anche delle eventuali opportunità lavorative più che interessanti visto che ci si mette a confronto con gente che lavora per Epic, Pixar ecc. ecc. (per esempio uno dei ragazzi con cui è nata l'idea oggi lavora in NCSoft e l'hanno "scoperto" proprio in una di quelle manifestazioni li).

Penso sia tutto  ;)

Microges2000

  • Global Moderator
  • Full Member
  • *****
  • Post: 130
  • Karma: +1/-0
    • Power of Nature
Re:Son già partito male...
« Risposta #1 il: Febbraio 16, 2012, 02:29:42 pm »
Ciao e benvenuto.

Quel sito lo conoscevo e contiene una marea di "roba" interessante. facci sapere di più sul tuo progetto
Il possibile lo abbiamo già fatto, l'impossibile lo stiamo facendo, per i miracoli ci stiamo attrezzando

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Son già partito male...
« Risposta #2 il: Febbraio 16, 2012, 02:31:17 pm »
Già tienici informati! :) E' proprio un bel progetto!
Ieri è passato, domani è futuro, oggi è un dono...

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Son già partito male...
« Risposta #3 il: Febbraio 16, 2012, 03:32:59 pm »
Passatemi il gioco di parole ma...spiegarlo in parole semplici è complesso  :P

Ci provo magari aiutandomi con qualche esempio, partendo da lontano e sperado di arrivare.

Essenzialmente un gioco o una demo è un'insieme di oggetti visivi e non, mostrati, animati o trasformati a video. Tipicamente questi oggetti sono creati con tools di animazione, fotoritocco e editing 3D e archiviati su disco nei formati più vari per poi essere letti ed elaborati dal gioco o demo in questione. Questo è l'approccio classico che è anche quello più utilizzato. Esiste però anche l'approccio procedurale (o a strati se vogliamo farla semplice) che essenzialmente utilizza calcoli matematici per la realizzazione degli oggetti.

Quest'ultimo ha svariati vantaggi tra cui :

- Quando è effettuato in tempo reale non archivia sul disco l'oggetto finale (quello che noi effettivamente vediamo o sentiamo) ma solo le informazioni (i parametri) che servono alla sua generazione (tipicamente pochi kilobytes se non bytes).
- Ha la possibilità di ricreare la stessa informazione a qualsiasi risoluzione voluta senza la minima perdita di qualità o di informazioni.

E naturalmente ha i suoi svantaggi  :

- La difficoltà dell'implementazione
- La lentezza degli algoritmi che devono ricostruire tutte le informazioni partendo da pochi paremetri
- E' piuttosto difficile realizzare con estrema precisione quello che si vuole realmente visto che si lavora su pochi parametri e non  su pixel, vertici o campioni audio

In sostanza quasi tutto può essere sintetizzato dal nulla o quasi tramite l'uso di pochi parametri guida e l'interpolazione di vari effetti.

Partendo da questo presupposto l'idea è di creare varie librerie procedurali (una per ogni tipologia di oggetto) e per ognuna di queste un tool per la parametrizzazione dei vari effetti ed infine creare un tool in grado di interfacciare il tutto.

Quindi :

- Una libreria e un tool per la realizzazione delle immagini (le texture da applicare agli oggetti tridimensionali)
- Una libreria e un tool per la realizzazione degli oggetti tridimensionali
- Una libreria e un tool per la generazione degli effetti audio e della musica in generale
- Un tool di interfacciamento che essenzialmente opera da timeline per l'animazione e da collante per tutti gli altri

Escludendo l'ultimo step, i primi condividono la fare di progettazione dell'oggetto quindi fatto il primo si è già a metà dell'opera e la vera difficoltà sta esclusivamente nelle librerie.

La progettazione di un oggetto procedurale viene effettuata per passaggi e tipicamente si utilizza un'approcio che è un'ibrido tra lo stack e il grafo dove ogni elemento / foglia è un'effetto.

Prendiamo per esempio la generazione di un'immagine, questa può essere creata con vari effetti tra cui (cito i più semplici per non complicare il tutto) :

- Una semplice sfera
- Un insieme di pixel sparsi a video
- Uno sfocamento dell'immagine
- Una sorgente luminosa che riflette il colore della luce sull'immagine
- ecc. ecc.

Utilizzare singolarmente questi effetti non crea un granchè ma è sorprendente quello che si può creare iniziando a mischiarli fra loro e in questo viene d'aiuto il tool di progettazione che ha lo scopo di impostare i vari parametri e collegare i vari effetti fra loro mostrando a video il risultato ottenuto.

Se non mi sono perso e non vi siete persi  ;D unendo il tutto si riesce a ricreare un mondo partendo dal nulla.

 

Recenti

How To

Utenti
Stats
  • Post in totale: 18784
  • Topic in totale: 2236
  • Online Today: 523
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 514
Total: 514

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.