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
cevap
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.
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
Teşekkürler. Bu 2d ızgaraları hakkında daha fazla bilgi ekleyebilir misiniz? – Etan
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
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
Nasıl çalıştığını öğrenmek istediğimden beri mevcut bir parçacığı kullanmak istemiyorum ;-) – Etan
- 1. yangın olayı
- 2. Tibco spot yangın
- 3. Yangın ve C#
- 4. Yangın Özellikle saha
- 5. Yangın değiştirme olayı elle
- 6. Fireshepard neden yangın alarmını öldürüyor?
- 7. Kesme noktasına ulaşıldığında yangın jQuery
- 8. PostAuthenticateRequest birkaç kez yangın yapar
- 9. Yangın ve Unut (Asynch) ASP.NET Yöntem Çağrısı
- 10. Firefox'ta yangın sekmesi tuşa basma etkinliği?
- 11. Anlaşmazlıktan sonra yangın geri arama Görev yöntemi
- 12. jQuery tüm sınıf öğelerinde yangın fonksiyonu
- 13. Yangın zamanlayıcısı OnStart penceresinden hemen hizmete giriyor
- 14. Yangın uyarısı yalnızca bildirim göründükten sonra (swift3)
- 15. Sadece iki olayda yangın yap: ajax
- 16. JavaScript'te yangın köprüsü kullanarak bellek sızıntılarını bulmak mı istiyorsunuz?
- 17. yerçekimi formları başarılı form tesliminde yangın js olayı
- 18. AppEngine veya Datastore kullanmamama rağmen bir projede yangın deposunu etkinleştiremiyorum
- 19. HtmlButton işleyicisi tıklandığında iki kez yangın yapar (AutoEventWireup = "True" olduğunda)
- 20. İstemci WCF tarafından barındırılan son noktaya bağlandığında yangın olayı
- 21. jQuery UI yeniden boyutlandırılabilir yangın penceresi yeniden boyutlandırma olayı
- 22. Pencereden önce yangın işlevi, oryantasyondaki içeriği değiştirir mi?
- 23. Fare hareket etse bile Webkit ve Safari yangın mousemove
- 24. Kod geliştirirken yangın duvarlarını ve proxy'leri nasıl simüle edebilirim?
- 25. Oluşturduğum nasıl sadece yangın olay çevirme tuşu manuel
- 26. NSTimer'in ateşleme zamanını son yangın yerine şimdi sıfırlayın
- 27. Libgdx Dinleyicisi birden çok kez yangın girip çıkıyor
- 28. ızgara görünümü ızgara görünümü değil yangın seçim endeksi
- 29. paketi oluşturma hataları oluşturma
- 30. /etc/apt/sources.list.d/ içinde bir dosya oluşturma
Anlaşılması gerekenler mi yoksa bunu sizin için yapan bir yöntem mi buluyorsunuz? – ccook
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