powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / OPEN GL в Delphi
3 сообщений из 3, страница 1 из 1
OPEN GL в Delphi
    #32876345
programist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая проблема: создаю сцену, используя glulookat и получаю камеру, смотрящую в одну точку, т.е. чем дальше от этой точки предмет, тем больше он повёрнут от нужного положения. В 3D max можно сделать free camera (свободную камеру). Можно ли её сделать на OPEN GL?
...
Рейтинг: 0 / 0
OPEN GL в Delphi
    #32878152
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то ты не так пишешь: покажи код

________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
OPEN GL в Delphi
    #32882262
programist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот вся инициалицация. Взято с примера, поэтому мой здесь только MForm.create

procedure ResizeViewport(width,height:longint);
var znear, zfar, aspect: double;
left, right, bottom, top: double;

begin
znear := 0.1;
zfar := 50.0;
glViewport(0, 0, width, height);
aspect := width/height;

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

if USE_FRUSTUM then
begin
right := znear * tan(fovX/2.0 * PI/180.0);
top := right / aspect;
bottom := -top;
left := -right;
glFrustum(left, right, bottom, top, znear, zfar);
end
else
// gluPerspective(fovX/aspect, aspect, znear, zfar);
glMatrixMode(GL_MODELVIEW);
end;

Procedure InitRC(hnd:tHandle);
begin
DC := GetDC(hnd);
SetDCPixelFormat;
HRC := wglCreateContext(DC);
wglMakeCurrent(DC, HRC);
end;

Procedure ReleaseRC(hnd:thandle);
begin
wglMakeCurrent(0, 0);
wglDeleteContext(HRC);
ReleaseDC(hnd, DC);
end;

Procedure InitGL(width,height:longint);
begin
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearDepth(1.0);
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glDepthFunc(GL_LEQUAL);
glShadeModel(GL_smooth);
glFrontFace(GL_CCW);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
//glBlendFunc(GL_src_alpha, GL_ONE_MINUS_SRC_ALPHA);
//glAlphaFunc(GL_GEQUAL, 0);
gldisable(GL_ALPHA_TEST);
gldisable(GL_BLEND);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glenable(GL_LIGHTING);

glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

ResizeViewport(width, height);
end;

procedure TMform.FormCreate(Sender: TObject);
begin
mform.WindowState:=wsMaximized;
initrc(panel1.Handle);
initgl(Width, Height);
glMatrixMode(GL_MODELVIEW);
size:=20;
glulookat(0,0,size,0,0,0,0,1,0);
initlights;
end;
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / OPEN GL в Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]