DIRECTX ALPHA融合问题

lengyuefengyun 2011-07-22 10:04:16
我想画两个正方形 然后呢 填充颜色 然后融合 我想问的是 填充颜色 必须用图片吗 自行建立的不行吗 自行建立的是纹理还是材质呢? 本人新手 可能问题比较简单粗糙 求进步 求进步 请大神解答 急 加急 后面会副上代码 我的版本DX SAMPLE BROWSER 这是啥版本啊 不明白~~ bool setup()这函数都不叫用 难道是要自己定义 。。。来自一个想进步的小菜鸟 请大神指导!!!!!!!!!!


程序很长回复不全 有愿意加我的 加我QQ好了 383919203 渴望您的帮助
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2011-07-22
  • 打赏
  • 举报
回复
lengyuefengyun 2011-07-22
  • 打赏
  • 举报
回复
/-----------------------------------------------------------------------------
// Desc: 在此创建管理内存资源对象
//-----------------------------------------------------------------------------
HRESULT CALLBACK OnCreateDevice( IDirect3DDevice9* pd3dDevice,
const D3DSURFACE_DESC* pBackBufferSurfaceDesc,
void* pUserContext )
{
HRESULT hr;

V_RETURN( g_DialogResourceManager.OnCreateDevice( pd3dDevice ) );
V_RETURN( g_SettingsDlg.OnCreateDevice( pd3dDevice ) );

//创建字体
V_RETURN( D3DXCreateFont( pd3dDevice, 15, 0, FW_BOLD, 1, FALSE, DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE,
L"Arial", &g_pFont ) );
//***************************************************************************顶点填充
CUSTOMVERTEX1 vertices[]=
{
{ 2.0f , 2.0f, -1.0f},//1.0f,1.0f,1.0f,1.0f},//,0xffaaaa00}, //
{ 2.0f, 4.0f, -1.0f},//1.0f,1.0f,1.0f,1.0f},//,0xffaaaa00},//
{ 4.0f, 2.0f, -1.0f},//1.0f,1.0f,1.0f,1.0f},//,0xffaaaa00},//
{ 4.0f, 4.0f, -1.0f},//1.0f,1.0f,1.0f,1.0f},//,0xffaaaa00},//
};

if (FAILED(pd3dDevice->CreateVertexBuffer(4*sizeof(CUSTOMVERTEX1),0,D3DFVF_CUSTOMVERTEX,D3DPOOL_DEFAULT,&g_pVB,NULL))//**//
{
return E_FAIL;
}
VOID* pVertices;
if(FAILED(g_pVB->Lock(0,sizeof(vertices),(void**)&pVertices,0)))
return E_FAIL;
memcpy(pVertices,vertices,sizeof(vertices));
g_pVB->Unlock();;


if( FAILED( pd3dDevice->CreateIndexBuffer( 6*sizeof(WORD),
0, D3DFMT_INDEX16,
D3DPOOL_DEFAULT, &g_pIB,NULL ) ) )
{
return E_FAIL;
}
VOID* pIndices;
if( FAILED( g_pIB->Lock( 0, sizeof(g_Indices), (void**)&pIndices, 0 ) ) )
return E_FAIL;
memcpy( pIndices, g_Indices, sizeof(g_Indices) );
g_pIB->Unlock();
////////////////////////////////////////////////////////
lengyuefengyun 2011-07-22
  • 打赏
  • 举报
回复
struct CUSTOMVERTEX1
{
FLOAT x,y,z;
float tu, tv;

static const DWORD color;
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ| D3DFVF_TEX1)|D3DFVF_DIFFUSE)
struct CUSTOMVERTEX2
{
FLOAT x,y,z;
float tu, tv;

static const DWORD color;//静态常量
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ| D3DFVF_TEX1)|D3DFVF_DIFFUSE)
//---------------------------------------------------------------------------
lengyuefengyun 2011-07-22
  • 打赏
  • 举报
回复

//-----------------------------------------------------------------------------
// 全局变量
//-----------------------------------------------------------------------------
ID3DXFont* g_pFont = NULL; //ID3DXFont字体对象
ID3DXSprite* g_pTextSprite = NULL; //ID3DXSprite文本精灵对象
bool g_bShowHelp = true; //标识是否显示简单说明文本

CDXUTDialogResourceManager g_DialogResourceManager; //对话框资源管理器
CD3DSettingsDlg g_SettingsDlg; //Direct3D设备设置对话框
CDXUTDialog g_HUD; //对话框
CDXUTDialog g_SampleUI; //对话框
CFirstPersonCamera g_Camera; // 第一人称摄像机
CDXUTMesh g_pMesh; //网格模型对象
CDXUTMesh g_pMesh1;
LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;//顶点缓存区的的接口指针
LPDIRECT3DVERTEXBUFFER9 g_pVB1 = NULL;
int i=1;
ID3DXMesh* vertices=0;//小正方形
D3DMATERIAL9 BkGndMtrl;//材质


IDirect3DVertexBuffer9* BkGndQuad=0;
IDirect3DTexture9* BkGndTex=0;
D3DMATERIAL9 BkGndMtrl1;//大正方形

LPDIRECT3DINDEXBUFFER9 g_pIB = NULL;
LPDIRECT3DINDEXBUFFER9 g_pIB1 = NULL;
WORD g_Indices[] ={0,1,2,3,2,1};
WORD g_Indices1[] ={0,1,2,3,2,1};

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧