Opengl, Readpixels

  • Автор темы Victor1963
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

Victor1963

#1
Как перебрать каждый пиксель по цвету в glReadPixels, что-бы использовать всю, ниже показанною, логику в glReadPixels или есть что-то другое покажите. В Delphi . Вопросы по
victor180663@mail.ru


l:=0;
k1:count:=0;
k2:x:=500;
y:=300;
m:=0;
ang:=6.28218;
for r:=102 downto {93}1 do
begin
c:=bmCanvas.Pixels[round(x+r*cos(6.28318)),round(y+r*sin(6.28318))];
if c=clBlack then
begin
m:=r;
bmCanvas.Pixels[round(x+r*cos(6.28318)),round(y+r*sin(6.28318))]:=clWhite;
end;
end;
While ang>(0.01) do
begin
for r:={50}1 to 105 do
begin
c:=bmCanvas.Pixels[round(x+r*cos(ang)),round(y+r*sin(ang))];
if c=clBlack then
begin
bmCanvasPixels[round(x+r*cos(ang+0.01)),round(y+r*sin(ang+0.01))]:=clBlack;
bmCanvasPixels[round(x+r*cos(ang)),round(y+r*sin(ang))]:=clWhite;
end;
end;
ang:=ang-{0.01}0.0001;
end;
bmCanvasPixels[round(x+m*cos(6.28318+0.01)),round(y+m*sin(6.28318+0.01))]:=clBla
ck;//Установка первой точки по час.
begin
for x:=605 downto {593}501 do
begin
c:=mas1[x,300];
if (c=clBlack) and (x>=l) then
begin
l:=x;
goto k1;
end;
end;
count:=count+1;
if count<5 then
begin
goto k2;
end
else
begin
goto k3;
end;
end;
k3:count1:=0;
ListBox1.Items.Add('Финиш');
OperEnd:=DateTimeToTimeStamp(Now);
Total:=OperEnd.Time-OperBegin.Time;
ListBox1.Items.Add(IntToStr(Total)+' MSec');
bm.SaveToFile('c:\Program Files\Borland\Delphi6\Projects\FormImage.bmp');

end;
 
Статус
Закрыто для дальнейших ответов.