Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-09-2011, 21:43   #1
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
[Any] 2D Game programming, nudo e crudo

Salve a tutti,
è da un po' che ho lo sfizio di programmarmi un piccolo motore grafico (roba 2d, top-down, niente di che) e farci qualche giochino.
Diciamo che il mio obiettivo è qualcosa di questo tipo, per rendere l'idea:



Non sono assolutamente interessato alla grafica avanzata, ai suoni, alla trama, la roba che fa "perdere tempo", insomma; mi interessa soltanto la programmazione che c'è sotto, collision checking, fisica, eventuali moduli che implementerò, magari mantenere il motore e cambiare totalmente il sistema di rendering, così da esercitarmi anche con l'encapsulation, capire come funziona una libreria grafica, i driver grafici, ho sete di conoscenza, insomma.

Detto questo, ho sbattuto la testa contro C++/OpenGL per trovarmi davanti una miriade di tutorials o outdated o che saltavano le basi, l'effettiva "inizializzazione" del contesto OGL, per passare direttamente al 3D, allo shading e ai concetti avanzati.

La mia idea era di partire col C++ per avere a che fare davvero con lo "scheletro" del game programming, ma sono abbastanza flessibile, e nella mia vita da "casual programmer" ho provato davvero di tutto, e non mi dispiacerebbe imparare qualcosa di nuovo o approfondire qualcosa di cui ho scalfito solo la superficie.

Mi scuso per il lungo post e ringrazio in anticipo chiunque mi dedicherà un po' del suo tempo!
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2011, 22:06   #2
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Non ho capito se stai chiedendo quale linguaggio usare o no.
Nel caso fosse così io ti consiglio java, a suo tempo feci anchio un giochino e mi trovai bene.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2011, 22:12   #3
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Mi sembri bello deciso a imparare quello che ci sta sotto più che a produrre qualcosa di funzionante.

In tal caso OpenGL o DirectX sono sicuramente gli strumenti che fanno per te. Il C++ già lo sai o lo stai imparando?

La situazione della documentazione di OpenGL allo stato attuale non è delle più rosee ...

Il Red Book (quello ufficiale attualmente alla settima edizione) finora arriva solo a OpenGL 3.3 (siamo alla 4.2) e il nuovo libro non esce prima di marzo dell'anno prossimo. Inoltre è pieno di spiegazioni su funzioni deprecate senza che sia specificato in maniera chiara cosa è deprecato e cosa no (c'è solo un laconico avviso ad inizio capitolo che alcune delle funzioni contenute nel capitolo sono deprecate), nonostante ciò rimane comunque il miglior strumento su cui studiare allo stato attuale, perchè i vari tutorial come "NeHe" o altri ormai sono veramente vecchissimi. Ce ne sono anche di nuovi (un po' meno completi), che però ti obbligano ad usare gli shaders e per quello che devi fare tu (a meno che non devi applicare dei particolari effetti speciali implementati via fragment shader) è una complicazione abbastanza inutile, anche se però è il futuro della grafica moderna e visto che il tuo scopo è di imparare forse vale la pena fare questo sforzo. Questo tutorial spiega abbastanza bene i concetti base di opengl 3/4 , (per i concetti più avanzati sarà necessario il Red Book): http://www.arcsynthesis.org/gltut/index.html .

PS = Ho notato che non spiega granchè riguardo al Blending che potrebbe essere utile in un gioco 2D (il tutorial è ancora in costruzione/espansione), per quello puoi guardare da un altra parte o sul red book
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 08:56   #4
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da MEMon Guarda i messaggi
Non ho capito se stai chiedendo quale linguaggio usare o no.
Nel caso fosse così io ti consiglio java, a suo tempo feci anchio un giochino e mi trovai bene.
Ottimo spunto, sembra ci abbia lavorato un bel po'!
Per quanto riguarda il Java, non è che magari "wrappa" un po' troppe cose, nascondendomi ciò che in realtà viene fatto?
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Mi sembri bello deciso a imparare quello che ci sta sotto più che a produrre qualcosa di funzionante.

In tal caso OpenGL o DirectX sono sicuramente gli strumenti che fanno per te. Il C++ già lo sai o lo stai imparando? [/url]
Ho fatto un po' di ruggine sul template programming e sugli header della STL che non uso spesso, ma il resto lo so abbastanza bene. Purtroppo non ho mai trovato un bel progettino o una bella community, quindi ho solo scritto programmini stupidi da solo

Comunque, inizio a dare un'occhiata a questi due tutorial, thanks for the tip!

EDIT: ecco, mi sono bloccato dove mi ero bloccato anche ieri: ho gli header gl.h, glu.h e glext.h inclusi di default in MinGW, ma non ho capito come funziona la storia delle library, vengono fornite dal manutentore della gpu? E col makefile, che devo fare? Non c'è una sorta di pre-tutorial?

E per quanto riguarda il redbook, è questo? Perchè ci sono 3/4 manuali, tutorial e reference diversi su opengl.org!

Ultima modifica di AngeL) : 06-09-2011 alle 09:09.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 09:17   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Io consiglio XNA

Ho fatto anche io un giochino (ispirato).
La corsa dei controller.

Prendi 2-4 controller wireless, li piazzi su un lato di un tavolo inclinato abbastanza.
Schiacci start, e i controller iniziano a vibrare.
Vibrando si muovono perche' il tavolo e' inclinato, e iniziano a scendere.
Il primo controller che cade dal tavolo vince.

Ovviamente tu intanto prendi le scommesse, fai da allibratore, mentre i tuoi amici sbracciano e incitano il proprio favorito a correre.

Alla fine chi vince offre a tutti gli altri una birra.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 06-09-2011 alle 09:21.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 09:59   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da AngeL) Guarda i messaggi
Ottimo spunto, sembra ci abbia lavorato un bel po'!
Per quanto riguarda il Java, non è che magari "wrappa" un po' troppe cose, nascondendomi ciò che in realtà viene fatto?


Ho fatto un po' di ruggine sul template programming e sugli header della STL che non uso spesso, ma il resto lo so abbastanza bene. Purtroppo non ho mai trovato un bel progettino o una bella community, quindi ho solo scritto programmini stupidi da solo

Comunque, inizio a dare un'occhiata a questi due tutorial, thanks for the tip!

EDIT: ecco, mi sono bloccato dove mi ero bloccato anche ieri: ho gli header gl.h, glu.h e glext.h inclusi di default in MinGW, ma non ho capito come funziona la storia delle library, vengono fornite dal manutentore della gpu? E col makefile, che devo fare? Non c'è una sorta di pre-tutorial?
Per quanto riguarda OpenGL funziona così (anch'io all'inizio sono rimasto un po' confuso, non ti preoccupare ):

OpenGL è una specifica e viene implementata dai vari vendors di hardware grafico che sono principalmente i vari AMD , Nvidia e Intel ... etc. In pratica installi il runtime OpenGL quando installi i drivers grafici che contengono anche l'implementazione opengl.

Per quanto riguarda l'SDK ... questo è più problematico. I drivers contengono solo il runtime (la libreria per l' esecuzione dei programmi) , ma non contengono header files per la programmazione.
Per quanto riguarda Windows Microsoft ha incluso una propria versione degli headers file OpenGL nel proprio sistema operativo che però arrivano fino a OpenGL 1.2/1.4 e quindi l'utilizzo di ogni funzione non presente in queste versioni di opengl darà un errore.
Il modo UFFICIALE per utilizzare le funzioni OpenGL su qualsiasi sistema è quello di richiedere un puntatore alla funzione utilizzando la funzione "wglGetProcAddress()" per Windows , "glXGetProcAddress()" per Unix e "cglGetProcAddress()" per Mac. In pratica si passa il nome della funzione che si vuole a queste funzioni (ad esempio "wglGetProcAddress("glDrawElements") ) e questa ritorna un puntatore a tale funzione che dovrà essere memorizzato in un puntatore a funzione e chiamato attraverso il puntatore. Questo permette di utilizzare tutte le funzioni messe a disposizione dalle varie implementazioni di OpenGL (che non è una, ma sono tante) e che possono esporre solo un subset di tutti i metodi OpenGL o addirittura funzioni in più utilizzando il meccanismo delle estensioni.

Da usare in pratica questo metodo è un delirio Il mio consiglio è di usare una libreria che faccia l'inizializzazione e l'incapsulamento delle varie funzioni nei corrispettivi puntatori in maniera automatica, come ad esempio la OpenGL Extension Wrangler Library (GLEW) . Sono molto facili da usare. Basta includere l'header file glew.h e compilare insieme al tuo progetto il file glew.c e all'inizializzazione del tuo programma ( prima di chiamare ogni funzione OpenGL) chiamare la funzione "glewInit" che si occuperà di inizializzare i puntatori (che hanno lo stesso nome delle funzioni opengl) , le istruzioni molto semplici da seguire le trovi sul sito, ma se hai dei problemi chiedi pure

Quote:
E per quanto riguarda il redbook, è questo? Perchè ci sono 3/4 manuali, tutorial e reference diversi su opengl.org!
Beh ... quella è la prima edizione, l'unica gratuita

Ti assicuro che non vuoi imparare opengl su quello, visto che si ferma a OpenGL 1.1 ed è FORTEMENTE deprecato

L'ultima versione del libro è la settima e l'unico modo legale per averla è comprarla
__________________
GPU Compiler Engineer

Ultima modifica di AnonimoVeneziano : 06-09-2011 alle 10:03.
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 12:11   #7
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Per quanto riguarda Windows Microsoft ha incluso una propria versione degli headers file OpenGL nel proprio sistema operativo che però arrivano fino a OpenGL 1.2/1.4 e quindi l'utilizzo di ogni funzione non presente in queste versioni di opengl darà un errore.
Dove sono? Io ho trovato soltanto quelli nella cartella include di MinGW (gl.h, glu.h, glext.h)

Quote:
Il mio consiglio è di usare una libreria che faccia l'inizializzazione e l'incapsulamento delle varie funzioni nei corrispettivi puntatori in maniera automatica, come ad esempio la OpenGL Extension Wrangler Library (GLEW) . Sono molto facili da usare. Basta includere l'header file glew.h e compilare insieme al tuo progetto il file glew.c e all'inizializzazione del tuo programma ( prima di chiamare ogni funzione OpenGL) chiamare la funzione "glewInit" che si occuperà di inizializzare i puntatori (che hanno lo stesso nome delle funzioni opengl) , le istruzioni molto semplici da seguire le trovi sul sito, ma se hai dei problemi chiedi pure
ho dato un'occhiata e capito come funziona, ma non vorrei semplicemente includere tutta 'sta valanga di header e chiamare le funzioni, vorrei capire anche dove sono definite, vorrei includere solo quelle che mi servono... so che è pura follia, ma in fondo non devo essere produttivo, mi basta capire ciò che faccio

Oppure, mi sta bene usare glut per gestire la parte os-related delle finestre (serve a questo, giusto?) ma vorrei prima fare a mano la procedura, almeno su windows, per capire cosa succede. Stesso discorso per glew.

Grazie mille per la disponibilità e gentilezza!

Ultima modifica di AngeL) : 06-09-2011 alle 13:12.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 13:15   #8
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
ciao , wglGetProcAddress() è definita in wingdi.h che è inclusa a sua volta da windows.h.

Se vuoi gestire il tutto tu allora quello che devi fare è:

Per ogni funzione che vuoi chiamare devi creare un puntatore a funzione (possibilmente globale , così lo inizializzi una volta per tutto il programma) e assegnargli il valore ritornato da wglGetProcAddress().
I prototipi di questi puntatori a funzione sono in genere in un file "glext.h" che ti fornisce o la tua implementazione o trovi in giro (ad esempio sul sito di opengl che contiene l'ultima versione con tutti i simboli opengl aggiornati). Devi ottenere con questa funzione solo le funzioni che sono state introdotte con una versione di OpenGL superiore alla 1.1 . Tutte le funzioni OpenGL 1.1 (che è la versione "base" di ogl) sono chiamabili già direttamente .

Ogni funzione opengl appartiene a una determinata "estensione" opengl . Se la tua implementazione OpenGL non supporta una certa estensione allora chiamare wglGetProcAddress() per quella funzione ritornerà NULL. Il formato del nome delle funzioni opengl da passare a getprocaddress è "glNomeFunzioneVENDOR_ESTENSIONE" (ad esempio "glGenVertexArraysARB" dove il vendor dell'estensione è l'ARB che indica che è una funzione standard opengl) . Quindi dovresti verificare anche che la tua implementazione supporti alcune estensioni OpenGL che vuoi usare. Le varie versioni di opengl non sono altro che una collezione di estensioni "ufficializzate" dall'ARB opengl.

Per sapere se la tua implementazione supporta una certa estensione devi usare la funzione "glGetString(GL_EXTENSIONS)" che ritorna una stringa molto grossa con il nome di tutte le estensioni supportate (glGetString è già inclusa in gl.h e supportata dall'implementazione base di MS, quindi non devi ottenerla tramite wglGetProcAddress) e parsare la stringa per cercare il nome della estensione che ti interessa. Questa cosa ti serve, perchè alcune funzioni sono implementate attraverso estensioni diverse a seconda del vendor e se usi un'implementazione NVidia a getprocaddress dovrai passare un certo nome di funzione, mentre ad una AMD dovrai passare un altro nome (questo perchè cambia la parte finale della stringa, ossia il VENDOR_ESTENSIONE a seconda del vendor). All'inizio tutte le funzioni che chiamerai comunque saranno funzioni standard e quindi con estensione ARB.

Quindi in sostanza per inizializzare una funzione che sai essere supportata dalla tua implementazione (nell'esempio "glGenVertexArrays" dell'estensione "GL_ARB_vertex_array_object") :

Codice:
#include <GL/gl.h>
#include "glext.h"

...
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
...

void init_function()
{
....
    glGenVertexArrays = wglGetProcAddress("glGenVertexArraysARB");
....
}
Prima di poter chiamare wglGetProcAddress devi aver inizializzato il contesto opengl o attraverso GLUT o attraverso altre funzioni wgl se non usi glut e usi direttamente Win32.

Ciao
__________________
GPU Compiler Engineer

Ultima modifica di AnonimoVeneziano : 06-09-2011 alle 13:18.
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 17:01   #9
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Dunque... sto seguendo principalmente questo tutorial, più roba googlata qua e là.

Ho creato un environment unix-like con msys, e sto impazzendo per capire tutte le dipendenze, cosa si appoggia a cosa... è praticamente impossibile, ma è anche nella mia indole mi sa che alla fine scriverò un mattone di codice che crollerà alla minima modifica, ma almeno avrò imparato qualcosa

P.S. mica hai idea di qualche progetto a cui posso aggregarmi, qualche community, risorsa da cui prendere spunto, così, per non essere "solo"? E' orribile dialogare con google
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 17:10   #10
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da AngeL) Guarda i messaggi
Dunque... sto seguendo principalmente questo tutorial, più roba googlata qua e là.

Ho creato un environment unix-like con msys, e sto impazzendo per capire tutte le dipendenze, cosa si appoggia a cosa... è praticamente impossibile, ma è anche nella mia indole mi sa che alla fine scriverò un mattone di codice che crollerà alla minima modifica, ma almeno avrò imparato qualcosa

P.S. mica hai idea di qualche progetto a cui posso aggregarmi, qualche community, risorsa da cui prendere spunto, così, per non essere "solo"? E' orribile dialogare con google
Un consiglio: se hai intenzione di usare Win32 e di aprirti la finestra , creare il contesto, agganciarlo e gestire i messaggi di input a mano anzichè usare qualche toolkit allora usa Visual Studio.

Ti risparmia diversi grattacapi.

Per il resto non conosco gruppi del genere, sorry.
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 21:34   #11
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Sto iniziando a pensare che forse, per quello che devo fare, le OpenGL sono troppo potenti. Il fatto di dover creare oggetti in un contesto 3d per poi proiettarli su un "mero" piano 2d mi sembra un po' uno spreco di tutto il calcolo matriciale che c'è dietro... ma in fondo neanche posso mettermi a blittare bitmap, no?

A questo punto, mi conviene creare un piccolo header con funzioni tipo
Codice:
Rect(x, y, width, height);
Circle(x, y, radius);
sfruttando sempre le ogl, ma "semplificandole", oppure toglierle di mezzo completamente e passare ad un qualcosa tipo... processing? o SDL?

Ultima modifica di AngeL) : 06-09-2011 alle 21:54.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2011, 04:14   #12
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Si, se vuoi proprio scendere alla base, blittare manualmente tutto a schermo (senza usare la GPU) è sempre un gran esercizio

Le prestazioni saranno ovviamente alcune decine di volte sotto OpenGL, ma forse si impara anche di più
Specie se ti dai a vari livelli di parallasse, sprite che ruotano, linee vettoriali, animazioni e trasparenze, che con OpenGL sono gratis, ma a mano devi saperle fare :ahsisi:

Poi probabilmente OGL sarà molto più semplice da imparare!
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2011, 18:31   #13
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Alla fine mi sono buttato su SDL. Rimane molto più complesso di altri approcci, però sento di star iniziando a capirci qualcosa

Gli unici problemi che sto avendo sono di tipo pratico: se mi conviene definire variabili globali o locali, molti moduli o pochi, classi all-purpose o codice specifico... però credo di dovermi fare le ossa leggendo altro codice, e scrivendone, ovviamente
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2011, 03:24   #14
Z80Fan
Senior Member
 
L'Avatar di Z80Fan
 
Iscritto dal: Sep 2009
Messaggi: 638
Da quello che hai scritto, io ti consiglierei la libreria Allegro.
È fatta molto bene, bastano poche righe per l'inizializzazione, hai tutte le funzioni per creare forme geometriche e testo (come rect e circle ), e hai anche funzioni per gestire gli input.
Io la uso sempre in C++ quando ho bisogno di fare roba 2D.
SDL e OpenGL (che usate assieme sono veramente una bomba) sono molto potenti, ma anche complesse per un beginner.
__________________
| Il mio "OS" (thread su HWU) | |
Z80Fan è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2011, 21:13   #15
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Ci avevo già dato (più di) un'occhiata, ma mi sembra un po' troppo basica... con le SDL mi tocca sicuramente scrivere qualche riga di codice in più, però sento di avere più controllo. Sarò sadico...

Comunque ho seguito il classico path: tris, pong e tra oggi e domani inizio l'ennesimo clone di space invaders
AngeL) è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Blue Origin annuncia un aerofreno ripieg...
Blue Origin annuncia una nuova versione ...
LG UltraFine evo 6K: il primo monitor al...
DJI cambia direzione: investe in Elegoo ...
Black Friday Narwal 2025: risparmi da ca...
Phishing evoluto contro Apple ID: caso f...
Prestazioni in discesa nei giochi? NVIDI...
Addio ai banner dei cookie? L'UE spinge ...
Le offerte Black Friday per gli smartpho...
Il controllo qualità degli iPhone...
Qualcomm Snapdragon X Elite vola con il ...
A2RL Season 2: storia, innovazione e sor...
Core Ultra Series 3: Intel conferma l'ev...
Black Friday Amazon: la GeForce RTX 5070...
EcoFlow, il Black Friday porta grande ri...
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: 21:34.


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