Come posso miscelare per lavorare con illuminazione e materiale?
Domanda
Quale alfa dovrei cambiare? Diffuso, speculare o ambientale?
Soluzione
Non hai detto esattamente quello che stai facendo, quindi suppongo che tu stia impostando i colori di un oggetto direttamente con glLightParameter
, piuttosto che prenderli da una trama.
Per fare quello che vuoi, che ha un singolo numero ha un controllo totale sulla trasparenza dell'oggetto, si desidera impostare alfa a colori ambientali, diffusi e speculatori zero. Quindi usi il emissivo Alpha per impostare la trasparenza.
Se stai usando le trame, allora devi fare più lavoro. È necessario utilizzare un modello di ambiente di trama adeguato che prende l'Alpha direttamente dall'illuminazione a funzione fissa senza modifiche.
Oppure puoi semplicemente usare shader e abbandonare tutte queste assurdità a funzione fissa. Ti salverà Così molti mal di testa.
Altri suggerimenti
uso GL_SRC_ALPHA , GL_ONE
come parametro in glBlendFunc();
Ex:
glColor4f(1.0,1.0,1.0,alpha_value);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA , GL_ONE);
Sostituisci Alpha_Value come requisito .... `