(라인 그리기) ID3DXLine
핵심 :
ID3DXLine* ILine;
D3DXCreateLine( pd3dDevice, &ILine );
ILine->DrawTransform( D3DXVECTOR3*, 1, &matWorld, color );
ILine->DrawTransform( D3DXVECTOR3*, 2, &matWorld, color );
=================================================================================
ID3DXLine* ILine; // 라인 그리기 설정
D3DXMATRIX matWorld, matView, matProj;
D3DXMATRIX matWorld, matView, matProj;
pd3dDevice->GetTransform(D3DTS_VIEW, &matView ); // 뷰 포트 설정
pd3dDevice->GetTransform(D3DTS_PROJECTION, &matProj ); // 프로젝션 설정
matWorld = matView *matProj; // 월드는 뷰 포트 * 프로젝션
D3DXCreateLine( pd3dDevice, &ILine ); // Render 라인 생성
ILine->SetWidth( 6.8f ); // 라인 굵기 설정
ILine->SetAntialias( TRUE ); // Anti 설정 ( 잘 모름 )
ILine->Begin(); // 라인 그리기 시작
// 그릴 라인 첫번째 좌표 설정
const D3DXVECTOR3 vLine1( m_LINE[m_nLineWin].fX[i], m_LINE[m_nLineWin].fY[i], m_LINE[m_nLineWin].fZ );
ILine->SetWidth( 6.8f ); // 라인 굵기 설정
ILine->SetAntialias( TRUE ); // Anti 설정 ( 잘 모름 )
ILine->Begin(); // 라인 그리기 시작
// 그릴 라인 첫번째 좌표 설정
const D3DXVECTOR3 vLine1( m_LINE[m_nLineWin].fX[i], m_LINE[m_nLineWin].fY[i], m_LINE[m_nLineWin].fZ );
// 그릴 라인 두번째 좌표 설정
const D3DXVECTOR3 vLine2(m_LINE[m_nLineWin].fX[i+1], m_LINE[m_nLineWin].fY[i+1], m_LINE[m_nLineWin].fZ);
const D3DXVECTOR3 vLine2(m_LINE[m_nLineWin].fX[i+1], m_LINE[m_nLineWin].fY[i+1], m_LINE[m_nLineWin].fZ);
ILine->DrawTransform( &vLine1, 1, &matWorld, m_LINE[m_nLineWin].color ); // 천번째 좌표 라인 설정
ILine->DrawTransform( &vLine2, 2, &matWorld, m_LINE[m_nLineWin].color ); // 두번째 좌표 라인 설정
ILine->DrawTransform( &vLine2, 2, &matWorld, m_LINE[m_nLineWin].color ); // 두번째 좌표 라인 설정
// 둘이 연결 되어서 라인이 된다.
ILine->End(); // 라인 그리기 종료
ILine->Release(); // 라인 해제
ILine->Release(); // 라인 해제
=================================================================================
- 라인 그리기 및 라인 굵기 설정을 할 수 있다.
- 주의 사항 :
라인 생성을 계속 생성 하고 계속 해제 하는 방식으로 만들어야 한다.
라인 자체 존재가 일회용성 식으로 사용. 클래스 멤버 변수로 선언해 사용할수 없다.
'[ Programing ] > DirtectX9' 카테고리의 다른 글
레지스터와 셰이더 (0) | 2010.06.01 |
---|---|
[해당 영역만 화면 출력 시키기] pd3dDevice->SetRenderState(); pd3dDevice->SetScissorRect(); (0) | 2010.01.31 |
3D 피킹 (2) | 2010.01.29 |
[ 기초 ] 이동 (0) | 2009.12.24 |
[ 기초 ] 텍스쳐 생성 (0) | 2009.12.24 |