Вниз
Скачать: CL | DM;

OpenGL тексу в TBitmap ???   Найти похожие ветки 

 
Slatazan   (2002-07-06 05:19) [0]

Мне нужэн кусок кода для Дэлфи-5...
Я делаю мини-прогу (бесплатную) - OpenGL рисует мне сцэну и запоминает ее как текстуру ..
(Исходники у меня от JAN HORN - он кажэца умер, но я думаю не-обидеца - прогу делаю не-ради-денег)
//(RenderedTex это Кардинал 4байта - это что-то типа адреса что-ли сохраняеца)
glBindTexture(GL_TEXTURE_2D, RenderedTex);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, 256, 256, 0);

*
*GetMem(pData, 256*256*3); //это типа временый буфер
*
* glGenTextures(1, RenderedTex); //ЗАЧЕМ ЭТА ФИГНЯ
* //неужто здесь Адрес выдают ...
*
* glBindTexture(GL_TEXTURE_2D, RenderedTex); //тексу на кисть
*

Вобшем мне нужно ТЕКСУ которую сделал OpenGL перегнать в TBitmap - как в Фотошопе - есть много слоев - нужно чтобы каждый слой имел микро-фото этого слоя - так удобней авторам в работе.


 
Slatazan   (2002-07-10 04:17) [1]

var x, y, n: integer;
color: cardinal;
ibyte: byte;
xRect: TRect;

begin

//заБиндить нужную тексу, если надо

glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_UNSIGNED_BYTE, pTexBitmap); // pTexBitmap: pByteArray; ранее GetMem сколько надо...

Bitmap1.Width := 256; Bitmap1.Height := 256; //такая текса была

n := 0;
for y := 255 downto 0 do begin
for x := 0 to 255 do begin

ibyte := pTexBitmap[n]; n := n + 1;
color := ibyte;
ibyte := pTexBitmap[n]; n := n + 1;
color := color + ibyte*256;
ibyte := pTexBitmap[n]; n := n + 1;
color := color + ibyte*65536;

Bitmap1.Canvas.Pixels[x,y] := color; //TColor это cardinal
end;
end;

end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
3-11081
DeepProg
2002-10-12 13:31
2002.11.04
can t do operation with opened DataSet


1-11301
Higs
2002-10-23 12:53
2002.11.04
Перерисовка Child-формы


1-11323
John Magic
2002-10-24 08:30
2002.11.04
Временное окно


1-11265
SanyaLaz
2002-10-23 11:16
2002.11.04
Помогите !!!!!!!!


3-11120
Smashich
2002-10-16 12:31
2002.11.04
DELPHI + ADO +MySQL




   Наверх