2010-12-15 31 views
5

Parçacık simülasyonuna dayanarak OpenGL'de yangın efekti oluşturmak istiyorum. Diğer özelliklerinin yanı sıra bir konumu ve bir sıcaklığı (ve dolayısıyla bir rengi) olan yüzlerce parçacık var. Parçacıklar çok geniş yayıldıkları için, solidSphere'un glut kullanılarak basitleştirilmesi çok gerçekçi görünmüyor. Parçacık bilgilerine dayanarak yangını nasıl çizebilirim?OpenGL'de yangın oluşturma

+0

Anlaşılması gerekenler mi yoksa bunu sizin için yapan bir yöntem mi buluyorsunuz? – ccook

+0

Evet, henüz bu konuya aşina olmadığım için openGL'de bu enterpolasyonu yapmak için bir yöntem arıyorum. Bir çeşit katı dinamik model belki de ... Saydamlık da gerçekçi bir yangın yapmak için önemlidir – Etan

cevap

5

sadece gerçekçi bir yangın efekti ı çeşit kullanmak oluşturmaya çalışıyorsanız diğer kütüphanelerde tavsiye edilen diğer cevaplar. Ama bana benziyor, simülasyonun gösterilmesinden sonra.

Denemeye değecek doğrudan bir çözüm, mevcut kürelerinizin (her zaman kameraya doğru bakan grafik görüntüsü) reklam panoları ile yer değiştirmesi olabilir, bunlar ortada sağlam beyazdır ve kenarlara doğru saydamlaşır. parçacıklarına.

Alevin, ızgara üzerindeki her köşe noktasının saydamlığını ve rengini kontrol edebileceğiniz bir 2B Izgaralar kümesi olarak yaklaşması gerektiğini düşündüğüm daha iyi bir çözüm. Bunu Quad'lardan bir düzlem inşa ederek OpenGL'de yapabilir ve her bir vertex'in rengini ve saydamlığını hesaplamak için (sahip olduğunuz en yakın parçacıklardan enterpolasyon yoluyla) parçacık sistemini kullanabilirsiniz. OpenGL, her bir pikseli sizin için vertex arasında enterpolasyon yapacak ve 'alandaki ortalama parçacıkların' pürüzsüz bir görüntüsünü verecektir.

+0

Güzel! İkincisi prosedürel bir doku olarak uygulanabilir, değil mi? Hmm ... Hayır, bu mantıklı değil - her parça gölgelendirici örneğinin muhtemelen yapacak çok şeyi olacaktır. Bu yüzden, herhangi bir yangın yapmadan önce bu dokuyu çerçeve başına bir kez oluşturmamız gerekecek. – Kos

+0

Teşekkürler. Bu 2d ızgaraları hakkında daha fazla bilgi ekleyebilir misiniz? – Etan

+0

Tam olarak neyi başarmak istediğinizi bilseydik gerçekten yardımcı olur: Simülasyonu gerçek zamanlı olarak çizmeye mi çalışıyorsunuz yoksa sadece belirli hareketsiz görüntüleri mi oluşturuyorsunuz? Simülasyonu sadakatle temsil etmesini mi yoksa göze iyi bakmasını mı istiyorsun? – Elemental

5

Muhtemelen yangın efekti oluşturmak için bir partikül sistemi kullanmak isteyen, burada sadece bunu yapmak için nasıl bir NeHe öğretici var: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=19

+0

Nasıl çalıştığını öğrenmek istediğimden beri mevcut bir parçacığı kullanmak istemiyorum ;-) – Etan

İlgili konular