2

I have a texture for road. Line (represented by triangle strips) with this texture looks like this: road1

And of course, roads can be overlapped by other roads. In this case I want to hide road borders. Road borders has alpha 0.6 in same time as road has alpha 1. So how I can hide texture parts with less alpha when they overlapped by texture parts with greater alpha? Here's what I have:

http://i.stack.imgur.com/WpXVW.png

And this is what I want:

road2

4

1 に答える 1

0

そのような比較を行うことができるアルファチャンネルの機能は考えられません。

私ができること:

  1. アルファ テストを有効にして、アルファ <0.8 を拒否します (まだ境界線を描画したくない)
  2. 一定の深さでテクスチャを描画します。これにより、主要な黄色の道路のみが描画されます。
  3. アルファ テストを無効にする
  4. 深度テストを有効にする
  5. より大きな深度値で道路を再描画します。このパスは道路の境界線を描画しますが、幹線道路が既に描画されている場所は深度拒否されます。
  6. 目的の画像に似た結果が残るはずです。

別の方法として、ステンシル バッファーを同じ方法で使用することもできますが、おそらく深度テストの方が設定が簡単です。

于 2012-06-19T01:47:33.363 に答える