bitmap to texture,SOS,Help
曾经看DirectX的时候 总是听说,位图就是 纹理,纹理就是位图,可是问题来了,当我在DirectX9里面写代码时,我就是搞不明白,到底 怎么把位图变成纹理?
故在此请教各位大大。
help me 一下吧。
尽管Texture 载入的方法(函数) 确实有很多,可是这些函数到底有什么用?怎么用?
[解决办法]
所以在3D文件里面都需要一个UV,来把位图影射到面上面
[解决办法]
Texture *pTexture = NULL;D3DXCreateTextureFromFile(Device, "you_pic.bmp", &pTexture);
[解决办法]
三角形的三个顶点有纹理坐标和屏幕坐标(最后计算出来的)。D3D会计算两条边的梯度值(每个像素变化多少纹理像素),通过插值计算出两条边上的所有点纹理值。然后根据水平线两端的点的纹理坐标,再计算出水平梯度值,然后插值水平线,以至于得出整个三角形所有像素的纹理值。
[解决办法]
这是底层的实现,一般写引擎才会用到。不写的话,不用在意。
[解决办法]
忘了,d3d已经实现话三角形了。这样说的话,写自己引擎也不用写怎么进行纹理映射的。写d3d的那些人已经写好了。
[解决办法]
最好用这个,否则默认很可能给你来点纹理过滤,导致纹理模糊。
LPDIRECT3DTEXTURE9 pTex=NULL;
D3DXCreateTextureFromFileEx( pDevice,"xxx.bmp",D3DX_DEFAULT,D3DX_DEFAULT,NULL,NULL,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,D3DX_FILTER_NONE,D3DX_FILTER_NONE,0,NULL,NULL, &pTex );