Status of NIS

Forums: 

Hi all,

just for interest: will there be further development of NIS? Or would it make sense merging NIS functionality in the "Standard visualization"?

Greets,

Patrik

Sergey Anikin's picture

Dear Patrik,

Could you please explain what you mean by "Standard visualization"?
And what makes you concerned about this point?
Do you mean any particular NIS feature that is worth to be merged, in your opinion?
Probably, we will be able to give you a better answer, once we have understood the context of your question.

And after all, NIS is incompatible architecturally with most of TKV3d and TKOpenGl functionality, so merging would be at least non-trivial.

Best regards,
Sergey

Patrik's picture

Dear Sergey,

thanks for the fast feedback. With "Standard:_Visualization" I meant V3d together with AIS. As I've read the thread about "external rendering" (http://www.opencascade.org/org/forum/thread_24969/?forum=3) I remembered NIS and took a look at the sources. If I understood NIS correctly, the drawers from NIS have the possibilty executing OpenGL commands before and after drawing NIS objects. This could be a possibility for adding GLSL shaders or something similar...

This would be cool for AIS ;-)

Greets,

Patrik

Sergey Anikin's picture

Dear Patrik,

Thank you a lot for sharing your idea!

In fact, there are several possibilities in OCCT to execute custom OpenGL calls during the scene rendering (NIS, V3d_View callback mechanism, UserDraw elements in a standard presentation). The main disadvantages of this approach are as follows:

  • The custom OpenGL code is almost not connected to the "standard" visualization data and lives too much "on its own" that makes it difficult to control all aspects of the visual results.
  • Many advanced rendering algorithms require access to multiple elements of the scene, not just to a single object, or even overriding the whole rendering procedure.

We are already thinking how to approach the realistic rendering topic and integrate the shaders into OCCT in a most efficient way, you can check it on the visualization project page. None of the existing OCCT features seems to be suitable, so we keep on thinking and hope to find a solution this year.

Concerning NIS future, it is used currently in some commercial products so it is likely to be maintained and improved during the coming years, but please do not expect too much from it.

Best regards,
Sergey

Patrik's picture

Hi Sergey,

thanks for the infos. Lets wait for your progress :-)

Just one question (it's only a little bit related to visualization): At the moment, I'm using a combination of NVIDIA Scenix and XDE for visualization. Are there plans to remove OCAF/XDE dependencies from visualization (e.g. putting the Prs classes in own libs)?

Greets,

Patrik

Sergey Anikin's picture

Dear Patrik,

Lets wait for your progress :-)

Meanwhile, we welcome you - as well as all the contributors - to share ideas concerning this interesting and promising topic! Multiple heads are normally better than just one or even two. :)
An efficient solution for OCCT-based realistic (and maybe even real-time!) rendering, probably including integration of shaders into OpenGl package and providing high-level API for shader creation would be appreciated, I assure you.

Naturally, we are in favor of TKOpenGl design improvements rather than workarounds for existing design limitations...

Are there plans to remove OCAF/XDE dependencies from visualization (e.g. putting the Prs classes in own libs)?

Do you mean moving XCAFPrs classes to a separate library?

Best regards,
Sergey

Patrik's picture

Hi Sergey,

"Do you mean moving XCAFPrs classes to a separate library?" - exactly. I don't use visualization contained in OCCT - but XDE always has these dependencies coming from XCAFPrs and TPrsStd.

Greets,

Patrik

Sergey Anikin's picture

Dear Patrik,

Now I get you. Well, you can do this :)
Or at least report a Mantis issue, not to forget about this idea.

Best regards,
Sergey

Kirill Gavrilov's picture

Just for information - NIS has been scheduled for removal since next major OCCT 7.0.0 release (but will be kept in OCCT 6.8.x):
http://tracker.dev.opencascade.org/view.php?id=25148

If somebody has objections - please share your point of view.

Andrey BETENEV's picture

Hello,

TKNIS has been removed from OCCT master three weeks ago (issue #25148).

The projects that might be using that toolkit will have to switch to either standard AIS visualization or alternatives (e.g. IVtk to work with VTK viewer).

Andrey

Andrei Popa's picture

Hi,

As quoted in (issue #25148): "Alternatively, application might take TKNIS from previous OCCT release 6.8.0 as independent library based on OCCT (with required porting changes)".
Is there anybody who made those required porting changes?
It would be greatly appreciated. Thanks in advance!

Andrei :)