Главная страница
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.045 c
6-1101805234
User1
2004-11-30 12:00
2005.02.13
Socket.ReceiveBuf


14-1106210888
Prohodil Mimo
2005-01-20 11:48
2005.02.13
При запуске Винды иткрываются "Control Panel" и каталоги


4-1103460003
Игореня
2004-12-19 15:40
2005.02.13
Процессы


1-1107259732
Alex_1
2005-02-01 15:08
2005.02.13
кодировка в поле ввода Edit


1-1106658881
Anna
2005-01-25 16:14
2005.02.13
Тест по Delphi при приеме на работу