Co do koloru, to używasz złych wartości. Maksymalna wartość koloru to w Twoim przypadku 1.0f (a nie 255), minimalna to 0.0f. Także musisz przyjąć inną skalę przy inkrementacji i dekrementacji ;)
Ustalmy coś to wszystko to co piszesz, nie jest dla mnie zbytnio zrozumiałe, nie mam pojęcia o jaki sposób Ci chodzi (jak pozbyć się licznika), nie miałem nigdy styczności z Open GL, my sami mamy z tego tylko dwa ćwiki, bez wykładów, i lecimy dalej do programowania obiektowego, gdzie będzie na zaliczenie gra.
Czyli mam ustawić zmienną a=1.0; b=0.0; i zwiększać ją o mniejsze wartości wtedy płynnie będzie przechodziła, od zielonego do niebieskiego.
Co do twojego sposobu to jak masz ochotę to przedstaw chociaż sam szkielet kodu, a ja może wtedy załapię o co Ci chodzi.
To znaczy np. podałeś takie coś:
Kopiuj
kat_oscylacji += czas_klatki * szybkosc_oscylacji;
I te czas klatki i szybkość oscylacji to mają być normalne zmienne? I jak mam zrobić żeby bez licznika, w ogóle to wszystko jakoś animowało się klatka po klatce, jakąś funkcję trzeba użyć, najlepiej jakbyś zaprezentował kawałek kodu, to bym wiedział o co chodzi, a tak nie mam pojęcia.