Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2013, 20:19   #11
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Наверное, я неправильно поставил вопрос. Я хочу сначала научиться работать с графикой. Ещё ни разу не работал ни OpenGL, ни с DirectX. Только краем уха про них слышал, но никогда не совался. Сейчас вот сижу, изучаю OpenGL, читаю, пишу класс для закрепления изученного. До игр мне ещё далековато ))))
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 15.10.2013, 20:38   #12
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Ну-у-у, э-э-э, там кагбэ компилируешь и... играешь. Когда надоест -- лезешь в код, ставишь бряки. Играешь до бряка, смотришь. Ничего не понимаешь. Читаешь в книжке.

Всё наоборот, короче.

P. S. Мне, наверное, трудно судить, поскольку сам разработкой игр не занимался. Но после чтения вводной по OpenGL стал бы копаться в примерах именно таким способом.
Vapaamies вне форума Ответить с цитированием
Старый 16.10.2013, 00:39   #13
cyberdev
Форумчанин
 
Аватар для cyberdev
 
Регистрация: 10.10.2013
Сообщений: 150
По умолчанию

Цитата:
Ещё, подскажите, пожалуйста. А какой лучше заголовочный файл использовать: dglOpenGL или OpenGL ?
Для изучения API вполне можно использовать OpenGL.pas (он идет в стандартной поставке Делфи). Вот тут http://cybersite.ucoz.net/blog/opengl_api/1-0-2 собраны уроки OpenGL для начинающих и не только. Советую начать вот с этих уроков:
http://cybersite.ucoz.net/blog/znako.../2013-07-05-15
http://cybersite.ucoz.net/blog/init_.../2013-07-05-16
http://cybersite.ucoz.net/blog/podgo.../2013-07-31-21
Да и остальные мануалы тоже рекомендую прочитать.

Если что-то будет не ясно, спрашивайте в комментариях или здесь.
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
cyberdev вне форума Ответить с цитированием
Старый 16.10.2013, 12:03   #14
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Да, уроки хорошие. Правда, тиснутые с других сайтов )))

У меня вот такой вопрос ещё появился. Написал простенький потомок TCustomPanel, на котором с помощью opengl рисуется скажем линия, которая потом уменьшается по таймеру. Всё вроде работает, но...Когда я кидаю на форму вторую копию компонента - они начинают конфликтовать между собой. То есть получается, что у одного класса общие переменные в модуле dglOpenGL. Неужели на форме нельзя запустить несколько портов вывода графики?

Код:
unit GL;

interface

uses
 windows, classes, ExtCtrls, dglOpenGL, controls;

type
 TGL = class(TCustomPanel)
  private
    dc : HDC;
    hrc : HGLRC;
    FTimer:Ttimer;
    FInterval:longInt;
    procedure SetupGL;
    Procedure OnDraw(Sender:TObject);
    procedure PnResize(Sender: TObject);
  public
    constructor Create(AOwner: TComponent);override;
    destructor Destroy; override;
  protected
    procedure SetParent(AParent:TWinControl); override;
  end;

procedure Register;   //

const
  NearClipping = 0.1;    //Ближняя плоскость отсечения
  FarClipping  = 200;    //Дальняя плоскость отсечения
  
implementation

{ TGL }

procedure Register;
begin
  RegisterComponents('Andrey Grom Components', [TGL]);
end;

constructor TGL.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);

end;

procedure TGL.SetParent(AParent: TWinControl);
begin
inherited;
if Assigned(AParent) then
 begin      
  dc := GetDC(self.Handle);

  if  not InitOpenGL then exit;

  hrc := CreateRenderingContext(dc,[opDoubleBuffered],32,24,0,0,0,0);
  ActivateRenderingContext(dc,hrc);
  SetupGL;
  Finterval:=1000;
  FTimer:=TTimer.Create(self);
  FTimer.Interval:=Finterval;
  FTimer.OnTimer:=OnDraw;
  Self.OnResize:=PnResize;
 end;
end;

destructor TGL.Destroy;
begin
  inherited destroy;
end;

procedure TGL.SetupGL;
begin
  glClearColor(0.0,0.0,0.0,0.0);
  glEnable(GL_DEPTH_TEST);
  glEnable(GL_CULL_FACE);
  glPointSize(2);
  glEnable(GL_POINT_SMOOTH);
end;

procedure TGL.OnDraw;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glTranslatef(0.5,0.0,-1.0);

glBegin(GL_LINES);
glVertex3f(-1.0,0.0,0.0);
glVertex3f(2.0,0.0,0.0);
glEnd;

SwapBuffers(DC);

end;

procedure TGL.PnResize(Sender: TObject);
begin
glViewport(0,0,ClientWidth,ClientHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
gluPerspective(45.0,ClientWidth/ClientHeight,NearClipping,FarClipping);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
end;

end.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.10.2013, 16:08   #15
cyberdev
Форумчанин
 
Аватар для cyberdev
 
Регистрация: 10.10.2013
Сообщений: 150
По умолчанию

Цитата:
Да, уроки хорошие. Правда, тиснутые с других сайтов )))
Что, правда, скопированные с других сайтов?
Может поделитесь с каких?
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
cyberdev вне форума Ответить с цитированием
Старый 16.10.2013, 16:16   #16
cyberdev
Форумчанин
 
Аватар для cyberdev
 
Регистрация: 10.10.2013
Сообщений: 150
По умолчанию

Цитата:
но...Когда я кидаю на форму вторую копию компонента - они начинают конфликтовать между собой.
Все по тому, что с контекстами работать вы не умеете.
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
cyberdev вне форума Ответить с цитированием
Старый 16.10.2013, 16:17   #17
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Что, правда, скопированные с других сайтов?
Может поделитесь с каких?
Хотя нет, извиняюсь. Я сделал поспешный вывод из-за того, там есть слова, которые подразумевают по собой ссылки, но их таковых нет. Например, скачать исходники
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.10.2013, 16:17   #18
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Все по тому, что с контекстами работать вы не умеете.
Это да (:
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.10.2013, 16:35   #19
cyberdev
Форумчанин
 
Аватар для cyberdev
 
Регистрация: 10.10.2013
Сообщений: 150
По умолчанию

Цитата:
Хотя нет, извиняюсь. Я сделал поспешный вывод из-за того, там есть слова, которые подразумевают по собой ссылки, но их таковых нет. Например, скачать исходники
Если внимательно читать материалы уроков, то исходники не нужны. Их можно сделать, скопировав примеры на страницах. Там весь код с подробными комментариями. Надо только внимательно читать.

А на счет плагиата, то нужно иметь конкретные доказательства, прежде, чем бросать такие обвинения!
Сайт о программировании и трехмерной графике - cybersite.ucoz.net

Последний раз редактировалось cyberdev; 16.10.2013 в 16:59.
cyberdev вне форума Ответить с цитированием
Старый 16.10.2013, 17:07   #20
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
А на счет плагиата, то нужно иметь конкретные доказательства, прежде, чем бросать такие обвинения!
Ну я же извинился, и написал опровержение. Зачем продолжать пинать то?
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игры на Delphi вася радугов Помощь студентам 2 29.11.2011 15:48
биматричные игры (Delphi) Кэт Помощь студентам 0 19.03.2010 19:29
известные игры на delphi Iceman Gamedev - cоздание игр: Unity, OpenGL, DirectX 10 12.02.2010 18:30
Игры на Delphi CyberOrcX Gamedev - cоздание игр: Unity, OpenGL, DirectX 30 22.07.2008 00:31