|
| 1 | += GameDev PBR Shader = |
| 2 | + |
| 3 | +#type: node |
| 4 | +#context: sop |
| 5 | +#internal: gamedev::mat_gamedev_shader |
| 6 | +#icon: VOP/pbrmetallic |
| 7 | +#tags: tech, model, gamedev |
| 8 | + |
| 9 | +""" Physically Based Viewport Shader """ |
| 10 | + |
| 11 | +This shader was developed as the precursor for the new High Quality Lighting shader in Houdini 17.5 a lot of the calculations are the same with a few differences |
| 12 | + |
| 13 | +* Ambient Occlusion Map Support |
| 14 | +* Realtime Environment Cube Map Blurring |
| 15 | + |
| 16 | + |
| 17 | +@parameters |
| 18 | + == Surface == |
| 19 | + |
| 20 | + === Albedo === |
| 21 | + Base Color: |
| 22 | + Basic Tint on the Albedo, defaults to .8 to avoid pure whites. |
| 23 | + Use Texture: |
| 24 | + Enable AO Map |
| 25 | + Texture: |
| 26 | + Albedo Map |
| 27 | + === Roughness === |
| 28 | + IOR: |
| 29 | + Index of Refraction, similar to the base PBR value of 0.04. High Values refract more light |
| 30 | + |
| 31 | + Note: |
| 32 | + Formula used to convert ior to spec is |
| 33 | + |
| 34 | + `pow((ior-1)/(ior+1),2)` |
| 35 | + |
| 36 | + Roughness: |
| 37 | + Multiplier over the roughness texture |
| 38 | + Horizon Smoothing: |
| 39 | + Fade the lighting at steep glancing angles in order to reduce light bleeding (Not reflected in Mantra) |
| 40 | + Invert Roughness: |
| 41 | + Inverts the roughness so it behaves like Gloss (Not reflected in Mantra Shader) |
| 42 | + Use Texture: |
| 43 | + Enable Roughness Map |
| 44 | + Texture: |
| 45 | + Roughness Map |
| 46 | + Channel: |
| 47 | + Which channel from the texture to use as roughness. Helpful if you have packed textures. |
| 48 | + |
| 49 | + === Metallic === |
| 50 | + Metallic: |
| 51 | + 1 means fully metallic, 0 means dialetric. Generally speaking in between values shouldn't exist in the real world. |
| 52 | + Use Texture: |
| 53 | + Enable Metallic Map |
| 54 | + Texture: |
| 55 | + Metallic Map |
| 56 | + Channel: |
| 57 | + Which channel from the texture to use as metallic. Helpful if you have packed textures. |
| 58 | + |
| 59 | + |
| 60 | + === Normal === |
| 61 | + Enable: |
| 62 | + Enable Normal Mapping |
| 63 | + Texture Path: |
| 64 | + Path for the Normal Map Texture |
| 65 | + Effect Scale: |
| 66 | + Strength Multiplier |
| 67 | + Flip X: |
| 68 | + Invert the Red Channel |
| 69 | + Flip Y: |
| 70 | + Invert the Green Channel |
| 71 | + Use Model's Tangent : |
| 72 | + Use the Model's TangentU Attribute for MikkT Calculations |
| 73 | + |
| 74 | + === Occlusion === |
| 75 | + Occlusion: |
| 76 | + Controls the intensity of the AO map |
| 77 | + Use Texture: |
| 78 | + Enable Ambient Occlusion Map |
| 79 | + Texture: |
| 80 | + Ambient Occlusion Map |
| 81 | + Channel: |
| 82 | + Which channel from the texture to use as Ambient Occlusion. Helpful if you have packed textures. |
| 83 | + |
| 84 | + === Emissive === |
| 85 | + Emission Intensity: |
| 86 | + How Strong is the emissive(glowing) parts |
| 87 | + Emission Color: |
| 88 | + The color of the glow |
| 89 | + Use Texture: |
| 90 | + Enable Emissive Map |
| 91 | + Texture: |
| 92 | + Emissive Multiplier (Mask w/ Color) |
| 93 | + |
| 94 | + === Transparency === |
| 95 | + Transparency: |
| 96 | + Toggle alpha (transparency) |
| 97 | + |
| 98 | + == Advanced == |
| 99 | + Importance Sampled Ambient: |
| 100 | + Use a fancier way of sampling the diffuse information from Environment Lights |
| 101 | + Number of Diffuse Samples: |
| 102 | + Number of Samples of the Environment Light during diffuse calculations |
| 103 | + Importance Sampled Reflections: |
| 104 | + Realtime blurring of the cubemap based on the roughness of the object |
| 105 | + Number of Specular Samples: |
| 106 | + Number of Samples of the Environment Light during specular calculations |
| 107 | + Shade Both Sides As Front: |
| 108 | + Reverses the backsides to ensure they are shaded like the front |
| 109 | + |
0 commit comments