Path Deform HDK Plugin

   16192   35   3
User Avatar
Member
30 posts
Joined: July 2013
Offline
edward
Ali Tezel
Isn't VC9 32 bit only?

I'm not sure why the “Download Houdini” link only offers VC9 32-bit or VC11 64-bit. If you're logged in and use the Download > Daily Builds link, the actual choices are: VC9 32-bit, VC9 64-bit, VC11 64-bit.

For the next major version of Houdini, the choices will be: VC11 32-bit, or VC11 64-bit . We're really close to being able to drop the VC11 32-bit builds as well since the 32-bit builds for all non-Windows platforms have already been dropped.

Might be subject to change.


Ah thanks for the explanation. What exactly is the difference between VC11 and VC9 then?
User Avatar
Member
7709 posts
Joined: July 2005
Online
Ali Tezel
Ah thanks for the explanation. What exactly is the difference between VC11 and VC9 then?

Microsoft individually versions all of their compilers which then get marketed under the Visual Studio umbrella. So VC9 is Visual C++ version 9, which was sold with Visual Studio 2009, while VC11 is Visual C++ version 11, which was sold with Visual Studio 2012.

The big reason why we're switching over to VC11 is because the Houdini code base has started using C++11 features, which the older compiler doesn't support.

http://en.wikipedia.org/wiki/Visual_C%2B%2B#32-bit_and_64-bit_versions [en.wikipedia.org]
User Avatar
Member
1391 posts
Joined: Dec. 2010
Offline
edward
Ali Tezel
Ah thanks for the explanation. What exactly is the difference between VC11 and VC9 then?

Microsoft individually versions all of their compilers which then get marketed under the Visual Studio umbrella. So VC9 is Visual C++ version 9, which was sold with Visual Studio 2009, while VC11 is Visual C++ version 11, which was sold with Visual Studio 2012.

The big reason why we're switching over to VC11 is because the Houdini code base has started using C++11 features, which the older compiler doesn't support.

http://en.wikipedia.org/wiki/Visual_C%2B%2B#32-bit_and_64-bit_versions [en.wikipedia.org]

So Houdini will be only release for VC11 ASAP and I should switch to VS 2012 for HDK , right ?
https://www.youtube.com/c/sadjadrabiee [www.youtube.com]
Rabiee.Sadjad@Gmail.Com
User Avatar
Member
7709 posts
Joined: July 2005
Online
Yes, I would recommend upgrading to VS2012.
User Avatar
Member
1391 posts
Joined: Dec. 2010
Offline
edward
Yes, I would recommend upgrading to VS2012.

Really Thanks edward for your great note 8)
https://www.youtube.com/c/sadjadrabiee [www.youtube.com]
Rabiee.Sadjad@Gmail.Com
User Avatar
Member
1391 posts
Joined: Dec. 2010
Offline
Really thanks Stalkerx777 for this great tool.
I really like your method for path deforming.
I made similar tool with VEX , of course with some little changes and optimizing for VEX language. 8)

Download :
http://www.orbolt.com/asset/Sadjad::JK_PathDeformer [orbolt.com]
https://www.youtube.com/c/sadjadrabiee [www.youtube.com]
Rabiee.Sadjad@Gmail.Com
User Avatar
Member
8 posts
Joined: Oct. 2014
Offline
Cool plugin!
But the error:
(hsvg.exe:10988): Pango-WARNING **: No builtin or dynamically
loaded modules were found. Pango will not work correctly.
This probably means there was an error in the creation of:
‘E:\PROGRA~1\SIDEEF~1\HOUDIN~1.567\hsvg\etc\pango\pango.modules’
You should create this file by running pango-querymodules.
Fontconfig error: Cannot load default config file
No fonts found; this probably means that the fontconfig
library is not correctly configured. You may need to
edit the fonts.conf configuration file. More information
about fontconfig can be found in the fontconfig(3) manual
page and on http://fontconfig.org [fontconfig.org]
Generating new icons…
Done generating new icons.
Russian Operating System Windows 7 x64
User Avatar
Member
183 posts
Joined: Nov. 2008
Offline
Joker386
Really thanks Stalkerx777 for this great tool.
I really like your method for path deforming.
I made similar tool with VEX , of course with some little changes and optimizing for VEX language. 8)

Download :
http://www.orbolt.com/asset/Sadjad::JK_PathDeformer [orbolt.com]

Thanks. Thats cool, now we have 2 implementations to choose from :wink:

Cool plugin!
But the error:
Code:
(hsvg.exe:10988): Pango-WARNING **: No builtin or dynamically
loaded modules were found. Pango will not work correctly.
This probably means there was an error in the creation of:
‘E:\PROGRA~1\SIDEEF~1\HOUDIN~1.567\hsvg\etc\pango\pango.modules’
You should create this file by running pango-querymodules.
Fontconfig error: Cannot load default config file
No fonts found; this probably means that the fontconfig
library is not correctly configured. You may need to
edit the fonts.conf configuration file. More information
about fontconfig can be found in the fontconfig(3) manual
page and on http://fontconfig.org [fontconfig.org]
Generating new icons…
Done generating new icons.

Russian Operating System Windows 7 x64

I thinks this warning message is unrelated to plugin.
Aleksei Rusev
Sr. Graphics Tools Engineer @ Nvidia
User Avatar
Member
1391 posts
Joined: Dec. 2010
Offline
Yes , Exactly 8)
I was searching for some method for deforming a geometry (specially a Helix) , along a curve , Then I found your Plug-ins , I knew that your method was really perfect for my project .
:wink:
https://www.youtube.com/c/sadjadrabiee [www.youtube.com]
Rabiee.Sadjad@Gmail.Com
User Avatar
Member
620 posts
Joined: Nov. 2013
Offline
Great thing! I suggest SESI should integrate this function in new version.
User Avatar
Member
17 posts
Joined: Feb. 2014
Offline
Tanks a lot! works perfect!
User Avatar
Member
5 posts
Joined: Jan. 2016
Offline
So with the shift to VC14 for H15.5, Mr Rusev's plugin is due for recompilation?
User Avatar
Member
1743 posts
Joined: March 2012
Offline
FridayMarch27th
So with the shift to VC14 for H15.5, Mr Rusev's plugin is due for recompilation?
Probably. Also, I'd strongly recommend using Update 1, not Update 2 or 3, because 2 has at least one terrible bug where the compiler generates incorrect machine code, (e.g. it sometimes failed at finding the bounding box of two points), and 3 has some internal compile error bugs. The public builds of Houdini 15.5 are built with Update 1, so it might also be necessary for binary compatibility.
Writing code for fun and profit since... 2005? Wow, I'm getting old.
https://www.youtube.com/channel/UC_HFmdvpe9U2G3OMNViKMEQ [www.youtube.com]
User Avatar
Member
101 posts
Joined: May 2006
Offline
Super thanks for this, most appreciated. A big help.

fyi when used with a carve before the curve I get a crash if the carve reduces the curve to 0 but a clamp to 0.001 on the value fixes that.

Rich
User Avatar
Member
1743 posts
Joined: March 2012
Offline
Richard Costin
when used with a carve before the curve I get a crash if the carve reduces the curve to 0
It looks like there's a bug on line 328 of sop_pathdeform.cpp [bitbucket.org]. If there are no primitives in the input, it'll probably crash, because there is no primitive index 0 to request the offset of. It should be checking curve_gdp->getNumPrimitives() to make sure that there's at least one primitive.

Also, calling geocurve_prim->getPointRange().getEntries() is probably the second-slowest way I've yet seen to determine the number of vertices in a primitive, (the slowest being a case where someone actually made the GA_Range only to iterate over it incrementing a counter). It really makes me want to remove that function altogether, because it keeps giving people the false impression that it's the right thing to use and it's almost never the right thing to use. The best simple way to iterate over the vertices of a single primitive is currently something like:

for (GA_Size i = 0, n = prim->getVertexCount(); i < n; ++i) {
    GA_Offset vtxoff = prim->getVertexOffset(i); // If you need vertex offsets
    GA_Offset ptoff = prim->getPointOffset(i);   // If you need point offsets
    ...
}

I'm adding something like the following for the next major version of Houdini, so that you can use a lambda and avoid a little more overhead, though I do appreciate that lambdas can be pretty scary at first.

prim->forEachPoint([put bindings here](GA_Offset ptoff){
    ...
});
Writing code for fun and profit since... 2005? Wow, I'm getting old.
https://www.youtube.com/channel/UC_HFmdvpe9U2G3OMNViKMEQ [www.youtube.com]
User Avatar
Member
63 posts
Joined: Aug. 2013
Offline
Hi, thanks for sharing this plugin. I just wanted to note that to compile on Manjaro 17.1, I had to change line 36 of sop_pathdeform.cpp from:

const char *inputLabels = {“Deform geometry”, “Input curve”, ‘\0’};

to:

const char *inputLabels = {“Deform geometry”, “Input curve”, “\0”};

Otherwise, make would say there was a invalid cast from “const char” to “char,” or vice versa. The plugin loads and the example scene seems to work fine with this small edit…

Would that small change affect builds on the other platforms (Win/Mac/Etc)?
  • Quick Links