otóż wpadłem na genialny ( ) pomysł jak zmieniać kolory autom w grze wyścigowej.
Ten ów genialny pomysł miał polegać na tym, że zrobię tekstury z elementami przezroczystymi (tj. robię np. światła, natomiast pole naokoło nich jest przezroczyste).
Tym sposobem chciałem właśnie zrobić coś takiego: w grze elementy przezroczyste chciałem zastąpić wygranym przez użytkownika kolorem
Niestety pomysł legnie w gruzach gdyż:
przezroczystości nie działają (tam gdzie miała być przezroczystość jest czarno)
gdy chcę zmienić kolor rysowania, zmienia się też kolor tekstur
Moje pytania brzmią: czy coś da się z tym zrobić? Są jakieś inne sposoby, aby można było zmieniać kolor samochodu?
PS: Na screenie te żółte kropki i niebieski prostokąt to auto
Przez GLSL, gdzie w shaderze fragmentów odpowiednio mnożysz kolory
Używając blendingu w funkcjach OpenGL bez GLSL
Prawdopodobnie tam u siebie nie włączyłeś mieszania z kanałem alpha, tzn. nie włączyłeś przeźroczystości. Upewnij się też, że do tekstury ładuje się z kanałem alpha (RGBA, ARGB, ABGR, czy któryś tam z A)
Znaczy się używasz OGLa w wersji 1.2, albo pobliskiej z fixed-pipeline.
Najpierw narysuj całą siatkę z kolorem, a potem jeszcze raz tą samą siatkę, tylko z teksturą świateł. Test głębi musi być na LEQUAL, nie LESSER, inaczej nie narysuje ci drugiej siatki w tym samym miejscu (o tej samej głębi).