Kun alustan ohjelmani ja kerron käyttäväni blendiä, ohjelma käyttää blendiä vain hyvin vähän aikaa alussa. (muutaman framen?)
Jos kirjoitan rivit:
glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
ennen main loopia, ohjelma ei käytä blendiä.
Jos kirjoitan rivit mainloopin sisään mihin tahansa kohtaan, ohjelma käyttää blendiä.
Koodissani ei ole muualla mitään blendiin liittyvää koodia. Mistä ongelma mahtaisi johtua? Käytän GLFW-kirjastoa.
Kai ne ovat kuitenkin ikkunan luonnin ja OpenGL:n alustuksen jälkeen? Muutenhan käyttöön tulevat OpenGL:n oletusasetukset.
Kyllä. Juuri ennen mainlooppiin siirtymistä.
EDIT: Kokeilin tehdä niin, että rivit suoritetaan joka framella, jos painetaan näppäintä 'a'. Blend toimi, kun pidin näppäintä 'a' pohjassa.
Otapa perinteiset debug-välineet käyttöön ja tarkista tilanne ensin lyhimmällä mahdollisella ohjelmalla. Jos ongelma vaikuttaa tosiaan johtuvan GLFW:stä, sille tuskin voi tehdä mitään.
Ei liene aivan hirvittävä menetys, jos joka framella joutuu ajamaan nuo koodirivit. Mitä merkitystä asialla ylipäänsä on?
Kokeile jos pääloopissa tarvitsisit kutsua vain
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Miksi se nollaisi glEnable(GL_BLEND); jos ei sitten nollaa kaikkia muitakin glEnable() ?
Aihe on jo aika vanha, joten et voi enää vastata siihen.