In evidenza per te:

Non cerchi le solite news sulla tecnologia? Allora benvenuto su Forumzone! :ok:

Menu principale
Menu

Mostra messaggi

Questa sezione ti permette di visualizzare tutti i messaggi inviati da questo utente. Nota: puoi vedere solo i messaggi inviati nelle aree dove hai l'accesso.

Mostra messaggi Menu

Discussioni - mikepedo

#1
Ciao a tutti, oggi mi sono un pò divertito a chiedere a chatGPT di scrivermi un codice di HSR software, gestito dalla cpu. In buona sostanza, gli ho chiesto una cosa semplice, ovvero che la cpu, durante la fase di trasform, clipping and lighting, determini quali siano i triangoli visibili e quali quelli nascosti, tenendo presente che alcuni di essi possano essere trasparenti. Inoltre, per non creare troppa attesa alla scheda video (altrimenti solo al termine di tutti i test avrebbe inviato i soli triangoli visibili alla scheda), gli ho detto che ogni qualvolta un triangolo risulta visibile dal test di profondità lo deve anche immediatamente inviare alla scheda video, mentre solo quelli sicuramente nascosti li dovrà scartare. Chiaramente è un metodo semplice che non azzera l'overdraw, ma penso possa venire incontro alle cpu meno potenti, e inoltre, se non ricordo male, i giochi venivano programmati con delle tecniche front to back, ovvero iniziare l'elaborazione geometrica dai triangoli più prossimi al soggetto: così si avrebbero alte probabilità di inviare alla scheda video i soli triangoli realmente visibili...
Si tratta pertanto di una tecnica di HSR applicata ai triangoli, senza andare a lavorare sui singoli pixel. Tradotto: soltanto i triangoli completamente nascosti vengono scartati, mentre se anche un solo pixel di un triangolo sarà visibile, l'intero triangolo sarà elaborato.
In ogni caso, ecco il risultato! Qualcuno che abbia voglia di ragionarci su???  :o

#include <iostream>
#include <vector>

struct Triangle {
    float x1, y1, z1; // Coordinate del primo vertice
    float x2, y2, z2; // Coordinate del secondo vertice
    float x3, y3, z3; // Coordinate del terzo vertice
    float transparency; // Trasparenza del triangolo (0.0 - 1.0)
};

// Dimensioni del frame buffer
const int framebufferWidth = 800;
const int framebufferHeight = 600;

// Buffer di profondità
float depthBuffer[framebufferWidth][framebufferHeight];

// Funzione per il calcolo dell'area di un triangolo
float CalculateTriangleArea(float x1, float y1, float x2, float y2, float x3, float y3) {
    return std::abs((x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2)) / 2);
}

// Funzione per determinare la visibilità di un triangolo e inviarlo immediatamente alla scheda video se visibile
bool CheckAndRenderTriangle(const Triangle& triangle) {
    // Calcolo dell'area del triangolo
    float area = CalculateTriangleArea(triangle.x1, triangle.y1, triangle.x2, triangle.y2, triangle.x3, triangle.y3);
   
    // Iterazione sui pixel all'interno del bounding box del triangolo
    int minX = std::min({triangle.x1, triangle.x2, triangle.x3});
    int maxX = std::max({triangle.x1, triangle.x2, triangle.x3});
    int minY = std::min({triangle.y1, triangle.y2, triangle.y3});
    int maxY = std::max({triangle.y1, triangle.y2, triangle.y3});
   
    bool visibleTriangleFound = false; // Flag per indicare se è stato trovato un triangolo visibile
   
    for (int y = minY; y <= maxY; y++) {
        for (int x = minX; x <= maxX; x++) {
            // Calcolo delle coordinate baricentriche del punto
            float alpha = CalculateTriangleArea(x, y, triangle.x2, triangle.y2, triangle.x3, triangle.y3) / area;
            float beta = CalculateTriangleArea(triangle.x1, triangle.y1, x, y, triangle.x3, triangle.y3) / area;
            float gamma = CalculateTriangleArea(triangle.x1, triangle.y1, triangle.x2, triangle.y2, x, y) / area;
           
            // Verifica se il punto è all'interno del triangolo
            if (alpha >= 0 && beta >= 0 && gamma >= 0) {
                // Calcolo del valore Z interpolato
                float interpolatedZ = alpha * triangle.z1 + beta * triangle.z2 + gamma * triangle.z3;
               
                // Verifica la visibilità del punto tramite il buffer di profondità
                if (interpolatedZ < depthBuffer
  • [y]) {
                    depthBuffer
  • [y] = interpolatedZ;
                   
                    // Invio del triangolo alla scheda video per il rendering
                    // ...
                   
                    visibleTriangleFound = true; // Indica che è stato trovato un triangolo visibile
                   
                    // Esci dalla funzione, inviando solo il primo triangolo visibile
                    return true;
                }
            }
        }
    }
   
    return visibleTriangleFound; // Restituisce true se è stato trovato almeno un triangolo visibile
}

int main() {
    // Inizializzazione del buffer di profondità
    for (int y = 0; y < framebufferHeight; y++) {
        for (int x = 0; x < framebufferWidth; x++) {
            depthBuffer
  • [y] = std::numeric_limits<float>::max(); // Valore iniziale massimo
        }
    }
   
    // Esempio di utilizzo
    std::vector<Triangle> triangles; // Vettore dei triangoli della scena
   
    // Aggiungi i triangoli della scena al vettore 'triangles'
    // ...
   
    // Itera sui triangoli e invia i triangoli visibili alla scheda video
    for (const Triangle& triangle : triangles) {
        if (CheckAndRenderTriangle(triangle)) {
            // Se è stato trovato un triangolo visibile, passa al triangolo successivo
            continue;
        }
       
        // Se nessun triangolo visibile è stato trovato, determina i restanti triangoli
        // ...
    }
   
    return 0;
}
#2
Però di 3dfx c'è solo l'indirizzo... :(
Una volta aperto troverere solo hw nvidia...
Comunque un bel ritorno che ne dite??? :okduo:
#3
Ciao, ho da vendere quattro giochi, rigorosamente originali, tutti PC DVD-ROM.

1- Far Cry 2, con scontrino (44,9€), vendo a 30€ + eventuali s.s.
2- El Matador, senza scontrino, vendo a 5€ + eventuali s.s.
3- CSI - Crime Scene Investigation, senza scontrino, vendo a 5€ + eventuali s.s.
4- Runway 2, senza scontrino, vendo a 5€ + eventuali s.s.

Le s.s. a vostra scelta, priorità alla consegna a mano.
Tutti e 4 i giochi insieme per 40€ + eventuali s.s.
#4
Visto che sto sempre a parlare di 3dfx (:ahah:), apro questo post per mostrarvi un nuovo record al 3D Mark 2006 con il mio sistema AGP:

Intel Pentium Dual Core E5200@3.75 Ghz (Vmod hardware 1.4v)
ASRock Conroe 865PE bios 1.72 (supporto ufficiale cpu Penryn)
2x1 Gb Samsung UCCC DDR400 CAS2
Sapphire Radeon HD3850 AGP (GPU 668@931 Mhz, RAM 828@1098 Mhz)
Alimentatore Energon 750W

Sul forum di HUpgrade c'é questo topic riguardante la mia scheda video, e con questo punteggio sono primo :okduo:
#5
Ho provato questo gioco. Si tratta di una mod di F1 2002 con le vetture dell'ultima stagione. Ovvio che la qualità grafica delle textures e dei tracciati sia migliorata sensibilmente.
La Voodoo5 6000 se la cava alla grande, l'importante è trovare il giusto compromesso. Così facendo si può osare anche un FSAA 2X mentre si fa una gara con 22 macchine in pista :okduo:

Video

EDIT: per rendere meglio l'idea, ecco 8 screenshots del gioco.
Per fortuna viene anche catturato il FSAA 2X usando il tasto di cattura predefinito del gioco.

Messaggio dalla redazione:
Contenuto non disponibile in quanto rimosso da server esterno o server esterno off line


P.S. questo topic l'ho aperto qui perché riguarda specificatamente hardware 3dfx, ma se lo si ritiene opportuno spostiamo tutto nella sezione screenshots:D
#6
3dfx Hardware e Software / E sono passati 8 anni...
15 Dicembre 2008, 11:57:17
Ciao a tutti,
oggi sono 8 anni che 3dfx è fallita, 8 anni di supporto non ufficiale da parte di appassionati ed esperti.
E che leggo? Che con i nuovi SFFT 1.5 le 3dfx sono compatibili con ogni sistema operativo prodotto da Microsoft, passato, presente e futuro!
Che dire, grazie a tutti coloro che hanno reso possibile possibile questa cosa.
Per chiudere, una personale speranza: che un giorno 3dfx rinasca :okduo:

EDIT: ecco qui un bel ricordo da parte del sito PCGH.

EDIT2: ecco il mio pc con la 3dfx Voodoo5 6000 "inside" con qualche modifica sul frontale per l'occasione :D

Messaggio dalla redazione:
Contenuto non disponibile in quanto rimosso da server esterno o server esterno off line
#7
3dfx Hardware e Software / 24 chip PixelFX 2
28 Maggio 2008, 17:55:36
Ciao, ieri mi sono arrivati questi:



Si tratta di 24 chip PixelFX 2, quelli montati sulle schede Voodoo2.
Sono datati 9a settimana del 1998, e sono ancora nella confezione originale, nuovi e mai usati ;)
#8
3dfx Hardware e Software / Un nuovo arrivo 3dfx!
05 Maggio 2008, 20:58:00
Oggi ho ricevuto una 3dfx Voodoo5 5500 PCI, la prima che ho mai avuto!
Ne ho approfittato per aprire i vari cassetti e tirare fuori tutte le 3dfx che possiedo, ecco una foto :h



Un tempo ne avevo altre, sfortunatamente le ho vendute.
#9
Ciao, oggi mi è arrivata a casa questa perla 3dfx:



Un click sull'immagine per visualizzarla nelle dimensioni reali

Si tratta del primo componente hardware realizzato in assoluto da 3dfx, datato 1995...
E' un Game Control Interface, tramite il quale si collegavano i joystick per giocare...
Carino vero? :okduo:
#10
Dunque, vi anticipo che mi so spisciando dalle risate!!! Andiamo al dunque. Ecco il link...

http://forum.hwupgrade.it/showthread.php?s=&threadid=549978

Tutto è nato dal fatto che il caro (ormai mi è simpatico! :D) Morfeus_81 vende una 9500@9700. Slash84 si mette subito in coda alle sue condizioni, ma continua a fare domande alle quali sinceramente non è facilissimo dare risposta. Es. chiede il punteggio del 3D Mark 2001. Beh, il venditore non ha la scheda sotto mano e poi Ca**o vende una 9700!!!! Che domanda è questa!!! Una 9700 farà un punteggio da 9700!!! In ogni caso arrivo io e faccio subito un'offerta CHIARA e DECISA. Che c'è di male se dopo questo Morfeus_81 accetta me rispetto Slash84? Sta di fatto che con me Morfeus_81 conclude la trattativa per 190€ s.s. incluse, mentre Slash84 no conclude nulla. Appena Morfeus_81 dice che la trattativa è terminata arriva il bello: Slash84 gli manda un PVT con scritto: se vendi la scheda a Mikepedo e non a me ti faccio bannare!!!! BRAAAAVVOOOO!!!!! TI SEI GIOCATO TUTTE LE CARTE PER COMPRARLA!!!!!! Secondo te Morfeus_81, dopo una minaccia, ha voglia di incontrarti di PERSONA per CONSEGNARTI la scheda video???? NON credo proprio!!!! Stà di fatto che io ed Morfeus_81 siamo stati bannati per 10 gg... Vorrà dire che mi rilasserò con la 9700 e Max Payne 2 :D

#11
Salve, oggi mi è arrivato questo dissi. L'ho montato e ci ho messo sopra una ventola 80x80 MOLTO tranquilla, se sposta 30 m3/h è tanto :D
Beh, procio stabile a 2400 Mhz in tranquillità. Oddio, lo tengo a 2.03v però al max stà a 46 gradi ;)
Cambio ventola e vediamo come lo tiro!

#12
Salve, visto che ora uso questa vecchia scheda, mi sono messo già qualche minuto ed ho fatto questi test. Beh, che dire, ancora non è per niente male secondo me! A parte il FSAA, il quale le taglia le gambe!

Creative GeForce Annihilator PRO (GeForce 1 DDR NV10)
Overclock da 120/300 Mhz a 150/340 Mhz (Chip/Ram)
Driver 44.04 Creative

Sistema usato

Athlon XP 1914 Mhz
512 Mb ram 348 Mhz CAS 2,5
MSI KT3 Ultra2
XP PRO SP1

Quake 3 Arena v1.11

1024x768 32 bit all MAX
sound HIGH QUALITY
DEMO 1

No FSAA: 88 fps
FSAA 2X: 32.7 fps
FSAA 4X: 19.3 fps
ANISOTROPICO 2X: 77.4 fps
FSAA 2X + ANISOTROPICO 2X: 30.3 fps
FSAA 4X + ANISOTROPICO 2X: 18 fps

3D Mark 2000 v 1.1 default

Punteggio: 7370 punti

3D Mark 2001 SE Patch 330 default

Senza Game Nature
Punteggio: 4190 punti

Tutti 4 i Games (3D Analyze v 2.16a)
Punteggio: 4826 punti

3D Mark 2003 default

Solo Game1
Punteggio: 214 punti


AthlonXP 2000+ @1914 Mhz MSI KT3 Ultra2 512Mb PC333 Voodoo 5 6000 AGP
Moderatore sezione "Area generale schede video". Vendo kit di raffreddamento per V5 5500 nel mercatino di questo forum!


Scritto Da - mikepedo il 13 Ottobre 2003alle ore  17:16:22
#13
Tuning / 3dfx Voodoo5 6000 by Mikepedo
07 Luglio 2006, 21:05:13
Ciao a tutti, finalmente posso mostrarvi il lavoro finito! Avevo anticipato in questo forum che stavo lavorando sul raffreddamento della mia 6000... beh credo proprio che sia venuto un bel lavoro, a cominciare dai piccoli loghi 3dfx su ogni ventola, stampati su carta fotografica alla massima qualità e che vi posso assicurare visti dal vivo sembrano di serie!!!

Questa è la scheda senza dissipatori:



Ora ecco alcune foto del "mostro"...







#14
Ciao, ho scaricato la demo del gioco Prey.
Avendo lo stesso motore grafico di Doom3 credevo che partisse con la mia Voodoo5 6000, invece non sono riuscito a farlo partire utilizzando sia le MesaFX 6.3.0.1, sia le MesaFX per Doom3, sia le ultime Sage 1.9.0
:(

#15
Ciao ragazzi, credo che a tutti stia capitando di aprire una rivista, o semplicemente guardare la tv, e scoprire che i cinesi scopiazzano di tutto, sia cose attuali, sia del passato. Ad esempio ora hanno riprodotto la Lambretta, e hanno pure comprato un vecchio marchio di moto tedesche per riprodurle...
Ed ecco che mi è balzata subito l'idea: perchè non coprano il marchio 3dfx?
Cerco, non sarà la stessa cosa, ma visto che sono in pieno bum economico ci sarà pure una azienza che ingegnerizza circuiti elettronici che voglia espandersi anche nel settore dei personal computer! Applicando la stessa politica che aveva allora 3dfx, potrebbero provare a riportare nel giro il mitico marchio! :D
Non la trovate interessante come idea? hihihi:cool:

#16
Ciao a tutti, cavolo è la cosa più strana che mi sia successo!
Non riesco più ad istallare la 6000 su Win98SE!!!
Consigli please!!!!

#17
Ciao, oggi ho istallato questo gioco, ma all'avvio mi dice che la scheda video necessita di almeno 32 mb di ram per avviare il gioco, e quindi non riesco a farlo partire. tempo fa ricordo di aver letto che qualcuno ci giocava con le voodoo5! Come si fa???
Grazie!

#18
Ciao a tutti, ieri sera ho provato quake3 utilizzando i raziel64 su win98.
Questo SO non lo utilizzavo da oltre 3 anni, ed allora avevo una athlon 1200 mhz.
Ora che di mhz ne ho 2083 nel pc con la 6000, ho notato nuovamente un boost delle prestazioni su quake3!
A questo punto ho provato: 1024x768 32 bit, tutto al max, FSAA 4X ed un timido hsr in conservative tiling... la magia!
Il timedemo fa oltre 50 fps! Il gioco è giocabilissimo e non ci sono difetti grafici!
Stai a vedere che l'hsr inventato da 3dfx, essendo software, per funzionare bene ha bisogno di tanta cpu...
In ogni caso chiedo di fare questa prova: chiunque di voi abbia un processore potente, magari più del mio, dovrebbe provare a giocare a quake3 con i miei settaggi e hsr in conservative tiling... possibilmente usando win98 e raziel64, così compariamo i dati...
Sono ben accetti tutti quelli che hanno Voodoo4, Voodoo5 PCI e Voodoo5 6000 AGPtoPCI! Infatti sarei curioso di sapere il comportamento con CPU Pentium4, Athlon64, magari DualCore, se non ricordo male con quake3 è possibile usare 2 cpu...
In questo modo possiamo verificare se con una elevata potenza elaborativa da parte della cpu l'hsr sia sempre più sfruttabile!!!
Io in conservative tiling ci sono già arrivato! :duo

#19
Salve, non riesco ad allegare la foto, comunque con le attuali Mesa 6.3.0.1 integrate nei driver Blood Rayne da un errore all'avvio utilizzando le API OpenGL. In D3D non va proprio, manca il supporto T&L pare.

Ecco l'errore:

L'istruzione a "0x5f166e18" ha fatto riferimento alla memoria a "0x00000564". La memoria non poteva essere "read".

Soluzioni???


#20
Sanford, fortuna che hai messo quella foto! Io ho il tuo stesso problema! I CR3 e CR4 si sono scaldati! Probabilmente quel giorno erano loro! A me parevano le due induttanze 1.5 0024 CHINA in altro a sinistra nella tua foto presente? A questo punto Amiga ho lo stesso problema di Sanford.
Detto questo da allora ho sempre usato la 6000 in queste condizioni! E' sempre andata BENISSIMO! Ora farò una prova. Accendo il PC, gioco un pò e sento la temperatura di questi due elementi. Se sono molto caldi provo a raffreddarli. Non penso sia intelligente mettere le mani su una scheda che va benissimo così eh eh eh!
Comunque comincio a pensare ad una cosa: non è che sia un difetto delle 6000 questo? Non è per direi, ma cacchio 25A sono tanti! Considerando che da me la 12V la utilizzano solo la 6000, il lettore CD/DVD, l'HD e la ventola della CPU mi sembra esagerato che l'ali non basta! Facendo una botta di conti stando grassi, il lettore consumerà 0.5A, l'HD 1, la ventola altri 0.5A e la 6000 a dire molto 10A. La somma fa 12A... In ogni caso a me il fumetto lo aveva fatto con il vecchio ali da 350W economico, che erogava 15A. Con l'attuale non lo ha mai fatto.



Questo messaggio è stato aggiornato da mikepedo il 20/08/2004  alle ore  20:51:43