Also ich habs jetzt hingekriegt auf meiner textur rumzumalen. Dies funktioniert aber zZ. nur mit DirectX.
Weiss jemand wie ich das hinkriege, um mit opengl dasselbe zu erreichen?
ich geb hier mal den code:
Code:
typedef irr::video::SColor TSColor;
typedef irr::video::ITexture TITexture;
typedef irr::core::dimension2d<s32> TiDim2D;
...
video::E_DRIVER_TYPE devDriver = video::EDT_OPENGL; //geht mit EDT_DIRECT3Dx
irrDevice=createDevice(devDriver,TiDim2D(800,600),32,false);
videoDriver=irrDevice->getVideoDriver();
TITexture *g_tex=videoDriver->addTexture(TiDim2D(256,192),"Tex1",video::ECF_A8R8G8B8);
void setTexPixel(TITexture *pTex,void *pData,int x, int y,TSColor pColor)
{
if(pTex!=NULL)
{
if(pTex->getColorFormat()==video::ECF_A8R8G8B8)
{
unsigned int *data32 =(unsigned int*) pData;
data32[x+y*pTex->getSize().Width]=pColor.color;
}else{
printf("Unknown color format.\n");
}
}
};
void *tdata=g_tex->lock();
setTexPixel(g_tex,tdata,x,y,TSColor(0,255,255,255)));
g_tex->unlock();
videoDriver->beginScene(true,false,TSColor(0,0,0,200));
videoDriver->draw2DImage(g_tex,TiRect(0,0,800,600),TiRect(0,0,256,192));
videoDriver->endScene();
hoffe da kann mir jemand helfen. Wie Ihr seht, muss ich die textur stretchen, das ist unbedingt nötig....
(sorry wegen der verschiebung, hab da aus versehen im falschen thread gepostet.)