[英]Qt QML spotlights effect
我個人使用ShaderEffect
和一個簡單的着色器,當中心距離增加時,輸出會使輸出變暗。 這比使用紋理便宜,因為它不需要紋理。 如果您想要多個聚光燈,只需創建着色器效果的多個實例。 您可以對衰減進行參數化和動畫設置,還可以為閃爍效果等內容添加顏色或可變強度等內容。
您必須將場景項渲染到紋理,您可以使用簡單的ShaderEffectSource
。 然后你實際上需要隱藏場景,以顯示它背后的黑色背景。 然后,您必須將該紋理傳遞給每個着色器,這將“顯示”靠近聚光燈中心的像素。 如果您不想要完全黑色,可以使用不透明度來調整場景,但不能直接在場景項上,而是在父容器項上,以使紋理源完全不透明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.