Главная страница
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.02 c
1-11238
Dankin
2002-10-25 02:37
2002.11.04
Подскажите плз. Как подкрасить числа на календаре, несколько штук


6-11373
JohnBurg
2002-09-04 11:50
2002.11.04
Не пойму почему вылетает ошибка


14-11482
Opuhshii
2002-10-14 08:40
2002.11.04
A-a-a-a-a-а (крик души), Cranberry,


6-11368
Eldar
2002-09-02 14:47
2002.11.04
Вход в сеть


6-11361
singledai
2002-07-23 15:35
2002.11.04
Отправка почты