| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
Don't render any part of an emote with alpha < 0.5. Improves visual
clarity in the common case at the cost of generality.
* Emotes now use physically-based shading.
* Use round() to denoise shader parameters instead of floor()
|
| |
|
|
|
|
|
|
|
|
|
| |
Emotes require 2 bytes per char. They're encoded into the region
[0xE000, infinity). The texture is 4k, and uses 1k vertical pixels
per emote segment, for a maximum of 32 segments.
* Reduce volume of noise indicator by 90%. Quiet is probably better.
Might want to add a volume slider idk.
* Bugfix: emotes without a transparency channel now work
* Address a couple Unity performance complaints about the shader
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Done:
* Users can add images to Fonts/Emotes/
* The basename of that image ('clueless.png' becomes 'clueless') is the
keyword to make the image show up in game.
* Fix a bug in the shader where letters on the 2nd texture and later
would have UV outside of [0.0, 1.0]
Not yet implemented:
* transcribed words are encoded using emotes mapping
|
| |
|
|
| |
Applied to both PBS and TaSTT shaders.
|
| |
|
|
| |
Diffuse reflections can show up on this part.
|
| |
|
|
|
|
|
| |
Sample the texture up to 5 times using the algorithm shown in
`aa_sample_algorithm.py`. Results are averaged together.
* Redo dithering PRNG
|
| |
|
|
|
|
|
|
|
| |
I realized that ddx(i.uv.x) tells us how wide the current pixel is w/r/t
UV coordinates. We can use this to implement a better form of dithering,
which gets weaker as the viewer gets closer and stronger as they get
farther.
* Fine-tune mip map filtering based on play testing
|
| |
|
|
|
|
| |
* Fix prefab: bounding box & position are now set to 0
* Fix shader: text is no longer upside down
* Update README
|
| |
|
|
|
|
| |
Users can now use PBR textures on their custom backplate!
* Update TaSTT.fbx: UV map aspect ratio matches board
|
| |
|
|
|
|
|
| |
Metallics now reflect the map's cubemap.
* Remove SpecularTint (did nothing)
* Adjust mipBias to be sharper
|
| |
|
|
|
|
|
|
|
| |
Need to calculate this in the space of letter UVs, not the overall text
box UV space, in order for the correct mip maps to be chosen.
* Expose dithering as a toggle in the shader
* Actually generate mipmaps
* Fine-tune mipmapBias for legibility
|
| |
|
|
|
|
| |
* Enable streaming mipmaps on glyph bitmaps
* Sample glyph bitmaps using mipmaps
* Add temporal noise to letter UVs (dithering)
|
| |
|
|
|
|
| |
* Render at 3k render queue to avoid clashing with avatar meshes
* Set reasonable shader defaults
* Remove unused material
|
|
|
TaSTT shader now uses physically based rendering (PBR). Users can pick
smoothness, metallic, and emissive.
This implementation borrows heavily from catlikecoding.com's excellent
tutorials, which are released under MIT No Attribution (MIT-0).
https://catlikecoding.com/unity/tutorials/license/
To retain what little clarity remains in the shader, I have chosen not
to attribute the code in the source itself.
|