Wintermute Engine Forum

Wintermute Engine => Technical forum => Topic started by: ErV on October 20, 2006, 08:08:14 PM

Title: ZWriteEnable == false for an actor3d
Post by: ErV on October 20, 2006, 08:08:14 PM
Hello.
I need to disable Writing to a ZBuffer for a specific actor. (IDirect3DDevice8->SetRenderState(D3DRS_ZWRITEENABLE, FALSE))
Is there any way to do this just for a single actor, without breaking all scene?
Title: Re: ZWriteEnable == false for an actor3d
Post by: Mnemonic on October 21, 2006, 08:41:34 AM
I don't know. Probably. The 2D scene itself is not using z-buffer.
Title: Re: ZWriteEnable == false for an actor3d
Post by: ErV on October 21, 2006, 02:39:56 PM
I don't know. Probably. The 2D scene itself is not using z-buffer.
I mean - I need to disable this state just for single actor. Not for the whole scene.
(Disabling it through IDirect3DDevice8 doesnt work anyway (because of stencil shadows))
Title: Re: ZWriteEnable == false for an actor3d
Post by: Mnemonic on October 22, 2006, 08:51:51 AM
I know what you mean, but you asked if it broke the scene. If the render state is set just before the model is rendered (and after the shadow is rendered), it should only affect the model. That said, there's no property for doing so, it would need to be added.

You know, the problem is WME is pretty high-level game engine, which actually tries to shield the users from low level stuff like render states etc. Admitably, this makes some advanced 3D effects hard or impossible to do, but there's always some trade off.
Title: Re: ZWriteEnable == false for an actor3d
Post by: ErV on October 22, 2006, 09:37:15 PM
I know what you mean, but you asked if it broke the scene. If the render state is set just before the model is rendered (and after the shadow is rendered), it should only affect the model. That said, there's no property for doing so, it would need to be added.

You know, the problem is WME is pretty high-level game engine, which actually tries to shield the users from low level stuff like render states etc. Admitably, this makes some advanced 3D effects hard or impossible to do, but there's always some trade off.
Thanks for an answer :(. Just wanted to make sure there is no way to implement this thing right now.

P.S. (IMHO)I think that having a low-level API for WME layer would be great...