_1024_VectorFont QCPlugin
QC’s text capabilities are great, but sometimes you might need a tiny plugin to quickly render a vector font in 3d space.
That’s where this plug comes handy.
It’ll let you input a string and render it using openGL vector lines.
Hopefully in faster fashion than through rendering an image.
The plugin is still beta, as I’ve got to test its speed … but it should theoretically be faster than the stock method.
No font selection available, as every character is hardcoded as GL_LINES, using some data kindly borrowed from uglyfont.
Let me know any speed issues or possible bugs.
EDIT: I just added a Completion input to the string, inspired by ToneBurst’s excellent JS string patches. I also added a Speed Test sample file, that requires FSK’s tremendous Simplex Plugin. (you can download his plugin at Kineme.net)
EDIT2: Thanks to everyone for testing, the new version 1.1 features bugfix (string length), optimizations and is also compiled as universal 32/64 bit, Intel AND PPC…
September 1, 2010 at 01:39
So this plugin isn’t happening for me. Any chance it is SN / Intel only.
I’m on Leopard: PPC, 10.5.8.
September 1, 2010 at 01:40
Oh just saw the notes. Who’s running QC on PPC these days? ahh that would be me!
September 1, 2010 at 01:42
Why are some 3rd party QC plugins Intel only out of interest? Is it some common Open Source libraries? None of the Kineme plugins I can think of are Intel only…
September 1, 2010 at 11:11
version 1.1 is now compiled for Intel and PPC processors.
September 1, 2010 at 19:17
Good news. It’s nice to play with it.
September 1, 2010 at 02:21
Nice, is fast. Seems to buggilly retain previous text beyond length of new text if you change the string input (eg “ABCDEFGH” to “IJK” becomes “IJKDEFGH”).
September 1, 2010 at 11:11
thanks for noting this Tom, this is now fixed.
September 1, 2010 at 14:37
Brilliant! I was waiting for someone to do something like this. Actually, looks like you’ve somehow got access to my list of QC-plugins-I’d-like-to-write-but-will-probably-never-get-around-to, and are working your way through it!! Keep up the great work :D
This is a step along the road to a fully-realised suite of vector tools for QC. The next step would be to be able to create 3D GL-based vectors from an arbitrary font and/or EPS file. Definitely a good start, though.
a|x
September 1, 2010 at 14:55
EPS is problematic, but i got a semi-working SVG renderer.
QT does this nicely, but a QT-enabled QCplugin is around 10MB ;(
Internally, we’ve also got a DXF to GLTools exporter, but it works only with straight lines. Pretty lame.
GL-based vectors from arbitrary font is also on my WIP list, but I’ve got problems compiling Freetype or Cairo within a QCplugin environment. I won’t give up tho’…
September 1, 2010 at 15:44
Excellent. Yeah, the SVG renderer sounds good. There must be some kind of more minimal library just for vector>GL translation. I was reading an article in GPU Gems (can’t remember which volume, but one of the ones that’s free on NVIDIA’s site) about a method for GPU-accelerated vector-rendering. Don’t know if Apple’s builtin vector tools use a similar method internally.
My thought was always that using Apple’s own vector and font-rendering tools would be the way to go, but it may be that they’re 2D-only, and produce flat images, rather than true 3D geometry, in which case they’re probably not such a good bet.
a|x
September 1, 2010 at 19:23
EPS is effectively depreciated in the print world, according to Adobe experts I’ve listened to, it sucks. It’s all PDF.
September 1, 2010 at 19:38
Re: EPS v PDF:
Well that’s for reasons unrelated to simple vector declaration, so pointless comment . it’s mainly about restrictive limitations of eps v pdf eg. no native transparency in EPS means compromising the data.
September 1, 2010 at 19:50
One more thing…
“My thought was always that using Apple’s own vector and font-rendering tools would be the way to go, but it may be that they’re 2D-only, and produce flat images, rather than true 3D geometry, in which case they’re probably not such a good bet.
a|x”
2D is a subset of 3D restricted to a single plane so if it’s actually maintaing point data can’t an arbitrary Z be generated. Then transformed in 3D space.
September 1, 2010 at 14:40
Incidentally, funny your should mention the JS String patches. I was thinking of tackling that as a first attempt at a QC plugin, ie recoding the JavaScript to use NSString in a plugin with string input and output.
a|x