A novel technological approach to vector graphics (“Vector Graphics Complexes”)
1–10 of 26 posts
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#2Please switch your approach ASAP or you will be beaten by a web-based app that does this exact thing, someone else will be the Figma to your Sketch.
This specific use-case doesn't require the large amount of resources that would necessitate a desktop app.
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#3Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#4Expression was based on the founders' PhD work too: 'skeletal strokes', a really cool feature that allowed painting with complex vector or bitmap strokes.
It reached version 3, then Microsoft acquired the company in 2003, re-wrote the software, got it wrong... and quietly killed it.
Expression had the BEST user interface, was packed with features, and the website was whimsical and unique.
Guess what? It's still available! A free download for Windows, that works perfectly in Wine. It's better than Affinity Designer, and most other vector drawing apps. I would place it alongside Adobe Illustrator and CorelDRAW - except it's more intuitive and easier to use. (Sure, it lacks features, because it's nearly 20 years gone!)
I love this new vector graphics technology. But they have a lot of catching up to do to make a full-featured application. If only their tech could be combined with Expression (a far-off fantasy!), the world would have another awesome vector graphics application.
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#5Amazing, but this really should be a web-based app and not desktop based. Or a hybrid strategy where the desktop-based app is actually running JavaScript in an Electron shell or something. Please switch your approach ASAP or you will be beaten by a web-based app that does this exact thing, someone else will be the Figma to your Sketch. This specific use-case doesn't require the large amount of resources that would ne…
Rendering the vector paths requires the same type of heavy computation as a modern AAA game, and we don't see AAA games implemented in Javascript for good reasons. The paths need to be tessellated, sent to the GPU, then the different layers need to be composited, and all of this takes computational resources.
In addition, unlike Figma where the vector paths are created by manipulating control points, in VGC Illustration it is expected that the paths can be created by sketching them, hand-drawn. This requires extremely low latency and high FPS for the drawing experience to be any good. There's already quite a bit of lag between the stylus and the shown stroke even in Photoshop, you don't wan't this to be any worse :)
I hope this makes sense.
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#6Back in the early 2000s, there was a vector graphics application called Expression, created by Creature House, a small Hong Kong-based company ( https://en.wikipedia.org/wiki/Creature_House_Expression ). They also had a beta of an animation version of Expression, called LivingCels. It had been battle-tested in various local animation studios, and was just getting ready to burst into the market... (dominated, at that…
And indeed I have a lot of catching up to do feature-wise :) VGC Illustration won't be able to be as feature-complete as Illustrator for a long time, but hopefully the killer features and better drawing experience will make up for it.
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#7this looks very cool, I've long wondered why vector graphics tools seem to have largely stagnated in terms of features and such.
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#8Amazing, but this really should be a web-based app and not desktop based. Or a hybrid strategy where the desktop-based app is actually running JavaScript in an Electron shell or something. Please switch your approach ASAP or you will be beaten by a web-based app that does this exact thing, someone else will be the Figma to your Sketch. This specific use-case doesn't require the large amount of resources that would ne…
Thanks for the comment, I'm the developer of the app! Having it run in a browser would clearly be convenient, but unfortunately Javascript is really too slow. I even wish C++ was faster. Rendering the vector paths requires the same type of heavy computation as a modern AAA game, and we don't see AAA games implemented in Javascript for good reasons. The paths need to be tessellated, sent to the GPU, then the different…
I'm asking because AFAIK unlike Windows with Direct2D, Linux doesn't have GPU-targeted vector graphics libraries. I have once made my own one when I needed something similar: https://github.com/Const-me/Vrmac#vector-graphics-engine
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#9Amazing, but this really should be a web-based app and not desktop based. Or a hybrid strategy where the desktop-based app is actually running JavaScript in an Electron shell or something. Please switch your approach ASAP or you will be beaten by a web-based app that does this exact thing, someone else will be the Figma to your Sketch. This specific use-case doesn't require the large amount of resources that would ne…
Re: A novel technological approach to vector graphics (“Vector Graphics Complexes”)
#10Amazing, but this really should be a web-based app and not desktop based. Or a hybrid strategy where the desktop-based app is actually running JavaScript in an Electron shell or something. Please switch your approach ASAP or you will be beaten by a web-based app that does this exact thing, someone else will be the Figma to your Sketch. This specific use-case doesn't require the large amount of resources that would ne…
Thanks for the comment, I'm the developer of the app! Having it run in a browser would clearly be convenient, but unfortunately Javascript is really too slow. I even wish C++ was faster. Rendering the vector paths requires the same type of heavy computation as a modern AAA game, and we don't see AAA games implemented in Javascript for good reasons. The paths need to be tessellated, sent to the GPU, then the different…
You can modify the vertices on the CPU, update the tessellation points and update those to the GPU. Get 60fps should be possible even when updating 1Ks of vertices (probably more) per second. Do this for whatever changed using dirty lists or something so you do not update everything to the GPU on each frame. This should be relatively fast if you using ArrayBuffers.
100% this can be done in JavaScript in a very fast fashion. It may only seem like it can not be done if you are doing JS poorly. Maybe people make the mistake of not using ArrayBuffers for everything and that makes it slow. The main limitation in JS is the lack of really great multithreading, but I do not think you need it here.
If you want ultimate speed use WASM for the CPU-based updating of your geometry structures.
Anyhow, you are mistaken in your current beliefs and it will hurt you going forward.