niXon
Založen: 27. 10. 2007 Příspěvky: 22
|
Zaslal: 4. prosinec 2007, 19:23:54 Předmět: Teren, vykreslenie prechodov pomocou blendingu |
|
|
Ahoj, robim taku skusku terenu, neni to ani presne height mapa, mam to proste trojuholniky na seba pospajane, a ku kazdemu bodu mam zadanu texturu, ktoru ma vykreslit, nasledne na to kreslim... pre kazdu texturu sa kresli teren, ak sa kresli bod, a jeho textura sa rovna s momentalne kreslenou texturou, tak sa nastavi glColor4d(1.0, 1.0, 1.0, 1.0);, inac sa nastavi glColor4d(1.0, 1.0, 1.0, 0.0); glBlendFunc je nastavene na GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, lighting je vypnuty, pozadie mam cierne, vsetko funguje perfektne, az na to, ze v miestach prechodov akoby bolo trochu presvitanie, (vidno na screenshote), ale nechapem preco, mozno mam zle nastaveny glBlendFunc, prosim Vas, nemozete mi pomoct, kde mam chybu? strucne znazornim pseudo-kod
kód: |
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// vypnu sa nepotrebne veci (lighting a podobne)
for(vsetky facy na vykreslenie) {
for(kazda textura) {
if(aspon_jeden_bod_ma_taku_texturu) {
glBegin...
for(kazdy_bod) {
if(textura_bodu==momenalna_textura) glColor4d(1.0, 1.0, 1.0, 1.0);
else glColor4d(1.0, 1.0, 1.0, 0.0);
vykreslime bod
}
}
}
}
glDisable(GL_BLEND);
|
Tak a tu je obrazok, kde vidno presvitanie, vidno tam texturu vody a travy, ale vidno ze ten prechod neni realnym prechodom farieb, ale vidno tam "cierne" pozadie, tj. presvitanie, ale preco?
Vsetkym za ich pomoc vopred dakujem |
|