VEX Metamarch bug?

   8936   5   1
User Avatar
Member
136 posts
Joined: July 2005
Offline
During testing of my shader i have faced with a strange problem.
http://www.cgtalk.ru/forum/attachment.php?attachmentid=9127&d=1154022647 [cgtalk.ru]
Shader uses “metamarch” VEX function.
I have suspected that this function is guilty.
I wrote simple shader to check it.
http://www.cgtalk.ru/forum/attachment.php?attachmentid=9130&d=1154022811 [cgtalk.ru]
Bias = 1
Distance = 2.90487

Bias = 5
Distance 10.9049

But… in both cases i have got the same picture.
Looks like bias is performed along a viewing ray…after inersection is founded
http://www.cgtalk.ru/forum/attachment.php?attachmentid=9128&d=1154022693 [cgtalk.ru]
I hoped, that it should work as follows:
Extend metafield by bias first, then find intersection with extended metafield.
http://www.cgtalk.ru/forum/attachment.php?attachmentid=9129&d=1154022739 [cgtalk.ru]

Attachments:
pict1.jpg (88.0 KB)

User Avatar
Member
13 posts
Joined: July 2005
Offline
Could you try your border testrender with mantra -r option ( no micropoly rendering ) ? I have seen several problems in mantra with mp rendering that are gone with raytracing only over the last few month. For example http://odforce.net/forum/index.php?showtopic=4246. [odforce.net]

Sven
User Avatar
Member
136 posts
Joined: July 2005
Offline
It will not help
The problem is much deeper.
Function does not work how it is expected….i mean logically expected…
because there is no words in the documentation about how it should work.
User Avatar
Member
311 posts
Joined: July 2005
Offline
yeah, i'm seeing this too.

I fiddled with a number of i3d generation and render parameters and was getting similar results.

I suspect it's either busted, or the sneaky thing that makes it work properly is not documented.
User Avatar
Member
7024 posts
Joined: July 2005
Offline
Nope, there is nothing “wrong” with it. I ran into this on Elektra. It's a bounding box problem. Basically, you're “displacing” the noise too far and trying to sample outside the bounding box of the metaball, which is always going to be undefined.

The way to fix this, apparently, is to displace the noise towards the centre of the metaball. However, I never got around to this. We just made the metaballs bigger with a smaller weighting and hoped for the best since we ran out of time… It was a big problem though.

If we're lucky “someone” will post the snippet of code that resolves this… if we're lucky )

Until a better solution comes along though, it's this or use i3D. Check out the 3rd party volumetrics solution mentioned elsewhere on the forum (bad brain, can't remember the name) which looked very cool.

Cheers,

Peter B
User Avatar
Member
136 posts
Joined: July 2005
Offline
The way to fix this, apparently, is to displace the noise towards the centre of the metaball.
The question is how to find this center

We just made the metaballs bigger with a smaller weighting and hoped for the best since we ran out of time…
I also solve this problem with the same way.

If we're lucky “someone” will post the snippet of code that resolves this… if we're lucky
Do You mean: “I know that ”someone“ solve this problem” ?????
  • Quick Links