PMG
https://forum.pmg.org.ru/

Инициализация Glut в Delphi
https://forum.pmg.org.ru/viewtopic.php?f=1&t=8028
Страница 1 из 1

Автор:  Willka [ 03 авг 2010 00:58 ]
Заголовок сообщения:  Инициализация Glut в Delphi

Приветствую всех профи и просто читателей этого форума !

Занимаюсь в делфи я OpenGl-ом ну ту пришлось немного разобраться с глутом, а именно с его инициализацией в проектах делфи. В с++ примерах видел кучу примеров на этот счет, но немного с переводом кода между с++ и делфи не срастается и зашел в тупик и не знаю как выбраться из него уже голова кипит


вот в интернете кто-то выложил готовый и рабочий пример в делфи, но у меня почему-то он не работает
Код:
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils, Glut, OpenGL, GL;

var argc: PInteger;
     argv: PPChar;

procedure display;
begin
  glClear(GL_COLOR_BUFFER_BIT);
  glBegin(GL_POINTS);
  glColor3f(0.0,0.0,0.0);
  glVertex2f(0.25,0.25);
  glEnd;
end;

begin
  glutInit(@argc,@argv);
  glutInitDisplayMode(GLUT_SINGLE or GLUT_RGB);
  glutInitWindowSize(240,240);
  glutInitWindowPosition(100,100);
  glutCreateWindow('Test');
  glClearColor(1.0,1.0,1.0,1.0);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  glOrtho(0.0,1.0,0.0,1.0,1.0,1.0);
  glutDisplayFunc(@display);
  glutMainLoop;
  glFlush;
end.


вот в консоль выпрыгивает такая ошибка 00000000 там пишет "не может быть прочитан какой-то процесс с названием 00000000 в какой-то библиотеке с названием 00000000" и вообще непонятно что к чему вот все вот это.

На одном другом форуме жду ответа уже 2 суток никто ничего не ответил до сих пор, но я не думаю что с этой проблемой никто еще до меня не сталкивался... а целый язык учить, можно сказать с нуля, мне тоже не очень охото-это я о с++

помогите разобраться пожалуйста...

Автор:  _Dok_ [ 03 авг 2010 08:09 ]
Заголовок сообщения:  Re: Инициализация Glut в Delphi

Willka писал(а):
uses
SysUtils, Glut, OpenGL, GL;


Я не силён в OpenGL, так занимался когда-то давно... Но ты уверен, что у тебя есть библиотеки, модули Glut и GL ?
Я попытался запустить тот пример, что ты выложил, и он именно ругается, что не может найти Glut.dcu и GL.dcu.

Автор:  Willka [ 04 авг 2010 01:48 ]
Заголовок сообщения:  Re: Инициализация Glut в Delphi

_Dok_ писал(а):
Willka писал(а):
uses
SysUtils, Glut, OpenGL, GL;


Я не силён в OpenGL, так занимался когда-то давно... Но ты уверен, что у тебя есть библиотеки, модули Glut и GL ?
Я попытался запустить тот пример, что ты выложил, и он именно ругается, что не может найти Glut.dcu и GL.dcu.


Естественно есть, я не такой уж и баран, извиняюсь конечно, за такое, но ...

скачай с инета файлы: Glut.pas, GL.pas и закинь их в папку lib твоего делфи и проcто можешь в пустой проект написать Glut, GL в разделе uses и тупо скомпилировать, в папке lib появятся 2 новых файла .dcu

дело тут в чем то другом... вот в с, с++ и даже паскале этот код работает как надо, а делфи это немного усовершенствованная версия паскаля... насколько я это так понимаю, так что и тут должно работать :)

Автор:  _Dok_ [ 04 авг 2010 08:23 ]
Заголовок сообщения:  Re: Инициализация Glut в Delphi

Цитата:
Естественно есть, я не такой уж и баран, извиняюсь конечно, за такое, но ...

Я это и не утверждаю :)
Я качать и смотреть небуду. Могу ещё посоветовать посмотреть книжку Краснова "Delphi и OpenGL" как так называется, или самое простое это Фленов "Библия Delphi", там есть и примеры и всё.

Автор:  MagicWolf [ 04 авг 2010 19:49 ]
Заголовок сообщения:  Re: Инициализация Glut в Delphi

Попробуй http://nehe.gamedev.net/data/lessons/de ... sson01.zip - будет работать?

http://www.codenet.ru/progr/opengl/delphi/
http://www.delphigl.com/
viewtopic.php?f=1&t=136

Автор:  Dion [ 10 сен 2010 22:41 ]
Заголовок сообщения:  Re: Инициализация Glut в Delphi

[quote="Willka"]

Если ветка актуальна, то у тебя есть четыре ошибки.
Код:
var argc: Integer;
     argv: PChar;


Код:
procedure display;
begin
  glutSwapBuffers;
end;


Код:
  Argc:= 1;
  Argv:= pchar('GlutWindow.exe');
  glutInit(@argc,@argv);
  glutInitDisplayMode(GLUT_SINGLE or GLUT_RGB);
  glutInitWindowSize(240,240);
  glutInitWindowPosition(100,100);
  glutCreateWindow('Test');
  glutDisplayFunc(@display);
  glutMainLoop; [b]// это бесконечный цикл. [/b]


gl - не инициализирован, чтобы с ним работать.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/