from PySide2 import QtWidgets from PySide2 import QtGui from PySide2 import QtCore import time class VideoThread(QtCore.QThread): def setStuff(self, vidscr, butt): self.vidscr = vidscr self.butt = butt def run(self): loop = True while loop: # blink blink pm = QtGui.QPixmap(320, 240) pm.fill(QtGui.QColor('darkGray')) self.vidscr.setPixmap(pm) time.sleep(1) pm.fill(QtGui.QColor('cyan')) self.vidscr.setPixmap(pm) time.sleep(1) if not self.butt.isChecked(): loop = False class vidWidg(QtWidgets.QWidget): def buildUI(self): self.videoScreen = QtWidgets.QLabel(self) self.startButton = QtWidgets.QPushButton("run blinky", self) self.startButton.setCheckable(True) self.startButton.toggled.connect(self.togg) layout = QtWidgets.QVBoxLayout() layout.addWidget(self.videoScreen) layout.addWidget(self.startButton) self.setLayout(layout) def togg(self, val): if val: self.thread = VideoThread() self.thread.setStuff(self.videoScreen, self.startButton) self.thread.start() else: self.thread.wait() self.thread.quit() def createInterface(): root_widget = vidWidg() root_widget.buildUI() return root_widget
Found 57 posts.
Search results Show results as topic list.
Technical Discussion » multiprocessing in Houdini Python panel
- ivan
- 83 posts
- Offline
ok, well, if anyone else comes across this thread, here is 1 working bit of code. Thank you for holding the duck.
Edited by ivan - 2023年9月1日 21:06:46
Technical Discussion » multiprocessing in Houdini Python panel
- ivan
- 83 posts
- Offline
I'm trying to get qthreads running in a python panel, it's been problematic, Are there any samples anywhere of this working?
Technical Discussion » no threading
- ivan
- 83 posts
- Offline
is there a simple way to launch a Houdini session in Windoze 10 single threaded? I see how to launch with the -j option on the commandline, but, I use the newfangled Houdini launcher in windows, is it possible to set it there? or, set it after I open Houdini? just trying to do a quick performance test of single threaded....
Technical Discussion » Houdini Engine HARS ready-handle C++ posix semaphore basics
- ivan
- 83 posts
- Offline
so, I think I made a bit of progress, it seems I open the semaphore and pass it's name:
sem_t *sem = sem_open("/foo", O_CREAT, S_IRWXU, 0);
system("HARS -a -n \"/tmp/houdini_tmp/hapiHARS_foo\" -r \"/foo\" &");
sem_wait(sem)
I *think* this is correct?
sem_t *sem = sem_open("/foo", O_CREAT, S_IRWXU, 0);
system("HARS -a -n \"/tmp/houdini_tmp/hapiHARS_foo\" -r \"/foo\" &");
sem_wait(sem)
I *think* this is correct?
Technical Discussion » Houdini Engine HARS ready-handle C++ posix semaphore basics
- ivan
- 83 posts
- Offline
HARS has a "ready-handle" option; in the docs it says:
Name of the POSIX named semaphore that will be posted when the server is ready
so, I have read up on POSIX named semaphores, and I'm a bit fuzzy on how to use this option.
I can use sem_wait(semaphore) if I have the semaphore, but, I do not see how to wait given only the name of the semaphore?
how is this feature supposed to be used?
Name of the POSIX named semaphore that will be posted when the server is ready
so, I have read up on POSIX named semaphores, and I'm a bit fuzzy on how to use this option.
I can use sem_wait(semaphore) if I have the semaphore, but, I do not see how to wait given only the name of the semaphore?
how is this feature supposed to be used?
Technical Discussion » draw curve closed curves?
- ivan
- 83 posts
- Offline
a simple question.
when using the draw curve SOP, how do I draw closed loop?
when using the draw curve SOP, how do I draw closed loop?
Edited by ivan - 2022年6月27日 13:27:29
Technical Discussion » python set current tab
- ivan
- 83 posts
- Offline
Technical Discussion » python set current tab
- ivan
- 83 posts
- Offline
If I make an HDA with a row of tab folders, is there a way in python to set which tab is currently selected for editing?
so, for instance, every time my toggle widget is clicked, the B Folder becomes the selected one:
so, for instance, every time my toggle widget is clicked, the B Folder becomes the selected one:
Technical Discussion » HDK Karma RAY_Procedural equivalent
- ivan
- 83 posts
- Offline
Technical Discussion » HDK Karma RAY_Procedural equivalent
- ivan
- 83 posts
- Offline
after a very long gap, I am now again tinkering with rendering isosurfaces. As I recall, I had some troubles with them in Mantra, but I was thinking I should probably jump onto tinkering in karma instead of mantra.
Is there support for RAY_Procedural type of extensions to Karma, or should I stick with Mantra? I could not find anything in the documentation
Is there support for RAY_Procedural type of extensions to Karma, or should I stick with Mantra? I could not find anything in the documentation
3rd Party » Arnold materialbuilder "P"
- ivan
- 83 posts
- Offline
AHA!
it is done with the “state_vector” vop, with the Variable set to “Shading Point in World Space”
thank you for holding the duck.
it is done with the “state_vector” vop, with the Variable set to “Shading Point in World Space”
thank you for holding the duck.
3rd Party » Arnold materialbuilder "P"
- ivan
- 83 posts
- Offline
I am tinkering with HtoA, this is my first time seeing the arnold_materialbuilder. How do I get “P” to, maybe (for instance) drive a noise function that sets a base_color that feeds into a standard_surface?
Technical Discussion » cvex refresh
- ivan
- 83 posts
- Offline
Technical Discussion » cvex refresh
- ivan
- 83 posts
- Offline
it's not external code. in H18.0, these are my steps:
1. click file->new asset…
2. set definition to vex, and choose network type->CVEX VOP
3. set the name and path and click accept
4. edit vex code an paramaters in the type properties window that opens, and apply or accept.
5. go to the /mat context and drop a newly created node
6. go to the SOP context, put down an attributevop SOP
7. set it to vex source->shop andselect the /mat node you put down, and let the SOP cook.
now, if you edit type properties on your /mat shop node, there is no method to get the SOP to cook your edited code.
Maybe if there was a “force update” button on the attributevop SOP when it's source is set to shop?
1. click file->new asset…
2. set definition to vex, and choose network type->CVEX VOP
3. set the name and path and click accept
4. edit vex code an paramaters in the type properties window that opens, and apply or accept.
5. go to the /mat context and drop a newly created node
6. go to the SOP context, put down an attributevop SOP
7. set it to vex source->shop andselect the /mat node you put down, and let the SOP cook.
now, if you edit type properties on your /mat shop node, there is no method to get the SOP to cook your edited code.
Maybe if there was a “force update” button on the attributevop SOP when it's source is set to shop?
Technical Discussion » cvex refresh
- ivan
- 83 posts
- Offline
but, in order to do that, you cannot use vex code, only wire together vop nodes.
Therefore, to use vex code, is now like working in the HDK, you need to save your hipfile, quit, and restart after every compile, correct?
I guess I could use an inline vex vop, kinda awkward….
Therefore, to use vex code, is now like working in the HDK, you need to save your hipfile, quit, and restart after every compile, correct?
I guess I could use an inline vex vop, kinda awkward….
Technical Discussion » cvex refresh
- ivan
- 83 posts
- Offline
so, working in vex is now like working in the HDK, you need to save your hipfile, quit, and restart after every compile?
Technical Discussion » cvex refresh
- ivan
- 83 posts
- Offline
in Houdini 18,
I have made a vex CVEXVOP.
I put down a node in /mat
I append an attribvop SOP, and set it's source to shop, and select my node in the shop path.
It cooks my vex code.
Now, if I go and edit the vex code in my /mat cvex node, how do I get it to recook the attribvop SOP?
I have made a vex CVEXVOP.
I put down a node in /mat
I append an attribvop SOP, and set it's source to shop, and select my node in the shop path.
It cooks my vex code.
Now, if I go and edit the vex code in my /mat cvex node, how do I get it to recook the attribvop SOP?
Edited by ivan - 2020年6月12日 21:47:49
Technical Discussion » parmtag { "autoscope" "0000000000000000" }
- ivan
- 83 posts
- Offline
so, I find occasionally I get a parm tag with a name set to “autoscope” and Tag Value set to “000000000000”
I have no idea how/when this gets set, nor do I know what it does. It seems…. unfunctional?
anybody know what this is?
I have no idea how/when this gets set, nor do I know what it does. It seems…. unfunctional?
anybody know what this is?
Houdini Lounge » Houdini Engine For Clarisse
- ivan
- 83 posts
- Offline
there is this:
https://github.com/LumaPictures/houdini-engine-clarisse [github.com]
but it is for clarisse 2.0, which is very old.
It seems Luma started on it and deserted it. I suspect the Houdini/Clarisse market is simply too small for SESI to expend man-hours on. Therefore, it probably needs to be an open-source project, much like what Luma started.
Isotropix has plainly stated that they will not do it.
https://forum.isotropix.com/viewtopic.php?f=7&t=3843 [forum.isotropix.com]
https://github.com/LumaPictures/houdini-engine-clarisse [github.com]
but it is for clarisse 2.0, which is very old.
It seems Luma started on it and deserted it. I suspect the Houdini/Clarisse market is simply too small for SESI to expend man-hours on. Therefore, it probably needs to be an open-source project, much like what Luma started.
Isotropix has plainly stated that they will not do it.
https://forum.isotropix.com/viewtopic.php?f=7&t=3843 [forum.isotropix.com]
Technical Discussion » "disable when" conditionals =~
- ivan
- 83 posts
- Offline
the H16 docs show a conditional “=~” as being useable to match a regular expression in a value.
http://www.sidefx.com/docs/houdini16.0/ref/windows/optype#conditionals [www.sidefx.com]
however, “=~” seems to actually behave the same as “==”
I have a parm “parmA” with the value “_foo_bar_”
I have another parm, and the following conditionals do NOT disable the parm:
{ parmA =~ * }
{ parmA =~ /*/ }
{ parmA =~ “*” }
{ parmA =~ foo }
{ parmA =~ “*foo*” }
however, the following conditional *DOES* disable the parm:
{ parmA =~ _foo_bar_ }
has anybody ever gotten a regular expression conditional to disable a parm ?
http://www.sidefx.com/docs/houdini16.0/ref/windows/optype#conditionals [www.sidefx.com]
however, “=~” seems to actually behave the same as “==”
I have a parm “parmA” with the value “_foo_bar_”
I have another parm, and the following conditionals do NOT disable the parm:
{ parmA =~ * }
{ parmA =~ /*/ }
{ parmA =~ “*” }
{ parmA =~ foo }
{ parmA =~ “*foo*” }
however, the following conditional *DOES* disable the parm:
{ parmA =~ _foo_bar_ }
has anybody ever gotten a regular expression conditional to disable a parm ?
-
- Quick Links