pisanie w OpenGL

0

Mam taki kod by pisac w OpenGL trzeba bylo takie cos napisac

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,OpenGL,GL,GLU;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
procedure setupPixelFormat(DC:HDC);
procedure Draw;
procedure GLInit;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
procedure setupPixelFormat(DC:HDC);
const
pfd:TPIXELFORMATDESCRIPTOR = (
nSize:sizeof(TPIXELFORMATDESCRIPTOR); // wielkość
nVersion:1; // wersja
dwFlagsFD_SUPPORT_OPENGL or PFD_DRAW_TO_WINDOW or
PFD_DOUBLEBUFFER; // udostępnienie podwójnego buforowania
iPixelTypeFD_TYPE_RGBA; // typ koloru
cColorBits:24; // żądana rozdzielczość koloru
cRedBits:0; cRedShift:0; // bity koloru(ignorowane)
cGreenBits:0; cGreenShift:0;
cBlueBits:0; cBlueShift:0;
cAlphaBits:0; cAlphaShift:0; // wyłączenie buforu alfa
cAccumBits: 0;
cAccumRedBits: 0; // wyłączenie akumulacji bufora
cAccumGreenBits: 0; // akumulowanie bitów (ignorowane)
cAccumBlueBits: 0;
cAccumAlphaBits: 0;
cDepthBits:16; // wielkość bufora
cStencilBits:0; // bez buforu szablonu
cAuxBuffers:0; // bez buforu pomocniczego
iLayerType:PFD_MAIN_PLANE; // główna powłoka
bReserved: 0;
dwLayerMask: 0;
dwVisibleMask: 0;
dwDamageMask: 0; // brak widoczności powłoki, zniszczenie maski
);
var pixelFormat:integer;
begin
pixelFormat := ChoosePixelFormat(DC, @pfd);
if (pixelFormat = 0) then
exit;
if (SetPixelFormat(DC, pixelFormat, @pfd) TRUE) then
exit;
end;

procedure GLInit;
begin
// ustawienie punktu projekcji
glMatrixMode(GL_PROJECTION);
glFrustum(-0.1, 0.1, -0.1, 0.1, 0.3, 25.0);
// punkt obserwacji
glMatrixMode(GL_MODELVIEW);
glEnable(GL_DEPTH_TEST);
end;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var DC:HDC;
RC:HGLRC;
i:integer;
begin
DC:=GetDC(Handle); //Tutaj można stosować dowolną kontrolę okna
SetupPixelFormat(DC);
RC:=wglCreateContext(DC); //tworzy OpenGL okno na zewnątrz DC
wglMakeCurrent(DC, RC); //włączenie OpenGL okna jako aktywnego
GLInit; //inicjalizacja OpenGL
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
Draw;
end;

end.

Czemu to nie chce sie kompilowac?? co mam zle??
Prosze o pomoc
Z gory dziekuje

/Moderator przypomina o istnieniu tagu < delphi >/

0

A może byś tak napisał, JAKI komunikat błędu wyświetla kompilator i w której linii?

0

Ściągnij bibliotekę opengl, wgraj do lib i już :-)
Adres :
http://www.delphi.bajo.pl/download/opengl/komponenty/opengl_pack.zip
:-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1