Một câu hỏi về Direct3D.

Thảo luận trong 'Game Development' bắt đầu bởi lamtacla, 27/2/06.

  1. lamtacla

    lamtacla Donkey Kong

    Tham gia ngày:
    24/10/04
    Bài viết:
    340
    Nơi ở:
    City 17
    Chào các bác.

    Tui có viết một cái app nho nhỏ, xài D3D và VC++. Mục tiêu là vẽ một cái mặt bàn, phía trên mặt bàn có đặt một trái bóng.

    Mặt bàn = box, QuảBóng = Sphere.

    Mặt bàn & quả bóng là 2 mesh được tạo từ hàm D3DXCreateSphere & CreateBox. Tọa độ y của quả bóng > tọa độ y của mặt bàn(để bóng nằm trên bàn).

    Khi render thì tui gặp phải trục trặc: Nếu vẽ Bàn->DrawSubset(0) trước khi vẽ QuảBóng->DrawSubset(0) thì mọi thứ đều ok, nhưng nếu làm ngược lại: vẽ quả bóng trước rồi vẽ bàn sau thì quả bóng biến mất - hình như bị cái mặt bàn đè lên thì phải ::( . Thử vẽ thêm một số object khác thì tui thấy cái nào vẽ sau đều chồng lên cái vẽ trước, cho dù tọa độ chúng là bao nhiêu đi nữa. Tuy nhiên khi di chuyển camera thì có lúc cái này nằm trên, có lúc lại nằm dưới - lung tung lên hết :o .

    Tui đoán là trục trặc đâu đó ở cái depth buffer, nhưng mò 2 3 ngày rùi vẫn không biết sai hay thiếu câu lệnh nào. Mong được mọi người giúp đỡ. Thanks.
     
  2. taychoiboi

    taychoiboi Guest

    Tham gia ngày:
    Bài viết:
    0
    Bạn vào 3dvn nói chuyện ở đây toàn bon chơi game thôi
     

Chia sẻ trang này