2010-11-18 47 views
0

我期待在BlitzMax中創建一種發光線效果,就像星球大戰lightsaber或laserbeam。不一定是實時的,但只適用於TImage對象,然後可能保存到PNG以供將來在動畫中使用。我很高興使用3D功能,但它將用於2D遊戲。由於它將在黑色/空間背景下,我的策略是繪製一系列帶有顏色和高透明度的白色模糊線條,最終使中心線條更模糊,更白。我想畫的實際上是貝塞爾曲線。繪製曲線很容易,但我無法使用上述技術創建出色的激光/霓虹效果,因爲它看起來非常分割。所以,我認爲在渲染效果良好的情況下使用模糊效果/着色器會更好,這是一個1像素的貝塞爾曲線。BlitzMax - 爲PNG文件生成2D霓虹燈發光線效果

我一直有這些問題是:

  • 應用的着色器的地方畫線的屏幕只是一個特定區域。如果有一種方法可以對紋理畫線,然後模糊紋理並保存PNG,那麼聽到這些信息會很棒。有一種方法可以做到這一點,但我還沒有得到合適的元素。任何熟悉這個東西的人的幫助將不勝感激。
  • 僅使用2D調用可能更爲有利,更易於理解和重複使用。
  • 這將是非常好的知道如何保存一個PNG,保留透明度/ alpha的東西。

p.s.我已經回顧了這篇文章(和其他人),讓這些示例工作,甚至開發了我自己的5x5着色器。但是,這是3D和一個場景範圍的東西,似乎並沒有很好地轉換到2D或只是某個區域。 http://www.blitzbasic.com/Community/posts.php?topic=85263

回答

0

好,好,我不知道BlitzMax,所以我不能進入執行方面的細節,而是給你一些指點:

  • 對於應用的着色器的特定部分只有圖像,您可能需要使用多個渲染通道來組成場景。
  • 如果你有像素訪問,做片段着色器做同樣的事情,當然,可能在2D中使用「oldskool方式」,即。像getpixel/setpixel。但是,這樣你的表現會差得多。
  • 如果你有一個完好無損的Alpha通道紋理,用Alpha通道保存PNG應該是Just Work(對不起,再次不知道如何在BlitzMax中專門做這件事)。只要確保你一直在使用RGBA模式。
+0

BlitzMax讓你加載着色器,我有一個片段的工作示例,但我不清楚如何將着色器應用到屏幕的某個區域,或者更好地只應用一個圖像。如果沒有詳細說明BlitzMax細節,可能太大了。感謝這些指針,我會在回到那個愛好項目後幾天看到我能想出什麼。 – zanlok 2010-11-30 21:02:32