Tôi đang cố gắng vẽ các nguyên thủy bán trong suốt (đường kẻ, hình tròn) trong OpenGL ES bằng Cocos2d nhưng không thể tránh các vùng chồng chéo có thể nhìn thấy được. Có ai biết cách giải quyết vấn đề này không?OpenGL, nguyên thủy với độ mờ mà không nhìn thấy được chồng chéo
Trả lời
Đây là một vấn đề bạn thường gặp khá thường xuyên, thậm chí trong không gian 3D.
Tôi không quá quen thuộc với Cocos2D, nhưng một cách để giải quyết điều này trong OpenGL chung là điền vào bộ đệm khung với kênh alpha mong muốn, chuyển chế độ hòa trộn thành glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA)
và vẽ hình chữ nhật. Ý tưởng đằng sau điều này là bạn vẽ một hình chữ nhật với độ trong suốt mong muốn được lấy từ bộ đệm khung, nhưng trong tiến trình che khu vực bạn đã vẽ để hình chữ nhật tiếp theo của bạn sẽ được đeo ở đó.
Cách tiếp cận khác là hiển thị toàn bộ nội dung cho một kết cấu hoặc lắp ráp hình dạng bằng các đa giác không chồng lên nhau.
Tôi không chắc liệu Cocos2D hỗ trợ bất kỳ trong số này ...
Tôi không biết những gì khả năng Cocos2d đặc biệt cung cấp, nhưng tôi có thể thấy hai lựa chọn,
One, không chồng chéo lên nhau như vậy, nhưng thay vì xây dựng hình học phức tạp hơn sao cho mỗi pixel chỉ được bao phủ một lần,
Hai, sử dụng bộ đệm stencil để tạo mặt nạ khi bạn vẽ và để từ chối bất kỳ pixel nào đã được đeo mặt nạ.
- 1. Hiển thị quảng cáo ở dưới cùng mà không chồng chéo chế độ xem danh sách
- 2. Cấu hình CheckStyle, FindBugs và PMD mà không chồng chéo
- 3. Chồng chéo bàn phím mềm với trường EditText
- 4. Haskell - khớp mẫu (es) được chồng chéo
- 5. Xác định các đỉnh có thể nhìn thấy trong OpenGL
- 6. Android: Dọc ListView với hàng chồng chéo
- 7. Hàng chồng chéo trong chế độ xem danh sách
- 8. Crouton + SlidingMenu chồng chéo
- 9. TextView RelativeLayout chồng chéo
- 10. Chồng chéo CSS div
- 11. Chú thích chồng chéo Matplotlib
- 12. OpenGL có đảm bảo rằng các nguyên thủy trong bộ đệm đỉnh sẽ được vẽ theo thứ tự không?
- 13. Đặt độ mờ của phần tử trong div với độ mờ được xác định bởi CSS?
- 14. JQuery draggable - Không có chồng chéo
- 15. vòng tròn tránh chồng chéo d3.js
- 16. Tạo không chồng chéo âm mưu khu vực xếp chồng lên nhau với ggplot2
- 17. Nguyên thủy JSON không hợp lệ: id
- 18. Tại sao không có vòng tròn hoặc hình elip nguyên thủy trong OpenGL?
- 19. Ranh giới khung nhìn trên mọi độ phân giải với OpenGL ES
- 20. Nguyên thủy âm chưa được ký?
- 21. Java regex - chồng chéo trận
- 22. phân nhánh mà không thể được nhìn thấy bởi trình biên dịch
- 23. Java Iterator với nhiều loại nguyên thủy
- 24. đối tượng so với nguyên thủy
- 25. Làm cách nào để triển khai hai IBActions trong UIButton mà không bị chồng chéo?
- 26. ToString có được gọi cho các kiểu nguyên thủy không?
- 27. java: mảng nguyên thủy - chúng có được khởi tạo không?
- 28. Phát âm thanh qua JS với chồng chéo
- 29. UIView: mờ đục so với alpha so với độ mờ
- 30. Làm cách nào để sắp xếp biểu đồ tuyến tính mà không chồng chéo?
Yea chính xác điều đó. Fyi bạn có thể thay đổi hàm pha trộn trên sprite bằng thuộc tính blendfunc. tức là 'mysprite.blendFunc = (ccBlendFunc) {GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA};' –