-
-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an NSI C binding #103
Comments
Very cool! Now I know what I'm doing this weekend 😄 |
You will be the first 'other' renderer to add an NSI API. 😄 |
So the caveats. Scene EditsThe NSI API supports scene edits via
But this is not mandatory. The DCC plug-ins have support for IPR viewport rendering which won't work w/o scene edits but that feature can probably be isolated with some ShadersNSI's shading system is built around the idea that the renderer supports OpenShadingLanguage (OSL) to describe shader graphs. Again, that being said: the API makes no assumptions in that regard. It's just that shaders are assumed to exist outside the renderer. Workarounds:
Subdivision Surface SupportNSI also supports subdivision surfaces via extra attributes on the Workaround: ignore these attributes and just render the control cage as a polygon mesh. If you wanted to add support for subdivs, Pixar's OpenSubdiv is a painless dependency (as in: as painless as it gets in C/C++ land). Being C++ It uses some template classes that require a specialization, each, to be usable. You can grab specializations that expose a C-only API from an OpenSubdiv Rust wrapper. In general, if you are interested in using C++ dependencies but with a C-API, watch this project – C++--. |
Hmm. So whith this can we integrate to Blender also? |
There is no NSI Blender plug-in yet. 3Delight have said they want to do one, at some point. That said, no one stops you from making a plugin yourself. A good start may be the source code of the Appleseed or Cycles integration as they will cover the OSL part. NSI was developed with both VFX production demands for a scene description and plugin developers mind. This is not easy as these two groups sometimes have orthogonal requirements. RenderMan RIB/the RenderMan Interface was the industry standard for many years but it can't serve this purpose any more, with the demands of today's productions. USD is both an asset container and a scene description. But it is not there yet and also didn't concern itself with the requirements of plugin developers. |
Thanks for info.
Regards,
Odilkhan Yakubov.
чт, 15 Апр 2021, 15:42 Moritz Mœller ***@***.***>:
… There is no NSI Blender plug-in yet. 3Delight have said they want to do
one, at some point.
That said, no one stops you from making a plugin yourself. A good start
may be the source code of the Appleseed or Cycles integration as they will
cover the OSL part.
NSI was developed with both VFX production demands for a scene description
and plugin developers mind.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#103 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/APKRYHBSEMIGOY2YBPEQFCTTI27JZANCNFSM4252RMLQ>
.
|
NSI is a replacement for RenderMan Ri/RIB that was developed by Illumination Research for their 3Delight renderer.
3Delight used to be RenderMan compliant from 1999–2019.
The NSI API is completely open and very minimal. It's a single header.
An NSI parser will be made OSS soon too. But it's fine to just have the C-API at the beginning. It's just 11 functions.
Having the C-API implemented for
c-ray
will instantly allow you to hook up the renderer to these apps:All of the NSI plug-ins for these apps are OSS and hosted here:
https://gitlab.com/3Delight
The text was updated successfully, but these errors were encountered: