Jump to content

Recommended Posts

First of all, thanks very much for sharing this. I'm trying it out and it looks amazing straight out of the box! I'm having a little difficulty making it refract but I'll get there...

 

I was just looking at your glass / juice setup and I don't get what 'VOPint' is in the Inline VOP. Google isn't helping me with it, could you tell me what it's about?

Link to comment
Share on other sites

First of all, thanks very much for sharing this. I'm trying it out and it looks amazing straight out of the box! I'm having a little difficulty making it refract but I'll get there...

 

I was just looking at your glass / juice setup and I don't get what 'VOPint' is in the Inline VOP. Google isn't helping me with it, could you tell me what it's about?

VOPint is just another name for int. It is defined in voptype.h (you may take a look how it is in $HFS/houdini/vex/include/) and this types used in most VOP operators and in the PhySurface also.

You can replace VOPint by int and it will work.

However, sometimes vcc prints strange errors in voplib.h when there are few custom operators of the same type in VOP network. In my expirience this error can be avoided by using VOP types (VOPint, VOPfloat, VOPvector, etc.) instead of builtin (despite that they are the same).

 

I think it's relative to mechanism of Vex code generation in VOP network.

Edited by rsd
Link to comment
Share on other sites

Fantastic. Many thanks Roman - kudos to you.

 

If your in London - we at Realise will like to buy you lots of beer! :)

 

I see there's a lot of interesting optimisations available. I haven't had enough time to dig deep - but how compatible would you say this is with the Disney plausible shader? I'm asking, as there's lots of interesting software that compliments the Disney model - and I'd be keen to explore how your shader could fit into that workflow.

 

Again, thanks from all of us.

 

Cheers,

 

Paul

Link to comment
Share on other sites

I see there's a lot of interesting optimisations available. I haven't had enough time to dig deep - but how compatible would you say this is with the Disney plausible shader? I'm asking, as there's lots of interesting software that compliments the Disney model - and I'd be keen to explore how your shader could fit into that workflow.

 

 

Rather no then yes.I discovered the Disney's paper a half-year ago. By then the most parts of physhader was done and I nothing took from paper.

 

The main difference between the disney's way and physhader is that second one is more drastic in some principles. For example, physhader has no such parameter as metallic, there is only parameter with two discrete values: dielectric or conductor. This is also the reason why I didn't implement GTR (at least for a while) - I'm trying to keep the parameter number as little as possible.

 

Currently I'm writing a wiki where I will explain details.

Edited by rsd
Link to comment
Share on other sites

  • 2 months later...

Small upgrade v1.0.1

 

* Move to Houdini FX version (now it isn't necessary to rebuild the asset)

* Added BSDF sampling mode for RayTrace/Micropoly
* Implemented variance antialiasing for RayTrace/Micropoly
* Dispersion now is not limited to only smooth surface, it affects all transmission components.
* Introduced volume model
* Improved volume absorption and single scattering at glossy surfaces
* Fixed thick sheet shading
* Fixed complex Fresnel

 

If this release works with H13, it is probably last one which does. In next versions I will use some new features of H14.

  • Like 1
Link to comment
Share on other sites

This is really cool, Roman!

Thanks so much.

 

Just for your info. It wasn´t immediatly obvious to me that to get a dielectric glass-like surface I needed to disable the diffuse component. You might want to add a small comment to the help.

 

Thanks again.

Link to comment
Share on other sites

Javier, thanks for suggestion.

I will extend pop-up help.

Unfortunelly pop-ups don't work on my machine, so I don't pay attention to this.

 

 

It wasn´t immediatly obvious to me that to get a dielectric glass-like surface I needed to disable the diffuse component.

 

I explain this.

 

I made such behavior of diffuse because I want to make PhyShader to comply with real world appearances more. Actually, I think in this case the combination of diffuse and refraction must give SSS, but separate diffuse and SSS are more flexible. So I made diffuse component to force opaque, but with transmission enabed it little changes.

 

 

There is also built-in help page on PhySurface (click on question mark). (It is absolutely illeterate written, but it contains some useful info).

Edited by rsd
Link to comment
Share on other sites

  • 1 year later...

Now I have more time to continue development and I finally switched on H15.

 

There is a minor update - v1.1.0:

  • various bugfixes
  • improved PhySurface material
  • minor UI change of PhySurface: separated IOR
    • inside IOR is now vector2 (n, k)
    • outside IOR is now standalone float parameter
  • PhyVolume is now a full part of PhyShader:
    • per-light exports support (in "volume_direct" variable)
    • fixed anisotropic volume BSDF sampling
    • added scattering color coefficient
    • added absorption color coefficient
  • physhader.otl is renamed to physhader.hda (the most important improvement) to comply with new naming conventions

Don't forget to remove old *.otl file to avoid possible conflicts of operator types

 

Here is a test render of PhyVolume.

 

There is also a lot of improvements are planned - link.

Any help is appreciated.

  • Like 3
Link to comment
Share on other sites

I just drafted a new release - v1.2.0 download

There are many useful changes in this release.

  • The two old GGX CVEX BSDF's (reflect and refract) have rewritten to the one GTR BSDF with better sampling (distribution of visible normals by Eric Heitz). It's used in PhySurface and available as a separate VOP type operator.
  • Multiple subsurface scattering has completely rewritten. I discarded the complicated dipole BSSRDF in the favor of approximated reflectance profile by Per Christensen. New SSS is also available as a separate VOP.
  • PhyShader materials are really usable now. There are two new materials: PhySurface Layered material and PhySurface Nested material. PhySurface material has improved and fixed. The materials now have OpenGL parameters linked to corresponding PhySurface parameters, improving viewport experience.
  • Several UI changes such as IOR presets menu and dispersion presets menu.
  • Dispersion is brighter now.
  • Faux metallic nk-based dispersion. If dispersion is enabled in Conductor mode, reflection color will be desaturated through complex Fresnel curve.
  • Most bugs (I hope all) are fixed
  • Like 3
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...