| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
* Refactor shader code to make development easier. Templates are now
as small as possible.
* Update scaling code. Use Unity scaling instead of a blendshape.
* Check in a fuckton of shader FOSS. Mostly unused.
* Update TaSTT.fbx. Now has 6 faces instead of 2.
|
| |
|
|
|
|
|
| |
* Fix thin outline in transparent region of rounded corners
* Remove anti-aliasing. Now that VRC supports it natively, this is no
longer necessary.
* Use more efficient noise function for dithering.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
faster-whisper doesn't need it. This reduces install size from 6.00GB
with base.en model to 1.70GB.
* Use a single sampler in shader (enables using more than 16 textures)
* Minor legibility regression - need to improve AA.
* Enable backface culling in shader (minor performance win)
|
| |
|
|
|
|
|
| |
Depth was being calculated wrong, causing text box to render behind
objects it's in front of.
* Fix package.ps1 compression. 7z was increasing file size, somehow.
|
| |
|
|
|
|
|
|
| |
This fixes issues where the transparent corners of the textbox render
in front of other materials, causing those other materials to skip
rendering.
* Update README.md with roadmap and avatar resource usage.
|
| |
|
|
|
|
|
|
|
|
| |
We used to populate 7 4k textures + 1 2k texture for all users.
Now if the user has configured `bytes_per_char=1` in the Unity
panel, we just populate a single 512x512 texture containing the
first 128 ASCII characters.
This reduces texture memory usage by 99.74%, from 134.67 MB to
340 KB.
|
| |
|
|
|
|
|
|
| |
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.
|