|
各位高手朋友,我现在在学习lights,在读D3D的源代码时,碰到了几个问题,因是新手,幼稚问题请间量!
1,演示是一个什么几何图形呢?是个中空的圆柱体吧!
if( FAILED( g_pd3dDevice->CreateVertexBuffer( 50*2*sizeof(CUSTOMVERTEX)....),是不是定义了100个顶点呢?
用了法线绘制对象吗?说实在的,我看不懂这段代码!:
for( DWORD i=0; i<50; i++ )
{
FLOAT theta = (2*D3DX_PI*i)/(50-1);
pVertices[2*i+0].position = D3DXVECTOR3( sinf(theta),-1.0f, cosf(theta) );
pVertices[2*i+0].normal = D3DXVECTOR3( sinf(theta), 0.0f, cosf(theta) );
pVertices[2*i+1].position = D3DXVECTOR3( sinf(theta), 1.0f, cosf(theta) );
pVertices[2*i+1].normal = D3DXVECTOR3( sinf(theta), 0.0f, cosf(theta) );
}
可以讲讲吗?我很笨的 !唉!
2, D3DXMatrixIdentity( &matWorld );这个函数是什么意思?E文的,我没太看明白!请教中.....
3, vecDir = D3DXVECTOR3(cosf(timeGetTime()/350.0f),
1.0f,
sinf(timeGetTime()/350.0f) );
这是个定义光的方向的代码,还是矢量的问题!想不明白!请教中.......
4,mtrl.Diffuse.b = mtrl.Ambient.b = 0.0f;这是定义材质的一个代码,它=环境光?整个的运行效果是黄色的光!我该了平行光的值,效果颜色也变了!改变材质的颜色也改变,我想知道例子的光效到底是哪个占主导啊?(平行,材质)为什么我将它们设置了两种颜色,但在运行效果中不能看到两种颜色呢?
好象都是初级问题!唉,但对我就很难了!
[em17] [em17] [em17] |
|