Jump to content

Atmosphere Shader In Rib


Recommended Posts

Hi All,

Guess I should do a quick intro seeing this is my first post - I'm new to Houdini, but have been using XSI for years. Work in post prod in London and quite liking proceduralism so far. Hopefully I'll see some familiar faces (avatars? names?) around soon enough. Anyway - on to the problem.

I've got 3delight running as the renderer for Houdini and I'm trying to apply a shader in Houdini so that when the rib is exported it'll be Atmosphere "shader" etc etc. However I've had no luck in tracking down what to use - I've been through tonnes of the generic options as well as the rman shader and nothing seems to do what I'm after. Though a few bits and pieces in the help have hinted it's doable, but no dice so far.

Could anyone shed some light on the topic?

Cheers,

Alan.

Link to comment
Share on other sites

Try putting

Atmosphere "shadername" "type param" [value]...

in the Pre-Include field in the Render tab of the Geometry OP. Should work...

Cheers

Hi diula,

Thanks - I gave that a try, but still no luck.

This is the relevant section of the rib file - You can see it put the atmosphere attribute in the wrong position and the surface shader remained in place.

  #
  # Object: /obj/model
  AttributeBegin	# {
	Attribute "identifier" "string name" ["/obj/model"]
	Attribute "trace" "integer maxspeculardepth" [2]
	Attribute "visibility" "integer trace" [0]
	Color [1 1 1]
	Opacity [1 1 1]
	Attribute "displacementbound" "coordinatesystem" ["shader"] "sphere" [0]
# Inline include - no file specified
Atmosphere "thickness"
# End of include
	TransformBegin # {
	Transform [1 0 0 0 0 1 0 0
	0 0 1 0 0 0 0 1]
	Surface "plastic"
	TransformEnd # }
	Transform [1 0 0 0 0 1 0 0
	0 0 1 0 0 0 0 1]
	ObjectInstance 1
  AttributeEnd	# }
  #
  # EndObject: /obj/model

I've also just found out about the atmosphere object - so I've tried that and it's close to working

 # Atmosphere object /obj/fog1
 TransformBegin # {
   Transform [1 0 0 0 0 1 0 0
	0 0 1 0 0 0 0 1]
   Atmosphere "thickness"
 TransformEnd # }

Only problem is it doesn't actually have any geometry in there - which I did place inside the object.

Cheers,

Alan.

Link to comment
Share on other sites

Well, then you may assign the Null surface shader (if you want your surface shader to do nothing - you cannot really remove the surface shader in renderman, it will simply inherit the last one defined, and since H orders everything in AttributeBegin/End blocks, you will en up with the defaultsurface).

By the way, what do you mean by not being in the right place? You have declared one Atmosphere shader only, and it will be applied to the geometry. Have you tried the PostInclude field? Can you be more specific t owhat you're trying to achieve?

Link to comment
Share on other sites

Hi diula,

Ideally I'd like this:-

  #
  # Object: /obj/model
  AttributeBegin	# {
	Attribute "identifier" "string name" ["/obj/model"]
	Attribute "trace" "integer maxspeculardepth" [2]
	Attribute "visibility" "integer trace" [0]
	Color [1 1 1]
	Opacity [1 1 1]
	Attribute "displacementbound" "coordinatesystem" ["shader"] "sphere" [0]
	TransformBegin # {
	Transform [1 0 0 0 0 1 0 0
	0 0 1 0 0 0 0 1]
	Atmosphere "thickness"
	TransformEnd # }
	Transform [1 0 0 0 0 1 0 0
	0 0 1 0 0 0 0 1]
	ObjectInstance 1
  AttributeEnd	# }
  #
  # EndObject: /obj/model

But I've tested with the null shader suggestion and that seems to do the trick.

Thanks very much for your help.

Cheers,

Alan.

Link to comment
Share on other sites

Another issue I just found - Houdini is automagically putting an

Attribute "visibility" "integer trace" [0]

in the Attributes section of my model. Though I can't find the setting anywhere to alter this attribute.

Cheers,

Alan.

EDIT: Skip that - it was just diffuse ray visibility on the geometry node.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...