Emissive 'power' from vertex float attribute
Moderator: juanjgon
- caseyhupke
- Posts: 42
- Joined: Tue Jan 15, 2019 8:08 pm
I can not seem to figure out how to drive emissive power from any attribute, here is how I was trying to do it.
- Attachments
-
- emission_issue.zip
- (59.55 KiB) Downloaded 241 times
- caseyhupke
- Posts: 42
- Joined: Tue Jan 15, 2019 8:08 pm
SOLVED!
The answer was to use a vector float attribute for power, and not a float.
The answer was to use a vector float attribute for power, and not a float.
- rknightley
- Posts: 3
- Joined: Tue Apr 18, 2017 4:01 pm
Hello All,
Just came across this post and was trying to do the same thing, I think. No luck figuring it out though. My goal was to be able to emit light the same color as the primitives as well as take a float attribute from the primitive to drive the "power" in the emission node based on a conversion of RGB to HSV in an Attribute VOP. However in all the ways I've tried this, the colors when set from an attribute like Cd using the Color Vertex Attribute node always seem to produce very little color with the majority of the emission seeming to be white. I also tried explicitly setting the Cd via a color node in SOPs with the exact same effect. The color on the geometry itself changes but not the emitted light. I also was not able to figure out how to pass my "value" attribute to the "power" input on the emission texture node. I'll attach a file, perhaps someone here can point out where I've gone wrong.
All the best!
Just came across this post and was trying to do the same thing, I think. No luck figuring it out though. My goal was to be able to emit light the same color as the primitives as well as take a float attribute from the primitive to drive the "power" in the emission node based on a conversion of RGB to HSV in an Attribute VOP. However in all the ways I've tried this, the colors when set from an attribute like Cd using the Color Vertex Attribute node always seem to produce very little color with the majority of the emission seeming to be white. I also tried explicitly setting the Cd via a color node in SOPs with the exact same effect. The color on the geometry itself changes but not the emitted light. I also was not able to figure out how to pass my "value" attribute to the "power" input on the emission texture node. I'll attach a file, perhaps someone here can point out where I've gone wrong.
All the best!
- Attachments
-
- emissionTest.zip
- (53.06 KiB) Downloaded 206 times
Hi,
it seems to work if you change the sampling rate on the emission node in the material to 0. Feels like a bug
Wout
it seems to work if you change the sampling rate on the emission node in the material to 0. Feels like a bug

Wout
Hi !
I'm working on something and I've bumped into the same issue.
Rendering fur with color from attribute works as expected but renders MUCH slower than rendering the geometry. Rendering geometry with color from attribute in emission does not render correctly and renders the light as mostly white. Seting the sampling rate to 0 fixes this, but renders ,a gain much slower.
I'm working on something and I've bumped into the same issue.
Rendering fur with color from attribute works as expected but renders MUCH slower than rendering the geometry. Rendering geometry with color from attribute in emission does not render correctly and renders the light as mostly white. Seting the sampling rate to 0 fixes this, but renders ,a gain much slower.
Im not a houdini user, but since no one else is helping I'll explain why this doesn't work.
The "vertex float attribute" (called "Greyscale vertex attribute" in standalone) is a TEXTURE.
The "Texture Emission" node "Power" pin is a FLOAT VALUE.
You can't connect a texture to a value. The houdini docs show color coded pins on nodes, so this should be obvious, because the pin colors are different.
You need to connect the "vertex float attribute" to the "Texture Emission" > Texture pin instead. You can drive it with values higher than 1.0 for more emission.
If you want to color the light, use a multiply texture node with the rgb color and "vertex float attribute" as inputs, then connect the multiply node to the "Texture Emission".
The "vertex float attribute" (called "Greyscale vertex attribute" in standalone) is a TEXTURE.
The "Texture Emission" node "Power" pin is a FLOAT VALUE.
You can't connect a texture to a value. The houdini docs show color coded pins on nodes, so this should be obvious, because the pin colors are different.
You need to connect the "vertex float attribute" to the "Texture Emission" > Texture pin instead. You can drive it with values higher than 1.0 for more emission.
If you want to color the light, use a multiply texture node with the rgb color and "vertex float attribute" as inputs, then connect the multiply node to the "Texture Emission".
Win10 Pro / Ryzen 5950X / 128GB / RTX 4090 / MODO
"I am the resurrection, and the life: he that believeth in me, though he were dead, yet shall he live" - Jesus Christ
"I am the resurrection, and the life: he that believeth in me, though he were dead, yet shall he live" - Jesus Christ