Hallo Freunde...
Brauch wiedermal dringen eure Hilfe. Folgendes:
Ich mach grad ein
OpenGL Buch durch und da habe ich probleme bei einem kleinen Beispielprogramm.
Und zwar habe ich das Programm sogar von der Source CD kopiert und des geht auch net.
Im Buch steht: "For
OpenGL bitmaps on some versions of Windows you may need to use 4 for double-word alignment. (in glPixelStorei)"
Aber das bringt auch nichts.
Das gewünschte Ergebnis wäre ein Kariertes "Bild" auf dem Display.
Leider passiert gar nichts, nur die Hintergrundfarbe ist Blau wies sein soll.
Code:
Delphi-Quellcode:
implementation
{$R *.DFM}
type
TBitRow=array[0..7] of byte;
TCheckerBoard=array[0..63] of TBitRow;
var
CheckerBoard: TCheckerBoard;
procedure MakeCheckerBoard;
var
col,
row: integer;
square,
start: byte;
begin
fillchar(CheckerBoard,SizeOf(CheckerBoard),0);
start := 0; {black}
for row := 0 to 63 do
begin
if row mod 8 = 0 then
start := not start; {alternate $00 $FF}
square := start;
for col := 0 to 7 do
begin
square := not square;
CheckerBoard[row,col] := square;
end; {for}
end; {for}
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
MakeCheckerBoard;
GlColor3f(0.6,0.1,0.3);
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glRasterPos3f(+0.0,+0.0,-2.0);
glBitmap(64,64,0,0,0,0,@CheckerBoard);
glFlush;
OpenGL1.ErrorCheck('FormPaint');
end;
Hat jemand eine Idee?