# Knald Technologies Documentation

### Site Tools

bent_normal_maps_knald_1.2

# Differences

This shows you the differences between two versions of the page.

 bent_normal_maps_knald_1.2 [2017/05/01 23:08]adavies bent_normal_maps_knald_1.2 [2017/05/23 03:49] (current) Both sides previous revision Previous revision 2017/05/01 23:08 adavies 2017/05/01 23:08 adavies 2017/02/08 22:39 adavies 2016/10/29 14:03 adavies 2016/10/29 14:03 adavies [The Bent Normal Group's Settings] 2016/10/29 14:02 adavies 2016/10/29 14:01 adavies 2016/10/12 19:11 adavies 2016/10/12 16:49 adavies 2016/10/12 16:48 adavies 2016/10/10 20:37 adavies 2016/10/10 20:13 adavies 2016/10/10 16:02 adavies created Next revision Previous revision 2017/05/01 23:08 adavies 2017/05/01 23:08 adavies 2017/02/08 22:39 adavies 2016/10/29 14:03 adavies 2016/10/29 14:03 adavies [The Bent Normal Group's Settings] 2016/10/29 14:02 adavies 2016/10/29 14:01 adavies 2016/10/12 19:11 adavies 2016/10/12 16:49 adavies 2016/10/12 16:48 adavies 2016/10/10 20:37 adavies 2016/10/10 20:13 adavies 2016/10/10 16:02 adavies created Line 4: Line 4: ===== The Bent Normal Group'​s Settings ===== ===== The Bent Normal Group'​s Settings ===== + + ---- + + [{{https://​s3.amazonaws.com/​docs.knaldtech.com/​docuwiki/​bent_normals_baker_knald.png?​|Bent Normals Settings}}] + + \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ + + **Weighting:​** A choice between different methods of occluder weighting. + * **Cosine:** Each sample is weighted by it's cosine to the normal. + * **Uniform Clamped:** The bent normal represents the expectation for the distribution of visible directions. + * **Uniform Unclamped:​** Corresponds to projection of visibility onto second spherical harmonic band L=1. + + [{{https://​s3.amazonaws.com/​docs.knaldtech.com/​docuwiki/​buck_head_magnitude_cosine_clamped_unclamped.jpg?​nolink&​1150|The difference between the three weighting methods for Magnitude within Knald. Cosine (left), Uniform Clamped (middle) & Uniform Unclamped (right).}}] + + **Flip Green:** Here you can change the axis in the dropdown to match the Normal/​Derivative maps for your engine or application as required. By default Knald is set to X+Y+Z+, so if you are using a Normal or Derivative map that differs from this configuration,​ you will need to change this setting. To change this setting check the Flip Green check box to save your choice. ​ + + **View OS Normal:** Enables the viewing of the Object Space Bent Normals map in the Bent Normals tab rather than the Tangent Space Bent Normals map. + * **Normalized:​** A choice of how the magnitude is stored within the exported texture. + * **Normalized Checked:** The texture is normalized and the magnitude of the Bent Normals map is packed into the Alpha channel of the exported texture. + * **Normalized Unchecked:​** The texture is not normalized and the magnitude of the Bent Normals map is included in the RGB channels of the exported texture. + + **Ignore Backface Hits:** Checking this option ignores backface ray hits, which is useful in instances where you are using floating geometry on the High Poly mesh. + + **Rays:** This slider is used to determine the number of samples in a discrete evaluation of the integral across the half sphere for diffuse outgoing radiance with a constant radiance field with a minimum of 256 and maximum of 8192 rays being available. + * A higher number or rays will increase the quality of the Bent Normals Map at the cost of speed. + * We do not recommend going below a value of 512 rays as this can cause banding to appear in the map. + * A value of 1024-2048 or above should be perfect for production. + + **Bias:** A bias value based upon mesh density. A value of 10 should be good in most situations. + [{{https://​s3.amazonaws.com/​docs.knaldtech.com/​docuwiki/​os_bent_normal.jpg?​nolink&​950|A normalized Object Space Bent Normals Map set to Cosine with the associated magnitude.}}] + + ===== Bent Normal Map Types ===== + + ---- + + Knald can [[the_baker_knald_1.1|bake]] both Tangent Space and Object Space Bent Normal map data, and does so simultaneously when baking is initiated. While both maps can be used for real-time rendering, Object Space tends to be the most commonly used during runtime. + + + ===== Tangent Basis ===== + + ---- + + Knald uses MikkTSpace by Morten S. Mikkelsen, which is available for free, from [[http://​wiki.blender.org/​index.php/​Dev:​Shading/​Tangent_Space_Normal_Maps]] & the [[http://​www.xnormal.net/​Developers.aspx|xNormal SDK]]. + + It also calculates the bitangent on the fly by default due to the fact that it is more efficient on modern hardware (sending data from vertex to pixel shader is more costly than executing a minor calculation in the pixel shader), which is consistent with Unreal Engine 4((As of release 4.7 https://​docs.unrealengine.com/​latest/​INT/​Support/​Builds/​ReleaseNotes/​2015/​4_7/​index.html)) & Blender.
bent_normal_maps_knald_1.2.txt · Last modified: 2017/05/23 03:49 (external edit)