Главная страница
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
14-11474
Ketmar
2002-10-13 13:10
2002.11.04
заколебал WinWord своими глюками!


1-11229
deffer
2002-10-24 18:10
2002.11.04
delphi отказывает в приведении типа. Почему?


1-11230
Vikuksa
2002-10-25 10:27
2002.11.04
Проблемы с памятью


1-11309
LongIsland
2002-10-23 14:35
2002.11.04
Перерисовка формы


1-11141
Mr.D!
2002-10-24 01:25
2002.11.04
То ли ReadLn не ридит, то ли ListBox не листит. Или одно из семи?