PDA

View Full Version : دو مشکل برای یک line



saffari2005
چهارشنبه 12 مرداد 1384, 18:45 عصر
سلام

کد زیر رو داریم برای رسم خط :


D3DXVECTOR3* VTmp1 = new D3DXVECTOR3[ 2 ];
LPD3DXLINE pocLine;

VTmp1[ 0 ] = D3DXVECTOR3( 0, 0, 0 );
VTmp1[ 1 ] = D3DXVECTOR3( 1, 0, 0 );

D3DXCreateLine( pocDevice, &pocLine );

D3DXMATRIX matTrans;

D3DXMatrixIdentity( &matTrans);
pocLine -> Begin();
{
pocLine -> DrawTransform( VTmp1, 2, &matTrans, D3DCOLOR_COLORVALUE (100.0f,0.0f,0.0f,1.0f) );
}
pocLine -> End();
}


اما مشکلات:
1) مبدا محورهای مختصات رو در مرکز ویندو در نظر می گیره که برای حل اون از کد زیر استفاده کردم اما کار نمیکنه!


D3DXMatrixOrthoOffCenterLH(&oOrtho, 0.0f,Width, -Height, 0.0f, 0.0f, 1.0f);
pocD3DDevice->SetTransform( D3DTS_PROJECTION, &oOrtho );

2)محور ها در چهار جهت یک واحدی هستند یعنی کد ذکر شده که باید خطی از (0,0) تا (0و1) بکشد این خط را از مبدا تا منتها الیه سمت راست ویندو رسم میکند.در واقع یک محور یکانیست.
و 1 بزرگترین عدد مثبت روی محور x هاست و نیز در سایر حهات.
لطفا راهنمایی کنید.
ممنون.