OpenGL

0

Witam zaczynam naukę w OpenGL i mam takowy kod

for (double y = -1.0; y < 1.0; y += 0.1)
for (double x = -1.0; x < 1.0; x += 0.1)
{
glLoadIdentity();
glRotated(-Kat, 0.0, 0.0, 1);
glTranslated(x, y, -1.0);
glRotated(Kat, 0.0, 0.0, 1)'

// to własnie nie działa
for (float k1 =0.0f; K1 == 1.0f; k1+=0.1f)
{
glClearColor (0.0f+k1, 0.0f ,0.0f, 0.0f);
if (k1 == 1.0f)
k1 = 0.0f;
}

a raczej jego część działa mi obracanie figury dokładnie kwadrat tylko nie mogę zrobić zeby zmieniało się jednocześnie tło zrobiłem takową
pęlte for do zmiany kloru ale dupa nie zmienia tylko ustawia jeden gdzie jest blad ? bo ja nie wiem niestety

0

Ja tu widze same bledy ;)
Czy nie powinno byc:
[code]
for (float k1 =0.0f; k1 < 1.0f; k1+=0.1f)
[/code]
?

0

Napisałem jak podałeś i kolor tła pozostaje ten sam nie zmienia się jest jednoloty ale dzieki za zainteresowanie

0

drogi kolego, zauwaz ze w petli for uzywasz dwoch zmiennych k1 i K1 - a wydaje sie ze miales na mysli jedna zmienna. to na pewno jest blad.

0

ehhh ze tez wczesniej tego nie zauwazylem. Przeciez funkcja glClearColor() jest wywolywana tylko raz aby wyczyscic jakims kolorem backbuffer. Jezeli wywolasz ja kilka razy to efekt bedzie mialo ostatnie wywolanie(zalezy co gdzie rysujesz). Aby zrobic takie tlo to najlepiej zrob sobie quada o wielkosci okna (uzyj macierzy ortogonalnej), rysuj go na samym poczatku, bez zapisywania do bufora glebokosci. Bedziesz mogl zmieniac kolory tla, z tym ze nie wiem czy bedzie Ci odpowiadal ten sposob.

1 użytkowników online, w tym zalogowanych: 0, gości: 1