Блин, ну опять мне нихто не отвечает... 

 ...Хотя я, конечно, глупый вопрос задал... 

. 
Ну и ладно...буду сам с собою правою рукою, вслух разговаривать .. 

 ..
Способ 1). Действительно, чтобы изменить содержание текстуры нужно всего лишь заюзать функции 
glTexImage2d, или 
glTexSubImage2D(предварительно, с помощью glBindTexture, указав текстуру, которую будем менять).
Но - это не совсем то, чего бы хотелось 

.
Способ 2).Так вот оказывается можно су помощью pData:=glMapBufer, указать волшебную переменную pData, в которой и будут валяться данные текстурки...В дальнейшем, как я понимаю можно просто пихать "данные-по_сети-приходящие" в pData и я буду счастлив..
Конечно, перед glMapBufer надо подготовиться, а именно:
- Код: Выделить всё
-  glGenBuffersARB := wglGetProcAddress('glGenBuffersARB');
 glBindBufferARB := wglGetProcAddress('glBindBufferARB');
 glMapBufferARB := wglGetProcAddress('glMapBufferARB');
 glUnmapBufferARB := wglGetProcAddress('glUnmapBufferARB');
 glBufferDataARB := wglGetProcAddress('glBufferDataARB');
 
 glGenBuffersARB(1,@NameBuf);
 glBindBufferARB(GL_PIXEL_UNPACK_BUFFER,NameBuf);
 glBufferDataARB(GL_PIXEL_UNPACK_BUFFER,bi.bmWidth*(bi.bmBitsPixel div 8)*bi.bmHeight,0,GL_STREAM_DRAW);
 p2:=glMapBufferARB(GL_PIXEL_UNPACK_BUFFER,GL_WRITE_ONLY); //Вызываем glMapBufferARB...Приём-приём...Аллё!
 copymemory(p2, p, bi.bmWidth*(bi.bmBitsPixel div 8)*bi.bmHeight);
 glUnmapBufferARB(GL_PIXEL_UNPACK_BUFFER);
 
 ...
 glFlush;
 SwapBuffers(DcPanel); //И ничё на экране не происходит =(
 
В программе участвовали:
                                        NameBuf:GLuint;
                                        p2,p:Pointer; 
                                        DcPanel:HDC;
DcPanle:=getdc(Panel1.handle);
Первый способ у меня получается - второй нет... 
 
 В p точно есть данные из Bmp-картинки.
Кстати, в интернете нашёл тысячу и один способ загрузки в Opengl Bitmap'а. Но они какие-то сложные все для проца. Я вот так вот сделал:
- Код: Выделить всё
- var
 b: TBitmap;
 bi:BITMAP;
 
 Begin
 b := TBitmap.Create;
 b.LoadFromFile('images\Oblogka2.bmp');
 
 //Получаем данные о картинке(нас интересует bi.bmBits - указатель на область памяти, где картинка и находится)
 GetObject(b.handle,Sizeof(BITMAP),@bi);
 //Дальше - рисуем на текстуре. glBindTexture у меня уже вызвана была, так что тут не надо.
 //Говорим Opengl, что строка изображения в памяти должна быть длиной в bi.bmWidth
 glPixelStorei(GL_UNPACK_ROW_LENGTH, bi.bmWidth );
 //Обновляем текстуру
 glTexImage2d(GL_TEXTURE_2D, 0, 3, bi.bmWidth, bi.bmHeight, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, bi.bmBits);
 //Убираем выравнивание
 glPixelStorei(GL_UNPACK_ROW_LENGTH, 0 );
 
 //Прощай - bitmap :'( !
 b.free;
 End;
 
Коротенький - красивый способ... 
 Вопрос :
 Вопрос : этот способ чреват для меня чем-нибудь, кроме картинки "вверх ногами"? Я потом в opengl переворачиваю картинку, довольно просто:
- Код: Выделить всё
-  glBindTexture(GL_TEXTURE_2D, tex1);
 glBegin(GL_QUADS);
 glTexCoord2f(0, 0); glVertex2f(-3, 3);
 glTexCoord2f(0, 1); glVertex2f(-3, -3);
 glTexCoord2f(1, 1); glVertex2f(3, -3);
 glTexCoord2f(1, 0); glVertex2f(3, 3);
 glEnd();
 
И ещё -  glPixelStorei(GL_UNPACK_ROW_LENGTH, bi.bmWidth ); - единственное выравнивание, которое у меня сработало.. 
 Главный вопрос:
 Главный вопрос: пичму может не работать 2 способ (ошибок мне никаких не кажет)...