Editing
Fur Shader Passes
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Rendering Passes == Fast Fur is a 3-pass shader. Each pass runs from start to finish before the next pass starts. == Pass 1 - The Skin == Many lighting effects, such as proper specular lighting and normal maps, are simply too slow to calculate for every layer of fur. As a compromise, my shader only renders the skin "expensively". However, an unexpected benefit of rendering the skin separately is that it actually renders faster than doing everything in 1 pass. As far as I can tell (and this is really just a guess!), trying to render the opaque skin at the same time as the mostly see-through fur results in the GPU caches missing a lot. The speed increase is so great, in fact, that 16 "cheap" fur layers + 1 "expensive" skin layer renders significantly faster than 15 "cheap" fur layers + 1 "cheap" skin layer. == Pass 2 - The Fur == Almost nothing is rendered "correctly" by the fur layers. They take every short-cut possible, resulting in all sorts of lighting errors and glitches (if you know what to look for). However, speed is absolutely essential, because these layers make up the vast majority of the render time, and rendering lots of "cheap" layers looks significantly better than rendering only half as many "expensive" layers. The shader also has a couple of tricks up its sleeve: * Trick #1: it can turn the fur layers off (if too far away, offscreen, or backwards) by having the Hull shader ask the Tessellator to multiply the number of triangles by 0, which throws them out before they reach the Geometry shader stage. This is a MASSIVE speed boost, roughly doubling the speed of the shader. * Trick #2: it can have the Hull shader ask the Tessellator split each triangle into 4 when taking a photo. However, the Domain shader then ignores the Tessellator's instructions, and instead just makes 4 copies of the original, un-tessellated triangle. The fur can thus be rendered at up to 4x resolution, but only when needed. == Pass 3 - The Overcoat == Added in v5.0, the overcoat is a translucent layer of fur that acts as a cheap visual stand-in for actual fur when the avatar is far away. It allows the shader to turn the "real" fur layers off completely, which results in a significant speed boost. At close range the overcoat is not visible, but as distance increases the overcoat fades in and expands outwards to about 2/3rds the thickness of the fur.
Summary:
This is a minor edit
Please note that all contributions to Warren's Fast Fur Shader may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Warren's Fast Fur Shader:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Move
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Important Links
Gumroad Page
Discord Server
Youtube
Tools
What links here
Related changes
Upload file
Special pages
Page information