![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Jonson |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите чайнику разобраться с Opengl ???
Вот постейший код: unit Unit1;
interface
uses
Windows, Classes, Opengl, Forms;
type
TForm1 = class(TForm)
procedure FormPaint(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject);
begin
glBegin (GL_POINTS);
glvertex2f(0,0);
glEnd;
end;
end.
Все компилируется нормально, но точка не рисуется :'(. Мож что нибуть ещё дописать надо? Помогите, плиз!!! Сообщение отредактировано: volvo - 5.04.2010 14:41 |
nollie |
![]()
Сообщение
#2
|
Гость ![]() |
поищи файл glu32.dll в винде...
может его просто нет и система не поддерживает opengl. |
trminator |
![]()
Сообщение
#3
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата поищи файл glu32.dll в винде... может его просто нет и система не поддерживает opengl. Тогда бы и не откомпилировалось даже. ЗЫ лично я в OpenGL вообще не шарю, но у меня это тоже компилируется, но никаких точек не наблюдается. -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Jonson |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 37 Репутация: ![]() ![]() ![]() |
Фаил то есть нужна процедура на контекст воспроизвединия или чёто такое ???
-------------------- Лутший язык тот, которым владееш в совершенстве.
|
AGR |
![]()
Сообщение
#5
|
Гость ![]() |
Первый раз криво получилось а править без регистрации не дает... так что еще раз тоже самое
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OpenGL;
type
TfrmGL = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
hrc: HGLRC;
end;
var
frmGL: TfrmGL;
implementation
{$R *.DFM}
{=======================================================================
procedure TfrmGL.FormPaint(Sender: TObject);
begin
wglMakeCurrent(Canvas.Handle, hrc);
glViewPort (0, 0, ClientWidth, ClientHeight);
glClearColor (0.5, 0.5, 0.75, 1.0);
glClear (GL_COLOR_BUFFER_BIT);
glPointSize (20);
glColor3f (1.0, 0.0, 0.5);
glBegin (GL_POINTS);
glVertex2f (-1, -1);
glVertex2f (-1, 1);
glVertex2f (0, 0);
glVertex2f (1, -1);
glVertex2f (1, 1);
glEnd;
SwapBuffers(Canvas.Handle);
wglMakeCurrent(0, 0);
end;
{=======================================================================
procedure SetDCPixelFormat (hdc : HDC);
var
pfd : TPixelFormatDescriptor;
nPixelFormat : Integer;
begin
FillChar (pfd, SizeOf (pfd), 0);
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
nPixelFormat := ChoosePixelFormat (hdc, @pfd);
SetPixelFormat (hdc, nPixelFormat, @pfd);
end;
{=======================================================================
procedure TfrmGL.FormCreate(Sender: TObject);
begin
SetDCPixelFormat(Canvas.Handle);
hrc := wglCreateContext(Canvas.Handle);
end;
{=======================================================================
procedure TfrmGL.FormDestroy(Sender: TObject);
begin
wglDeleteContext(hrc);
end;
end.
|
trminator |
![]()
Сообщение
#6
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если ему уже и неинтересно, то мне интересно +) Спасибо!
-------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 15:42 |