Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    6

    [c][opengl][glut][sdl] Problema blend + environment mapping

    Salve a tutti,

    Inizio col dire che non sono un esperto dell'opengl XD.
    Più o meno l'anno scorso ho iniziato un progetto per l'università, praticamente il prof chiedeva di realizzare un gioco utilizzando il C o C++ con le sole librerie SDL o GLUT,ricordando che il progetto non è sul gioco ma sulla grafica.
    Io ho deciso di realizzare un gioco automobilistico (con una fisica grezza).

    Librerie da installare da apt :
    freeglut3-dev freeglut3 libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev fglrx-dev
    Arrivo al problema :

    -più o meno un anno fa avevo quasi completato il progetto su un Ubuntu 9.xx(non ricordo di preciso)

    - qualche giorno fa mi sono installata una ubuntu 11.10 (tutto tranquillo ma per compilare ho dovuto aggiungere fglrx-dev)

    quindi sono riuscito a sistemare tutto e a compilare:
    aggiungendo al compilatore gcc: -lGLU -lglut -lSDL_image -lSDL -lm

    fin qui tutto ok.

    Avvio il gioco e noto subito una differenza che con il compilato vecchio non c'era, il vetro dell'auto non rende il riflesso e la trasparenza in modo analogo.

    Allego la differenza del render:

    Render col vecchio compilato
    http://imageshack.us/photo/my-images...ndcorretto.png



    Render del nuovo compilato
    http://imageshack.us/photo/my-images...lenderrore.png



    Codice che uso per il blend assieme environment mapping per la realizzazione del vetro.
    da notare che l'environment mapping sulla carena dell'auto va tranquillamente senza problemi,
    il problema avviene quando è assieme al blend.
    codice:
    //trasparenza
    
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA,GL_ONE);
    
    //environment mapping
    
    glBindTexture(GL_TEXTURE_2D,blocco->texture);		   
    glEnable(GL_TEXTURE_2D);
    glEnable(GL_TEXTURE_GEN_S); // abilito la generazione automatica delle coord texture S e T
    glEnable(GL_TEXTURE_GEN_T);
    glTexGeni(GL_S, GL_TEXTURE_GEN_MODE , GL_SPHERE_MAP);
    glTexGeni(GL_T, GL_TEXTURE_GEN_MODE , GL_SPHERE_MAP);


    Vedete la differenza?? che può essere o come posso risolvere? grazie in anticipo XD

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Di solito per le trasparenze si usa GL_ONE_MINUS_SRC_ALPHA e non GL_ONE
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    6
    Ciao linoma , sicuramente hai ragione , però credo che il problema non sia quello , cmq ho provato e da sempre lo stesso problema , cioè il vetro ha questa specie di griglia.
    Ho fatto altre prove togliendo il glblend e faccio la stessa cosa per il render della carena ma il problema della griglia persiste anche senza la trasparenza
    Quindi non so che fare ? ribadisco che il vecchio compilato va e fa il suo lavoro adeguatamente. E possibile che hanno cambiato qualcosa nelle librerie ?? oppure i nuovi driver amd hanno questi problemi?

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Se il tuo vetro non è trasparente è il blend e tutto cio che è coinvolto, in pratica tutto .
    No so cs sia cambiato ma cose che sono basilari per la grafica 3d cm il blend difficilemte credo vengano alterati in tal modo da creare questi problemi.
    Quello che potrebbe creare problemi e' che il test della coordinata Z, con questa nuova build, abbia un nuovo formato (se nn una nuova equazione) e che un nuovo oggetto venga disegnato (la griglia?) che prima nn cera e la trasparenza veniva fuori.
    Cmq dalle immagini il problema nn si vede. Sn io?
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    6
    Per farti capire il perchè non credo sia il blend, lo ricompilo togliendogli la trasparenza al vetro e gli do un colore uguale alla carena, succede qualcosa di strano cioè dovrebbe avere lo stesso riflesso della carena, ma invece non è cosi:

    http://imageshack.us/photo/my-images...0120210151.png

    Forse qui si nota meglio la griglia di cui parlavo è stranissimo,
    poi uso la stessa funzione che ho creato per disegnarla .
    Adesso provo a rimettere la vecchia distribuzione ubuntu la 9.10 con i driver e librerie
    del tempo sperando che riesca a risolvere per la demo da fare con il professore.

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Che abbia una tonalita diversa puo dipendere dai vertici normali e dal materiale e non solo dal mixaggio in fase di rendering. Cmq continuo a nn vedere la griglia nn vorrei che...
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    6
    hehehee non ho allucinazioni XD
    l'effetto strano che sto cercando di dire, si nota di più mentre giochi e non da uno screenshot.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.