Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Помогите новичку в OpenGl   Найти похожие ветки 

 
X'pro*inviZ   (2004-11-09 10:58) [0]

Это типа вопрос? Ну ладно, можешь и предоставить.

З.Ы.
Блин, вот начал OpenGL изучать.
С одной стороны интересно - новое что-то изучать.
С другой - ну иногда бывает вообще хрен пойми, что:
Сначала, конечно, разбираюсь с простыми примерами, т.к. изучаю полностью с нуля. Но вот здесь уже целых полчаса не могу догнать!!!

Вот, скажем, кусок очень простого кода.


procedure DrawScene;
var
 st:dword;
begin
 st:=GetTickCount;
 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
 DrawSphere(0,0,0,0);
 DrawSphere(3,0,0,0.5);
 glFinish;
 SwapBuffers(ghDc);
 frametime:=GetTickCount-st;
end;

procedure DrawSphere(x,y,z,RotAngle:GLFloat);
var
 Sphere:GluQuadricObj;
begin
 glPushMatrix;
 glTranslatef(x,y,z);
 glRotatef(rotangle,0,0,1); //не работает, блин, ни хрена
 Sphere:=gluNewQuadric;
 glColor3f(1.0,0.0,0.0);
 gluQuadricDrawStyle(Sphere, GLU_FILL);
 gluSphere(Sphere,1,20,20);
 gluDeleteQuadric(Sphere);
 glPopMatrix;
end;


По идее, вторая сфера должна вертеться (вокруг первой на полградуса за один кадр, так нет, на месте стоит, в подобном примере все нормально работает).
Если glRotatef вынести за блок glPushMatrix...glPopMatrix, то все нормально, вертится, но так не пойдет - в этом случае первая сфера вертится тоже.


 
X'pro*inviZ   (2004-11-09 11:01) [1]

Блин, первые две строчки вопроса - это глюк, забыл удалить. Это я в другой форуме ответ писал и методом Ctrl-C - Ctrl-V его в этот форум. Теги подправил, а это не убрал.


 
X'pro*inviZ   (2004-11-09 11:01) [2]

Блин, первые две строчки вопроса - это глюк, забыл удалить. Это я в другой форуме ответ писал и методом Ctrl-C - Ctrl-V его в этот форум. Теги подправил, а это не убрал.


 
DeadMeat ©   (2004-11-09 14:05) [3]

Ну дык и не будет крутиться. Ты ведь сохраняешь первоначальное состояние, а потом восстанавливаешь. Между ними, ты делаешь поворот лишь на одно значение, которое всегда одинаково. Может в другом примере вместо 0.5 переменная стоит?



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
14-1106208532
YurikGL
2005-01-20 11:08
2005.02.13
Куда идти молодому специалисту.


1-1107160374
dreamse
2005-01-31 11:32
2005.02.13
Как перевести real ( double ) в integer


3-1105958921
Shizuku
2005-01-17 13:48
2005.02.13
Вернуть результат из вычисляемого поля запроса


3-1105626869
chir
2005-01-13 17:34
2005.02.13
TDateTime type и Null


1-1106776100
Urvin
2005-01-27 00:48
2005.02.13
TDBGrid