การใช้การตั้งค่าต่อไปนี้สำหรับเอฟเฟกต์อนุภาค OpenGL:
SRC: GL_SRC_ALPHA
DST: GL_ONE
สร้างการผสมผสานเพิ่มเติมซึ่งมีลักษณะที่งดงามบนพื้นหลังสีดำ แต่น่ากลัวในสีที่สว่างกว่าเพราะมันเริ่มจางลงเป็นสีขาว
จากนั้นฉันก็ใช้การผสมอัลฟา:
SRC: GL_SRC_ALPHA
DST: GL_ONE_MINUS_SRC_ALPHA
สิ่งนี้ทำให้พื้นหลังอื่น ๆ สามารถใช้งานได้โดยไม่ส่งผลกระทบต่อสีของอนุภาค แต่อนุภาคเหล่านั้นดูหมองคล้ำเมื่อเปรียบเทียบกับการผสมผสานแบบเติมแต่ง ฉันจะสร้างเอฟเฟกต์ไฟที่ดีด้วยการผสมอัลฟ่าและอนุภาคได้อย่างไร
สารเติมแต่ง:
อัลฟา:
UPDATE:
ตามคำแนะนำของเดวิดด้านล่างฉันสร้างพื้นผิวแยกต่างหากจากนั้นใช้การผสมผสานแบบเติมต่อเอฟเฟกต์ของอนุภาคก่อนที่จะวาดลงบนพื้นผิว ปัญหาที่เกิดขึ้นก็คือการวาดภาพบนพื้นผิว alpha = 0 ส่งผลให้ชิ้นส่วนที่เป็นสีของอนุภาคปรากฏขึ้นด้านหน้าแผนที่โลกของฉันเนื่องจากโดยปกติคุณมีพื้นหลังสีดำแทน เคล็ดลับคือใช้พื้นผิวสองแบบ ฉันสร้างพื้นผิวสีดำแล้วดึงอนุภาคบนมัน จากนั้นฉันก็ลบชั้นอัลฟ่าของอนุภาคออกจากพื้นผิวนี้ทำการลบสิ่งที่เป็นของแข็งสีดำรอบ ๆ และลบล้างอนุภาคที่มองเห็นได้บางส่วนในขณะที่ปล่อยให้สีดำพื้นฐานที่คุณคาดหวัง ในระยะสั้นเป็นกระบวนการที่ทรหด แต่ในที่สุดก็มาถึง:
นี่คือกระทู้ที่ฉันโพสต์กระบวนการของฉัน: http://www.cocos2d-iphone.org/forum/topic/28707?replies=8#post-141528