Cplusplus SOP?

Hi,

is the Cplusplus SOP on the development horizon?

I find that currently TD’s greatest weakness by a long shot is in handling 3D geometry. No proper collisions (the ray sop is slow but mostly it’s unreliable), no volumes, and generally since all the SOPs are processed on the CPU they tend to limit real time processing below an excessively limited number of active SOPs and data volume.

I would love for Derivative to focus a bit on that, if the community agrees.

A cplusplus SOP would be a great start. I’m trying to bring in openVDB into TD, but without a CPlusPlus SOP it’s all a big hack and workaround (unless there is something I didn’t think about?).

Even if the vast majority of users doesn’t need faster SOPs because of the nature of their projects, a Cplusplus SOP (with proper documentation on how to access/edit data) would allow developers like me to create their own set of c++ operators and methodologies.

What says you, Derivative?
:slight_smile: tx

A little off-topic from your request, but I think something like Max MSP Gen could also be an interesting direction. I agree SOPs could use an overhaul but I’m also aware that making all SOPs run on the GPU could be difficult, so it could be interesting to have a new family of operators that serves as an optimized GPU version of a smaller portion of SOPs, with maybe an operator or two to help transfer data between the two families. These may even be some form of node-based vertex shader components. Just throwing that out there.

The C++ SOP is coming in the next experimental branch we post. We hope to do this soon.

It’s a really good new. A waited feature !
A powerful language multithreaded to manipulate attributes SOP.
I would like to know why others softwares create their own language : like VEX in Houdini and KL in FABRIC Engine ?

The ultimate feature will be to have similar HoudiniPointWangle + VOPSOP for CPU and a MaxMsp Gen for GPU. A full nodal world.

And learn/show to people how to use CPU and GPU equitably.

We’re off topic a bit here… but we do need some way for more SOP processing to be on the GPU. The same way deforms do, but more general - group transforms etc.

Bruce

Well, once the Cplusplus SOP is available one could presumably access the CUDA or OpenCL framework to offload parallelisable computations to the GPU.

And there has been mention before of a general refresh of built-in SOPs in future builds at some point – these may take advantage of some GPU compute framework. I’m sure Derivative is considering their options right now as they work to roll this new Cplusplus SOP out. And I assume they are cleaning up some SOP code in general.

Kudos to Derivative for adding in the C++ Sop! There’s going to be some pretty huge advances in the type of 3d geometry we see created solely in Touch, I feel.

This is available now…

viewtopic.php?f=4&t=10917

SuperCool Ben ! Thx
I try to build the SimpleShapes.dll but i get nothing in Touch, no shapes no custom parameters…
i will be happy if someone can share his own .dll to see where i am wrong…

here is my useless file :
SimpleShapes.dll.txt (57 KB)

Hi Anodin,

The C++ SOP Visual Studio project builds without issues for me. I’m on Windows 10, VS2015.
Just open the Solution file in VS2015, and choose Build, it creates a .dll file which I can load in the Cplusplus SOP.
There’s not much I can send you, it’s just the sample project which I use for that.

ok thx nettoyeur, now it works.
Before i created a new projet win32consoleApp / DLL and copy paste the exemple files…

Another Question where i can find the c++ documentation ?
I would like function for find nearest points index, read information of TOP…
Thx

main article is here: Write a CPlusPlus Plugin

and other pages in the c++ category

For the rest the most information is in all the C++ samples & header classes provided - if you read the code you’ll see lots of comments.

Thx but i mean more something like this :

[url]http://www.sidefx.com/docs/houdini/vex/functions/_index[/url]

I find it in python and Hscprit but not in C++

All the functions we provide are in the header files included in the example project. There is no separate documentation. It’s also pretty bare bones, we don’t have a language like VEX that provides lots of commonly used functionality. Right now the C++ SOP is very much a roll-your-own tool.

Thank for your answer Malcolm

I’ll mention that the function names for C++ SOP API is going to change a bunch, so you’ll need to tweak code you write when the next build comes out.

Sorry for hijacking this thread again, I stumbled on something interesting in VVVV recently :
vvvv.org/contribution/instance-noodles

“Instance Noodles is a modular patching system for Compute & Geometry shaders in DX11/vvvv. Inspired by the fast & pleasant workflow in stock vvvv this lib aims to bring the same visual flow programming approach to GPGPU calculations & procedural geometry manipulation.”

(aheum, copy/pasting not sure about the “fast & pleasant workflow in stock vvvv” bit :wink:

Have no idea if it’s well done and useful (might fire up VVVV to check it out, though haven’t done it yet) but probably something worth looking into.

Anyway, really happy for the c++ sop, will make some stuff I was doing with the c++ chop far less hacky.