Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: 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 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.021 c
7-11502
VetMIg
2002-08-30 01:59
2002.11.04
Модальные окна


7-11512
root87
2002-08-23 13:55
2002.11.04
администрирование удалённого компьютера


3-11123
Dr. Well
2002-10-16 16:30
2002.11.04
Сумма в QReport


14-11487
Ketmar
2002-10-16 16:36
2002.11.04
господа, а есть среди вас любители игрушки Elite?


3-11064
Chak
2002-10-14 16:09
2002.11.04
MSSQL==>ORACLE