The Advanced Visualization Lab (AVL) at the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign is looking for a Houdini artist for an hourly contractor position, expected to be <10 hours per week. The position is remote.
The work would involve helping the AVL team create cinematic scientific visualizations of datasets like black holes and stars. Prior visualization experience not required.
Please see the attached job description and AVL demo reel [www.youtube.com] to get a sense for the type of work. Apply here: https://forms.illinois.edu/sec/1933699974 [forms.illinois.edu]
Found 11 posts.
Search results Show results as topic list.
Houdini Jobs » Hourly side-gig (<10hr/wk) for Houdini artist at U. of Illin
- kalina
- 11 posts
- Offline
Houdini Lounge » Houdini Scientific Application and Showcase
- kalina
- 11 posts
- Offline
I'm one of the instructors of the Coursera MOOC posted above. SideFX also conducted this interview with a coworker and me about our sciviz work in Houdini:
I'd be happy to be involved!
I'd be happy to be involved!
Houdini Indie and Apprentice » License server cant start after reboot
- kalina
- 11 posts
- Offline
Technical Discussion » One sphere with two overlapping, blended textures?
- kalina
- 11 posts
- Offline
I have two textures, one that is NASA's “Blue Marble” image that covers the whole Earth, and the other is a smaller, more detailed satellite image of a much smaller area, i.e. the size of a U.S. state. I want to start out by looking at the whole Earth, and then zoom in to the smaller area, as seamlessly as possible.
I don't really know how to approach this but I think there are two problems here. I'd appreciate advice or pointers on either one:
1. How to show multiple overlapping textures at once on the same sphere? I tried using the Layer SOP but couldn't get it to work, and am not sure if that's even the right approach. I know how to use the lat/lon positions of the imagery and show each texture correctly-placed on its own separate sphere, but not how to show both simultaneously.
2. How to smoothly blend between the two textures so that the edges of the smaller texture are not super-obvious? I could get some more in-between resolution imagery for a smoother transition between the world-scale and state-scale images, but I wouldn't know how to get those to play together nicely, either. Can I somehow implement my own mipmapping in Houdini or externally? Or is there some sort of “texture blend” operation I can use?
I don't really know how to approach this but I think there are two problems here. I'd appreciate advice or pointers on either one:
1. How to show multiple overlapping textures at once on the same sphere? I tried using the Layer SOP but couldn't get it to work, and am not sure if that's even the right approach. I know how to use the lat/lon positions of the imagery and show each texture correctly-placed on its own separate sphere, but not how to show both simultaneously.
2. How to smoothly blend between the two textures so that the edges of the smaller texture are not super-obvious? I could get some more in-between resolution imagery for a smoother transition between the world-scale and state-scale images, but I wouldn't know how to get those to play together nicely, either. Can I somehow implement my own mipmapping in Houdini or externally? Or is there some sort of “texture blend” operation I can use?
Technical Discussion » Are volumes vertex-centered or cell-centered?
- kalina
- 11 posts
- Offline
Are volumes in Houdini (both standard and VDB) vertex-centered or cell-centered?
When I programmatically create a .bgeo or .vdb volume and do not specify positioning, it automatically gets placed so that the corner vertex gets placed at (0,0,0). That seems to suggest that it is vertex-centered? Visually inspecting the voxels of a volume slice also makes it look that way. But, I can't find any documentation about this.
When I programmatically create a .bgeo or .vdb volume and do not specify positioning, it automatically gets placed so that the corner vertex gets placed at (0,0,0). That seems to suggest that it is vertex-centered? Visually inspecting the voxels of a volume slice also makes it look that way. But, I can't find any documentation about this.
Technical Discussion » Hqueue can only write images in $JOB or $HIP directory?
- kalina
- 11 posts
- Offline
Technical Discussion » Hqueue can only write images in $JOB or $HIP directory?
- kalina
- 11 posts
- Offline
Short version:
My HQueue Render node is giving me an error message “The value of the Output Picture parameter in /out/mantra1 must start with $HIP or $JOB”. Why is that? Can't I just write my images wherever I want them? Is there a workaround to this?
Further details:
I am trying to use HQueue to write out .ifd files to /a/b/c/file.$F.ifd, which will I will then copy over to be rendered on a different system, to make /one/two/three/file.$F.exr. I am using a HQueue Render node and setting Output Driver to a Mantra node that's set up to write .ifds to /a/b/c. The eventual path of the images, /one/two/three, doesn't exist on the cluster where I am writing the .ifds. But HQueue seems to be forcing me to write “/one/two/three/file.exr” in terms of /a/b/c, which isn't going to work. What should I do?
My HQueue Render node is giving me an error message “The value of the Output Picture parameter in /out/mantra1 must start with $HIP or $JOB”. Why is that? Can't I just write my images wherever I want them? Is there a workaround to this?
Further details:
I am trying to use HQueue to write out .ifd files to /a/b/c/file.$F.ifd, which will I will then copy over to be rendered on a different system, to make /one/two/three/file.$F.exr. I am using a HQueue Render node and setting Output Driver to a Mantra node that's set up to write .ifds to /a/b/c. The eventual path of the images, /one/two/three, doesn't exist on the cluster where I am writing the .ifds. But HQueue seems to be forcing me to write “/one/two/three/file.exr” in terms of /a/b/c, which isn't going to work. What should I do?
Technical Discussion » How to make .ifds, with external geometry, for rendering on different system with different file path?
- kalina
- 11 posts
- Offline
Thank you, but I'm still struggling to figure this out. I've gotten this far:
Instead of just calling “mantra-bin -f /path/to/my/file.ifd” like I've been doing, I can add “-P script.py”, where script.py replaces where the geometry file points to “/one/two/three/file.bgeo.sc” with “/a/b/c/file.bgeo.sc”. Is that right? But how do I actually do that? I've combed through the links you have sent and can't find what property I need to set in order to do this.
Instead of just calling “mantra-bin -f /path/to/my/file.ifd” like I've been doing, I can add “-P script.py”, where script.py replaces where the geometry file points to “/one/two/three/file.bgeo.sc” with “/a/b/c/file.bgeo.sc”. Is that right? But how do I actually do that? I've combed through the links you have sent and can't find what property I need to set in order to do this.
import mantra def filterGeometry(): mantra.setproperty("???")
Technical Discussion » How to make .ifds, with external geometry, for rendering on different system with different file path?
- kalina
- 11 posts
- Offline
I want to make .ifds one one cluster, then copy the .ifds to a different system and render them there. I am having trouble doing this, since the path to the geometry files is different (/one/two/three/file.bgeo.sc versus /a/b/c/file.bgeo.sc). How can I make this work?
Putting “/a/b/c/” under “Shared temp storage” and “Local temp storage” in the Driver tab of the mantra out node doesn't do the trick. Using relative paths with “$HIP” or “..” doesn't either, because the path gets expanded when writing the ifd. To get around this, I have been saving inline geometry, but I do not want to do that as this is very memory inefficient in this case.
Any advice?
Putting “/a/b/c/” under “Shared temp storage” and “Local temp storage” in the Driver tab of the mantra out node doesn't do the trick. Using relative paths with “$HIP” or “..” doesn't either, because the path gets expanded when writing the ifd. To get around this, I have been saving inline geometry, but I do not want to do that as this is very memory inefficient in this case.
Any advice?
Edited by kalina - Feb. 2, 2018 17:31:35
Technical Discussion » Houdini keep on crashing while loading custom HDK plugins!
- kalina
- 11 posts
- Offline
PradeepBarua
If you are using make, you will have to modity $HFS/toolkit/makefiles/Makefile.linux to use gcc-4.8 without changing the system level gcc.
And how do you do that? The only GCC-related things I see are:
GCCVER := $(shell $(CXX) -dumpversion)
GCCVER_W_SPACES := $(subst ., ,$(GCCVER))
GCCMAJORVER := $(word 1,$(GCCVER_W_SPACES))
GCCMINORVER := $(word 2,$(GCCVER_W_SPACES))
Do I modify one of these, or add something else?
Also, I'm a makefile newbie, so I'm not even sure I'm asking the right questions. I cobbled something together that worked for Houdini14/15, but now Houdini16 crashes. In my own Makefile, I “include $(HFS)/toolkit/makefiles/Makefile.gnu” but not Makefile.linux. Should I modify something in Makefile.gnu as well?
Edited by kalina - April 10, 2017 16:56:47
Technical Discussion » Houdini16 HDK
- kalina
- 11 posts
- Offline
I just upgraded from Houdini15 to Houdini16. I have a custom C++ plugin that I'm trying to get to work with H'16, but am getting a weird compilation error. This bit of code used to work:
But now gives me the following error:
How should I fix this?
UT_Ramp XFALLOFFRAMP(fpreal t) { UT_Ramp myRamp; updateRampFromMultiParm(t, getParm("xFalloff"), myRamp); return myRamp; }
But now gives me the following error:
In file included from SOP_DataReader.C:31:0:
SOP_DataReader.h: In member function ‘UT_Ramp AVL_DataReader::SOP_DataReader::XFALLOFFRAMP(fpreal)’:
SOP_DataReader.h:352:21: [b]error: no matching function for call to ‘UT_Ramp::UT_Ramp(UT_Ramp&)’[/b]
return myRamp;
^
SOP_DataReader.h:352:21: note: candidate is:
In file included from /opt/hfs16.0.504.20/toolkit/include/UT/UT_Performance.h:33:0,
from /opt/hfs16.0.504.20/toolkit/include/UT/UT_TaskScope.h:29,
from /opt/hfs16.0.504.20/toolkit/include/UT/UT_Task.h:23,
from /opt/hfs16.0.504.20/toolkit/include/UT/UT_TaskState.h:24,
from /opt/hfs16.0.504.20/toolkit/include/UT/UT_TaskExclusive.h:22,
from /opt/hfs16.0.504.20/toolkit/include/GA/GA_PrimitiveList.h:33,
from /opt/hfs16.0.504.20/toolkit/include/GA/GA_Detail.h:34,
from /opt/hfs16.0.504.20/toolkit/include/GA/GA_Primitive.h:26,
from /opt/hfs16.0.504.20/toolkit/include/GEO/GEO_Primitive.h:32,
from /opt/hfs16.0.504.20/toolkit/include/GEO/GEO_PrimVolume.h:26,
from /opt/hfs16.0.504.20/toolkit/include/GU/GU_PrimVolume.h:24,
from SOP_DataReader.h:33,
from SOP_DataReader.C:31:
/opt/hfs16.0.504.20/toolkit/include/UT/UT_Ramp.h:94:6: note: UT_Ramp::UT_Ramp()
UT_Ramp();
^
/opt/hfs16.0.504.20/toolkit/include/UT/UT_Ramp.h:94:6: [b]note: candidate expects 0 arguments, 1 provided[/b]
How should I fix this?
-
- Quick Links