2013-02-22 56 views
2

我想渲染隱藏的對象並獲得與Stage3D中鏈接中顯示的效果類似的效果。我可以讓Stage3D寫入Z緩衝區嗎?

Silhouette Effect in Torchlight 2

我已經知道如何在理論上做到這一點。我已經繪製對象兩次:

    與正常設置
  • 一旦並用不同的深度排序模式,其中只有那些後面呈現幾何像素被示出
  • 一次。 ,爲了防止後面奇怪的影響,這些像素不能被渲染到深度緩衝區。

我可以在Stage3D中使用Context3DCompareMode.GREATER設置正確的深度排序模式。 也可以讓Stage3D將像素渲染到後臺緩衝區,但不是z緩衝區?

如果我無法從渲染深度緩存不斷的Stage3D,效果會是這樣的:

Glitchy Silhoutte Effect

回答

0

是的,你可以關閉深度和模板緩衝區。檢查context3d.configureBackBuffer方法。

0

如果有人遇到這樣,有兩件事情你應該知道的:

1)由於Volgogradetzzz確保你有一個模板/深度緩存爲使用Context3D.configureBackBuffer(...)

2的後備緩衝的一部分)如果您需要打開或關閉在不同的時刻深度像素寫入您可以使用設置此功能的depthMask參數:

public function setDepthTest(depthMask:Boolean, passCompareMode:String):void 

有點陌生,發現這個名字的函數這一特點,深度寫掩碼affec結果,而不是測試本身。