問題文
祖先が不透明度0のときにアイテムをレンダリングすることはできますか?アイテムの祖先が不透明度0の場合、アイテムをレンダリングさせることはできますか?
動機
この質問のための動機は、このother question of mine(私は「隠されたテクスチャ・ソース」問題と呼んでます)。現在私はvisible: false
ではなくopacity: 0
を使用していますが、これはリンクされた質問と同じ問題を引き起こします。
私がアイテムを隠している理由はthisです。
私はテクスチャソースとして使用する必要がある各アイテムを一度だけ間抜けしていました。 (簡易擬似コード)
texSourceItem.opacity = 1;
cppItem.update(); // QQuickFramebufferObject
texSourceItem.opacity = 0; // reset back to 0
しかし、今、私はまた、このような項目の全体秒殺処分しています:だから隠されたテクスチャ・ソースの問題に対する修正は簡単でした。そして、不透明性が継承されるので、私がcppItemを更新したい場合は、親全体の隠されていないダンスを行う必要があります。次に、2つのテクスチャソース項目がインターロックされたタイミングでunhide-hide手続きを行う可能性があるので、バグを避けるために、現在更新されているcppItemの数を知るカスタム参照カウンタを保持する必要があります。これは私の好みのためには複雑すぎる解決策です。だから私の質問への答えは有益だろう。 documentationから引用し
Re:ShaderEffectSourceソリューション:試しましたか? 0 '、ShaderEffectSourceはsourceItemとして(またはその子)を使用することはできません。私は 'rect'1'は'不透明度を持っているときことをかなり確信しています。さて、エラーメッセージやクラッシュはありませんが、ShaderEffectSourceには何も描画されません。再:それは私は不透明度の継承をしたいですから、私はちょうどそれがcppItemの更新時に適用したくない、私の場合には動作しません:アイテムに兄弟を作ります。 –
私はそれを試して、私のために投稿として投稿しました。 – derM