Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Delphi OpenGL

Здравствуйте, Програмеры.

Помогите пожалуйста с таким вопросом, рисую сферу, если окно в которое
осуществляется вывод квадратное, т.е. Width = Height то все нормально,
если же это условие нарушить то получается эллипсоид сплюснутый
пропорционально размерам формы.
Win XP Pro

Ответить   Wed, 12 Jan 2005 23:39:13 +0600 (#295756)

 

Ответы:

Там должно быть что-то вроде функции, которая вызывается при изменении
размеров окна. В этой функции у меня написан код (на С++):

glViewport(0,0, (GLsizei) Width, (GLsizei) Height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30, Width*1.0/Height, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

Я думаю, вся прелесть здесь именно в вызове gluPerspective(30,
Width*1.0/Height, 1.0, 100.0).

Номер выпуска : 3930
Возраст листа : 478 (дней)
Количество подписчиков : 518
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/295791
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 12 Jan 2005 23:24:13 +0500 (#295791)

 

Здравствуйте, Юрчик.

Вы писали 13 января 2005 г., 0:24:13:

Не помогает причем прога реагирует только на два последних параметра,
если они не равны - вообще не рисует ! (( Может проблема в ХР ?

Ответить   Thu, 13 Jan 2005 22:36:16 +0600 (#296528)

 

Привет janalex,

Thursday, January 13, 2005, 7:36:16 PM, вы писали:

Давайте все свои проблемы и ошибки приписывать Microsoft!!!

Афоризм напоследок: Истинную цену живого человеческого общения по-настоящему
понимаешь, только глядя на счета от провайдера.
14 января 2005 г. 7:58:11

Просто студент
Eugene mailto:rav***@o*****.ru

Номер выпуска : 3939
Возраст листа : 480 (дней)
Количество подписчиков : 519
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/296865
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Fri, 14 Jan 2005 07:58:55 +0300 (#296865)

 

Странно, у меня XP, но при этом картинка не искажается при изменении
соотношения сторон окошка... Наверно, я что-то делаю не правильно... А
janalex - как раз правильно? :-)

А если серьезно, то в дельфях же есть стандартные примеры приложений OpenGL,
интересно, если их посмотреть, там тоже искажается? Если нет, то можно
просто сравнить тексты.

Номер выпуска : 3941
Возраст листа : 480 (дней)
Количество подписчиков : 519
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/297077
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Fri, 14 Jan 2005 18:13:20 +0500 (#297077)

 

Здоровеньки булы, Eugene the Monster!

14 января 2005 г., пятница, 09:58:55 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

Ну не все, а только которые решить не могем :)

Вот например прога (тоже с opengl, кстати) на win2k работает без
ошибок, на XP, в том же месте где в win2k все идеально, выдает
division by zero - ну шо це таке, а?

Ответить   Александр Томилов Mon, 17 Jan 2005 22:23:45 +0500 (#299167)

 

Hello, janalex <janal***@n*****.ru>!

On Wed, 12 Jan 2005 23:39:13 +0600 you wrote:

Посмотри инициализацию (или приведи ее код сюда).

Ответить   "B." Wed, 12 Jan 2005 21:15:14 +0300 (#295799)

 

Здравствуйте, B..

Вы писали 13 января 2005 г., 0:15:14:

procedure PixelFormat(dc:HDC; hrc:HGLRC);
var
nPixFormat: integer;
pfd: TPixelFormatDescriptor;
begin
FillChar(pfd, sizeof(pfd), 0);
pfd.nSize:=sizeof(pfd);
pfd.nVersion:=1;
pfd.dwFlags:=PFD_DOUBLEBUFFER+PFD_SUPPORT_OPENGL+PFD_DRAW_TO_WINDOW;
pfd.iPixelType:=PFD_TYPE_RGBA;
pfd.cColorBits:=24;
pfd.cAlphaBits:=64;
pfd.cAccumBits:=64;
pfd.cDepthBits:=32;
pfd.cStencilBits:=64;
pfd.iLayerType:=PFD_MAIN_PLANE;
nPixFormat:=ChoosePixelFormat(dc, @pfd);
if nPixFormat<>0 then
SetPixelFormat(dc, nPixFormat, @pfd);
end;

Эту?

Ответить   Thu, 13 Jan 2005 22:39:05 +0600 (#296530)

 

Здоровеньки булы, janalex!

12 января 2005 г., среда, 22:39:13 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

Супер книженция в эл. виде по opengl - все примеры супер, теории не
много, но все понятно и все разжевано:
Учебник по OpenGL для Delphi
http://ogoncharenko.narod.ru/DelphiMain/Delphi_OpenGL/Introduction/1.htm
если ссылка битая - www.ya.ru

Ответить   Александр Томилов Mon, 17 Jan 2005 22:35:10 +0500 (#299163)