none
DirectX쓰면서 RRS feed

  • 질문

  • DirectX에서 Texture를 이용하여 사각형을 그리고 싶었지만 실패했습니다...

    물론 Line이 아닌 Texture을 비게 만들어서 거기에 넣어서 2d 사각형을 드로우 하는 형식이었는데..

    D3DXCreateTexture을 이용했었습니다.. 안되더군요..

    그래서 이미지를 Scalling 해보려고 했습니다. 사각형 그림을 띄워서 그림을 키우는거지요..

    Scalling은 잘됬습니다. 하지만.. position의 문제가 나오더라구요...

    왜 그런 걸까요??

    D3DXMATRIX matMatrix;
    D3DXVECTOR2 Scaling;

    Scaling.x = ScaleX;
    Scaling.y = ScaleY;

    D3DXMatrixIdentity(&matMatrix);
    D3DXMatrixTransformation2D(&matMatrix, NULL, 0, &Scaling, NULL, 0.0f, NULL);
    m_pSprite->SetTransform(&matMatrix);
    D3DXVECTOR3 position((float)x, (float)y, 0.0f);
    m_pSprite->Draw(Texture, rect, NULL, &position, D3DCOLOR_RGBA(255, 255, 255, Alpha));

    스케일링은 이런식으로 했습니다. 원하는 위치가 아닌 스켈 추가된 위치에 되더라구요..

    질문 요약..

    1. Texture를 이용하여 사각형을 그리는 방법

    (+추가 이방법은 빈 Texture를 생성하고 그곳을 Sprite->Draw해서 Draw색깔을 바꿔주는 방법을 써보았지만

    실패하였습니다.

    2. Scalling시 position을 정한 위치에 그리는 방법

    (+추가 Scalling은 여러가지를 해보았습니다만..

    D3DX에서 지원하는 Scalling 함수도 써보았고

    Matrix를 바꾸어서 키우는 Matrix._11 Matrix._22 이런방식도 해보았지만 전부 실패였습니다.

    2015년 2월 12일 목요일 오후 1:53