|
|

楼主 |
发表于 2007-3-14 01:43:00
|
显示全部楼层
Re: 急救--D3D Shader 问题,大虾赐教!!
1, 我 定义了
enum{ FVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1};
格式的 定点
2, 创建了 4个 定点
if( FAILED( C3DBase::s_lpD3DDev->CreateVertexBuffer( 4 * sizeof(VERTEX_WATERQUAD),0 , 0, D3DPOOL_MANAGED, &m_pVertexBuff, NULL ) ) )
return FALSE;
3, 从 内存 创建 SHADER
DWORD dwShaderFlags = D3DXFX_NOT_CLONEABLE;
if( FAILED( D3DXCreateEffect( m_pDev, pData, nSize, NULL, NULL,dwShaderFlags, NULL, &pFX->pShader, NULL ) ) )
return NULL;
4, 渲染
和D3D 例子类似
5, FX
void VS_ConstantsInstancing( float4 vPos : POSITION,
float3 vNormal : NORMAL,
float2 vTex0 : TEXCOORD0,
out float4 oPos : POSITION,
out float4 oColor : COLOR0,
out float2 oTex0 : TEXCOORD0 )
{
oPos = mul( vPos, g_mWorld );
oPos = mul( vPos, g_mView );
oPos = mul( oPos, g_mProj );
oTex0 = vTex0;
oColor.r = 255;
oColor.g = 0.5;
oColor.b = 255;
oColor.a = 255;
}
|
|