关于DirectX 新版中 2D绘图解决思路
关于DirectX 新版中 2D绘图
我主要是做视频渲染,所以不需要什么3D功能,老版本的都是用DirectDraw,但是新版的DirectX已经建议使用了(虽然老的程序还能跑)。
以前的DirectDraw的功能,新的DirectX是通过什么实现的?
我需要的是一些关键的接口名,类名,流程。以便查资料的时候有个入口点。
------解决方案--------------------
关键是要设置 正交投影:
pDevice->SetRenderState(D3DRS_LOCALVIEWER,FALSE);//正交投影
D3DXMatrixOrthoOffCenterLH( &View,
Camera3D->Cam[3]-Camera3D->Cam[0],Camera3D->Cam[3]+Camera3D->Cam[0],
Camera3D->Cam[4]-Camera3D->Cam[1], Camera3D->Cam[4]+Camera3D->Cam[1],
Frustum3D.z1, Frustum3D.z2 );
pDevice->SetTransform( D3DTS_VIEW, &View );
2D图像用公告牌的方式纹理贴图。
我主要是做视频渲染,所以不需要什么3D功能,老版本的都是用DirectDraw,但是新版的DirectX已经建议使用了(虽然老的程序还能跑)。
以前的DirectDraw的功能,新的DirectX是通过什么实现的?
我需要的是一些关键的接口名,类名,流程。以便查资料的时候有个入口点。
------解决方案--------------------
关键是要设置 正交投影:
pDevice->SetRenderState(D3DRS_LOCALVIEWER,FALSE);//正交投影
D3DXMatrixOrthoOffCenterLH( &View,
Camera3D->Cam[3]-Camera3D->Cam[0],Camera3D->Cam[3]+Camera3D->Cam[0],
Camera3D->Cam[4]-Camera3D->Cam[1], Camera3D->Cam[4]+Camera3D->Cam[1],
Frustum3D.z1, Frustum3D.z2 );
pDevice->SetTransform( D3DTS_VIEW, &View );
2D图像用公告牌的方式纹理贴图。