LPDIRECT3DTEXTURE9 m_pTexture;
D3DXCreateTexture(m_pd3dDevice, width, height, 1, 0, D3DFMT_X8R8G8B8,
D3DPOOL_MANAGED, &m_pTexture);
m_pTexture->LockRect(0, &lockRect, NULL, 0);
unsigned char* pdata = frame.data;
unsigned char* pDstBits = (unsigned char*)lockRect.pBits;
for(int y = 0; y < frame.height; ++y)
for(int x = 0; x < frame.width; ++x)
pDstBits[2] = pdata[0];
pDstBits[1] = pdata[1];
pDstBits[0] = pdata[2];
pDstBits[3] = 255;
pdata += 3;
pDstBits += 4;
m_pTexture->UnlockRect(0);
1、创建一个空纹理,指定大小与纹理格式
2、把纹理的Rect锁定,并填充数据,最后解锁
3、使用该纹理
Di
rect
3D11 的使用通常不是应用程序唯一的部分,于是使用
Di
rect
3D11 的代码如何与其他模块正确地组合在一起就是一个需要解决的问题。
本文介绍将
Di
rect
3D11 在 GPU 中绘制的
纹理
映射到
内存
中,这样我们可以直接观察到此
纹理
是否是正确的,而不用担心是否有其他模块影响了最终的渲染过程。
本文内容SharpDX来自于
Di
rect
3D11 的渲染
纹理
关键代码(SharpDX...
纹理
映射是一种为三角形赋予图像
数据
的技术
在
Di
rect
3D 中一个
纹理
是通过 I
Di
rect
3D
Text
ure9 接口来表示,一个
纹理
是一个像素矩阵的表面被映射到三角形上
二.
纹理
坐标
Di
rect
3D 使用一个
纹理
坐标系统,它是由水平方向的 u轴(向右为正)和竖直方向 v 轴(向下为正)构成
//
纹理
坐标系统表示
struc...
2017.08.29
今天学习了
text
ure的简单的使用,利用将
text
ure画到sprite上来达到更高效的绘图,由于使用的sprite,那么在后面可以对sprite进行平移旋转缩放等操作,这些操作有的在表面上是做不到的。
表面surface的缺点:绘图较慢,不支持透明transparent
所以使用sprite还是比较好的选择
1.加载
纹理
text
ure:
声明
纹理
LP
DI
今天了解一下对Sprite进行矩阵变换
对一个Sprite进行矩阵操作,可以对他一次性的进行平移,旋转,缩放,还是非常犀利的。
我们需要构造一个矩阵,然后设置这个矩阵,最后对Sprite做一个矩阵变换,就能得到想要的效果。
比较重要的变换函数:D3DXMatrixTransformation2D
D3DXMATRIX* WINAPI D3DXMatrixTransf
为何要用nv12 或nv21?
官方解释是方便渲染使用。个人理解 :方便将nv12(DXGI_FORMAT_NV12)或nv21(DXGI_FORMAT_NV21)
数据
放到一个
text
ure中,然后通过shader进行渲染。nv12与nv21区别是u与v的存放空间的位置问题,一个在前一个在后。
下面是msdn中对nv12 aligned 格式的图例描述(y:width,height ;uv:wi...