Plugin Rendering Issues

So, I’m kind of stuck here. My ocean plugin is only rendering when there is unassociated geometry below it:


With my cloud rendering plugin, it only shows up with geometry behind it as well:


As far as I can tell there isn’t a simple way to muck with rendering order in UE, so how do I go about tackling issues like these?

What if you put a very very big sphere and turn off visibility?

That doesn’t work either. The ocean/sky just render on top of anything I put in the scene still. They should be properly drawing with depth information, but that doesn’t appear to be happening and I don’t know why.

You need to provide more information for us to be able to help you. I have done rendering based plugins in the past without any issues. How are you doing the rendering? Please provide some code snippets.

That’s the problem, all of the rendering is done within the plugin itself; I’m just able to control the setup on my end, basically. It supports and works with a lot of different engines (Unity, OGRE, etc.) so I figured porting it to work with UE4 wouldn’t be too difficult an issue. As of right now, I’m modeling my setup off the trueSKY plugin. And the rendering clearly works, it’s just like the depth writing isn’t working, so I was wondering if there was some order of operations that I don’t know about, or if there was any other control I had at a high-level for when the plugin renders.

Best I can say, is take a look at the NVIDIA branch and see how they have things setup, they are not using plugins in the UE4 sense, however they handle their own rendering and then composite it into the UE4 rendering pipeline, so that may give you some ideas on where the issue may be, take a look the WaveWorks and HairWorks. (Requires that you are logged into github and have a UE4 account linked).

Other than that, without actually being able to see how your doing things, I cannot help much further. Let me know if you would be interested in maybe communicating over skype, where I could potentially help you further.

That’s actually a great idea. And it also showed what I was kind of afraid of: any kind of advanced rendering control needs to be integrated with the engine itself and cannot be used as a plugin. :frowning:

Is there any way I can integrate this into the rendering pipeline without modifying the plugin DLL itself?