MistaED wrote:
Are you by any chance trying to get that librocket GUI system to render in a more native way with Horde3D instead of the GL backend?
Exactly. I have it working already with overlays. The frame rate is quite good too. I use the Knight sample and add some Rocket GUI. The frame rate is nearly the same as the original Knight demo.
MistaED wrote:
From what I had gathered, Horde also needs an abstraction to the glScissor function as well for it to work the way you want.
Yes, but I just include the appropriate openGL headers and use the methods directly at the moment.
The methods required are glEnable, glDisable, and glScissor.
But you are correct, it probably would be more appropriate if these methods were accessible "via" Horde3D. For example, if Horde3D was extended to use other rendering abstractions such as DirectX, it would be necessary.
MistaED wrote:
Alternatively I'm thinking of just creating a geo resource and MapResStream to that the data you want, coupled with an orthogonal camera rendered after you render your main camera and making a special material class so that only that renders and not the other nodes in the scene
Is it possible to setup a camera to only render certain nodes? Or to only render certain materials? I'm not sure I understand what you mean.
MistaED wrote:
(this could be an alternative approach to your issue of needing to hide nodes?).
That's not exactly an issue... although the libRocket render method is called for every GUI geometry on every loop. Theoretically you could probably just add the node to the scene and let it render itself automatically, and simply update the translation each step. Then remove the node when the geometry is destroyed by libRocket (in a separate method called ReleaseCompiledGeometry).
But if I want to hide them after every rendering and then show them again when libRocket asks to render them, I could keep a list of the geometries in a static array or something like that, so they would be exposed to other files or classes in the application. Then I'd hide them in the Horde3D application after
Code:
h3dRender (camera )
is called.
MistaED wrote:
Good luck!
Thank you.
Volker wrote:
Another possibility would be to to render libRocket or any other gui completely separated into a FBO associated with a texture and use that texture within Horde.
I don't know if that will be any easier actually. Using overlays as I do now is quite good and not complex. The only reason I want to use nodes is because of the vertex colors... Oh yea and because of the overlay limit.
I still haven't had a chance to try out playing with the projection matrix in the shader. I am playing with that tonight.
Regards,
vikingcode
PS. Thanks for all the help and interest shown.