tailieunhanh - Các bước đầu về DirectX phần 8

Dòng đầu tiên trong initParticles là lời gọi tới hàm tạo vertex buffer của emitter. Bởi vì vertex buffer cần được cập nhật thường xuyên, nên nó được tạo ra với các cờ là D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY. | Beginning DirectX9 Dịch bởi TransTeam diễn đàn Dòng đầu tiên trong initParticles là lời gọi tới hàm tạo vertex buffer của emitter. Bởi vì vertex buffer cần được cập nhật thường xuyên nên nó được tạo ra với các cờ là D3DUSAGE_DyNAMIC d3duSage_WriteonlY. Tiếp theo một vòng lặp duyệt qua tất cả các particle chứa trong emitter và thiết lập cờ hoạt động cho cúng thiết lập màu và vị trí ban đầu. Thông thường các particle của một emitter thường xuất hiện ở cùng một vị trí. Hướng và vận tốc của particle được thiết lập một cách ngẫu nhiên. Điều này khiến cho mỗi particle chuyển động về các hướng khác nhau. Hàm update dưới đây cập nhật vị trí cho từng particle mỗi frame update void Emitter update void _. duyệt qua để cập nhật vị trí cho các particle for int i 0 i numParticles i cộng vecto vị trí với vecto vận tốc m_particles i .m_vCurPos m_particles i .m_vCurVel Vị trí của mỗi particle được thay đổi bằng cách cộng vecto vận tốc bao gồm cả hướng và độ lớn với vecto vị trí hiện tại. Bởi vì giá trị này được cập nhật trên mỗi frame nên ta thu được các particle chuyển động trên màn hình. Hàm cuối cùng là render render void Emitter render Customvertex pPointVertices Khóa vertex buffer và cập nhật các particle trong đó pVertexBuffer- Lock 0 numParticles sizeof CUSTOMVERTEX void pPointVertices D3DlOcK_DISCARD duyệt qua các particle for int i 0 i numParticles i pPointVertices- psPosition m_particles i .m_vCurPos pPointVertices- color m_particles i .m_vColor pPointVertices Mở khóa vertex buffer pVertexBuffer- Unlock thiết lập texture emitterDevice- SetTexture 0 pTexture thiết lập luồng vertex emitterDevice- SetStreamSource 0 pVertexBuffer 0 sizeof CUSTOMVERTEX thiết lập định dạng vertex emitterDevice- SetFvF D3DFVF_CUSTOMVERTEX 127 Beginning DirectX9 Dịch bởi TransTeam diễn đàn gọi hàm DrawPrimitive để render các particle emitterDevice- DrawPrimitive D3DPT_POINTLIST 0 numParticles Hàm render đầu tiên sẽ khóa vertex buffer và duyệt qua mảng các particle của .

crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.