From: Warda Kawabata
Winter, I'm curious. Why do you hate llsettext so much? In terms of getting the actual words to the reader as fast as possible, I have yet to see anything that is even remotely comparable in terms of speed. It doesn't even particularly impact the server, since that script isn't trying to constantly refresh anything.
Why I hate Floating TextAn Essay by Winter Ventura
I hate floating text, because it is unreliable. I'm a graphic designer.. an "artist" if you will.. and as such, I'm a bit of a control freak. I grew up in an age when a pixel was a pixel.. and there were only 72 in an inch. Images were measured in pixels, and graphics, like GUI's were planned in terms of "how many pixels tall, and how many wide". Designing for the World Wide Web was a nightmarish transition.. where everything was relative, often resolution dependant, and a picture that took up half the screen on one computer, could be the size of a postage stamp on another.
Floating text is not a reliable distance from a prim. Floating text is not a reliable size in relation to a prim. If you cam back, or in, the floating text moves.. often unpredictably. If your screen resolution is high, or low, the floating text can be tiny, or larger than you want. Floating text ALWAYS faces the viewer... even if you are standing behind the opject, or your camera is looking down on an object. Rotating the camera can cause floating text to sweep wildly and unrealistically around.
Even particles will scale down when you cam away. The size is relative to it's distance from the camera. Floating Text doesn't do this, and worse, it may move around vertically in relation to the source prim.
If object chat is the "noise pollution" of SL, floating text is the graffiti.
Have you ever rented a fairly expensive stall in a mall, or other establishment, or purchased a lovely piece of land... and had someone, on the other side of the line, install something with floating text? perhaps a JEVN vendor, or a simplified box vendor.
There is no predictability whether the walls will be thick enough to "BLOCK" the text. There is some vague magic going on... voodoo as we called it on the Mac... sometimes you can block it, and sometimes you can't. Floating Text most often bleeds through walls, even pairs of walls. In a mall situation, this can be four lines of text, smack dab in the middle of YOUR vendor.
Floating text *IS* appropriate for some uses. I think that some cases, it's reasonable. A great example is "touch me to unpack" on a self-unpacking boxed item. Things that get dropped, and used, then put away.. scopes on weapons.. some hud objects use floating text to good effect. But floating text.. on a STATIC object like a sign or a vendor.... something that's installed.. and not moving.. it's like leaving the blender plugged in and turned on 24/7.
Object chat is annoying.. Floating text showing through your neighbors walls.. is just plain RUDE. I think there HAVE to be more considerate, and attractive ways to communicate with people. I think that dynamic prices in vendors are obviously neccesary. But displaying that can be done in other ways, that don't take up several meters (from some perspectives) of space.
------------------------
From: Ace Albion
Winter- I did something similar (I only used numbers 0-9 on my alphabet texture though) to do a digital clock display on one prim- what was the reason you chose to use three faces instead of five? I used the cut/hollow prism squished flat.
Why did I go with 3 per prim? that answer is remarkably simple. A cube with a 66% taper, and flattened, makes 3 faces. Each of these faces is an "Exterior" face. The coordinate system for offsetting the texture was therefore identical in each case. A little rotation of the texture was in order, but the same texture, and the same coordinates.. worked for each of the three letters.
A 4-letter prim uses a prism, I beleive.. as does a 5-letter prim. The 4-letter prim has 2 faces that are "cut faces". The cut faces thankfully will shift like "normal faces"... BUT the "2 "normal faces" would now be missing parts, meaning that the texture would need to be adjusted in scale and position for THEM!.. A 5-letter prim is a prism, cut, with a hollow face in the center. Now, not only do we have 2 regular faces (well.. partial regular faces) AND two cut faces.. NOW we have a huge hollow face. Setting aside all the issues with trying to get that texture to the right scale and position (why ARE hollow faces so hard to texture?)... there's a whole part of the hollow face that extends BELOW the 2 cut faces. Meaning now that any texture I would use, would have to have a great deal of "white space" in order to use alpha'd fonts.
Not only would this drastically complicate the coordinate system... and getting all 5 letters to work (meaning 3 major variants of the scrip to interpret the letters). but now, my texture would have to be a great deal larger, just to support the same apparent resolution of the letters. In the end, I did the math.
3 letters per primBase + 7 letterprims = 8 prims, 21 letters.. 1 script for all letters, with a minor mod to each
5 letters per primBase + 4 letterprims = 5 prims, 20 letters... 3 letter scripts, major hassle, larger image = slower load times.
so, for 3 prims (6 on the double sided one)... I save a great deal of work on my part, get a much higher visual quality for my product the texture loads MUCH faster (256x256 for 95 characters).
switching to 4 letters per prim would only earn me back 2 prims (on a 20-ish letter display board)... and would have doubled the work.
switching to 5 letters would have gained me only 3 prims, and would have easily quadrupled the work, and slowed the texture load time or reduced the visual quality.
switching to a variant of xyText would have dramatically increased upload costs, and photoshop pre-design work, in order to generate my own font, and would have had ALL the same problems with letters loading slowly that xytext suffers from.
Normal faces" was very important.. because the coordinates were mathematically predictable, and there wasn't any overlaps on alpha textured faces.