簡體   English   中英

Qt QML聚焦效果

[英]Qt QML spotlights effect

有可能以某種方式使用QtGraphicalEffects獲得多個聚光燈嗎?

透明漸變下方的方格部分是任何類似QML Item類型的占位符。 因此,最終結果可能是一個完整的場景,動畫項目在效果下面運行。

我只能想出一個解決方案,它使用一個Image類型,其中4個Rectangle類型錨定到父容器和Image - 但是通過這種方法我一次只能在場景上有一個聚光燈覆蓋

聚光燈效果

我喜歡它所以我可以在一個場景中混合很多聚光燈: 在此輸入圖像描述

我個人使用ShaderEffect和一個簡單的着色器,當中心距離增加時,輸出會使輸出變暗。 這比使用紋理便宜,因為它不需要紋理。 如果您想要多個聚光燈,只需創建着色器效果的多個實例。 您可以對衰減進行參數化和動畫設置,還可以為閃爍效果等內容添加顏色或可變強度等內容。

您必須將場景項渲染到紋理,您可以使用簡單的ShaderEffectSource 然后你實際上需要隱藏場景,以顯示它背后的黑色背景。 然后,您必須將該紋理傳遞給每個着色器,這將“顯示”靠近聚光燈中心的像素。 如果您不想要完全黑色,可以使用不透明度來調整場景,但不能直接在場景項上,而是在父容器項上,以使紋理源完全不透明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM