Vector textures development in Blender (2.49 and now 2.5)

Hey folks…

I am quite fed up with pixelation of image textures… so I figured I’d have a more serious look at alternatives.

The only viable (well… “viable”, may be an overstatement) option seems to be vectex… which allows you to use svg files as a plugin. But I can only get that to work in blender 2.45 (which is just no option for my current projects).

Here’s the page for the plugin: http://code.google.com/p/vectex/

Does anyone know how we could get it to work in 2.49? (I’m on windows vista btw).

Or is there another option… we could use a pynode and put the uv coordinates in there, but then how do we retrieve the colour for that coordinate from the svg file?

I really hope someone can help out with this… cause… svg is just awesome! Way better than a png image texture.

Thanks!

I’m trying to make vectex as a builtin function of Blender.
I’m not an experienced programmer, but I could make something workable.

I’m writing a blog(written in Japanese) and uploaded the source code and the executable file(only for Linux 64 bit, Linux 32bit and windows 32 bit). source code
http://render360sideb.up.seesaa.net/data/Blender_modified_src090611.zip

executable file
Linux 32bit
http://render360sideb.up.seesaa.net/data/Blender_modified_Linux32090611.tar.gz

Linux 64bit
http://render360sideb.up.seesaa.net/data/Blender_modified_Linux64090611.tar.gz

Windows 32bit
http://render360sideb.up.seesaa.net/data/Blender_modified_win32090611.zip
Executable files are based on Blender 2.49(not 2.49a).

Soon I can upload another version which use QtSVG as a backend renderer, and it will be based on Blender 2.49a.

I wish this could be something useful.

I can use vectex with Blender 2.49a on Windows Vista Home Premium 32bit.
When I load plugin first, error message appear and failed to load plugin.
But without quitting Blender, second attempt to load plugin will become success.
This things happen to other texture plugins too that was compiled on MinGW.

I’m trying to merge vectex as a builtin function of Blender.
I’m not an experienced programmer, but I could make something workable.
Currently I’m writing a blog about that and uploaded the source code and the executable file(only for Linux 64 bit, Linux 32bit and windows 32 bit).

executable file
Linux 32bit
http://http://render360sideb.up.seesaa.net/data/Blender_modified_Linux32090611.tar.gz

Linux 64bit
http://render360sideb.up.seesaa.net/data/Blender_modified_Linux64090611.tar.gz

Windows 32bit
http://http://render360sideb.up.seesaa.net/data/Blender_modified_win32090611.zip

Source Code
http://render360sideb.up.seesaa.net/data/Blender_modified_src090611.zip

These Executable files are based on Blender 2.49(not 2.49a).
Now I’m trying to use QtSVG as a backend render to this builtin vectex.

I wish this could be something useful.

Hi.
I can use vectex with Blender 2.49a on Windows Vista Home Premium 32bit.
When I load plugin first, error message appear and failed to load plugin.
But without quitting Blender, second attempt to load plugin will be success.
This things happen to other texture plugins too that was compiled on MinGW.

By the way, I’m trying to merge vectex as a builtin function of Blender.
I’m not an experienced programmer, but I could make something workable.
Currently I’m writing a blog about that and uploaded the source code and the executable file(only for Linux 64 bit, Linux 32bit and windows 32 bit).

executable file
Linux 32bit
http://render360sideb.up.seesaa.net/data/Blender_modified_Linux32090611.tar.gz

Linux 64bit
http://render360sideb.up.seesaa.net/data/Blender_modified_Linux64090611.tar.gz

Windows 32bit
http://render360sideb.up.seesaa.net/data/Blender_modified_win32090611.zip

Source Code
http://render360sideb.up.seesaa.net/data/Blender_modified_src090611.zip

These executable files are based on Blender 2.49(not 2.49a).
Now I’m trying to use QtSVG as a backend renderer to this builtin vectex.

I wish this could be something useful.

macouno, there’s two good scripts floating around atm,
vRender & VRM Vector rendering Method.
I don’t have the links on hand, but their in the Render Toolkit 249
Both work well, but only for line drawing, materials are not supported yet.

meta-androcto: I’m not trying to render to a vector file… I’m trying to use a vector file as an “image texture” in a blender material.

mato: Please let me know when your blog is up. I’d love to test your windows builds… just downloaded, not had a look yet. I am really excited about vectex, and thik Blender really really really needs something like it internally. I’m not a coder either, but let me know if I can help in any way.

Your builds works! It really works!

Man… I am so incredibly excited!

Thank you so much, and I really hope you keep going…

A few points, If it’s built in, then maybe it shouldn’t be called vectex, but just be “vector” or “svg” (svg if it’s really only svg files). Or how about just adding the vectex method to image textures? So you can just load an svg as if you’re loading an image. Then you don’t need a new panel, and you already have things like mipmapping and a load button, and packing and such.

That’s even Better.:wink:
It would be good still to have this as import/export.

meta-androcto, yeah… but a completely different issue/feature/idea :wink:

Thanks for use my builds.

The reason why name is not vector or SVG is because I did not create this program itself, so I want to keep original program’s name.

Currently I am studying Blender’s programming way with this project, and still I don’t understand image texture’s code.
So I intend to add image texture’s feature one by one and when I think I almost understand image texture’s programing systems then I want to join vectex to the part of image texture.

My programming skill is not so good, so probably to complete this project needs a very long time.
Please wait patiently.
And sorry for I am not good at English.

Of course I’m happy to test it out. I’ll do some more elaborate testing, and will make some renders to see if we can “enthuse” a few more people.

BTW, are you on irc with the coders? Maybe that’s a good idea as well, there’s a bunch of guys on there that I’m sure will be happy to help you along with tips/hints and such. And of course, they can help you write the sort of code that makes it into the official release :wink:

ha ha! It works!
I would rather to open the file browser to select files than to write in the location.
mato, I wish you well with development!
So far so good.
runs off to d/l Inkscape

macouno:
IRC with the coders … I have not used it, also I did not subscribe developer’s mailinglist.
I do not usually use the English at all, so it seems to not an easy things.
But I think that is very nice if I can get to know with those people.
Thank you for advice.

Meta-Androcto:
Thank you for using my builds.
I think file browser is one of the most needed features too.
And this part of source code can learn from a button of plugin selection, so I want to do that as soon as possible.

Hmm it looks like gradients don’t work at all in the windows build that you posted before. Other than that no bugs found yet.

Hi,
tested using multiple svg textures on the one mesh.
Works well.
Problem on several different svg files from open clip art site.
They won’t open at all, but some do…
I’ll try to run some more tests to see where the problem is.
(file size or older svg?)
Confirmed macouno’s gradient error.
thanks.

Meta: BUT… if you look at the tiger.svg from the original vectex plugin, that does have some “gradients” in there and it does work… how strange…

See the bottom of the orange bits on this little test (its an ugly gradient, but it’s a gradient): http://misc.macouno.com/vectex_2.jpg

About gradient problems, original vectex is using the AGG svg as its backend rendering library.
It was used for AGG’s sample SVG viewer and it does not support full feature of SVG.
And AGG isn’t updated since 2006, so it is not expected that it will be improved by future update.

So I am trying to use another SVG library for vectex’s backend renderer.
I use QtSVG and I confirm that it works.
I will upload a new build of Blender based on version 249a that use QtSVG (and it has a button for file browser) within few days.
So please wait a little.

I asked the coders, because I was afraid there may be an issue with integrating QtSVG, and they confirmed my fears.

Basicly… if you want your code to end up in the official blender release, then using that library will be a problem. I have no idea if using another library would solve that, or if it’s even possible. See that’s why plugins are nice. You can use pretty much any library in a plugin, because it doesn’t become part of blender.

I hope a coder jumps on this to give a bit more advice… anyone?

Thank you macouno for asking to coders about QtSVG.
I had feeling that it is not good idea to use Qt for Blender’s code.
I had to change a creator.c file’s extension from “.c” to “.cpp” and it should not be done only for a texture feature.
Probably Qt can’t use to plugin’s code because it must create QApplication’s instance in function main() in creator.c.

I had tried librsvg (GNOME’s SVG library) once and gave up because librsvg does not work well when scaling rate becomes high(It comes slow down and often crush).

I have not enough skill to modify or create such a SVG library.
So I think this project may be not for official blender, until my skill becomes much better and can replace QtSVG to something other.

If the issue of using QtSVG is because of coding policy and not for technical reason(cause a fatal bug, etc), then I want to continue this project using QtSVG(use AGG in parallel).

thanks.

hi Mato.
I’ve been having some frustration.
I’ve downloaded some svg packs from here:
http://www.openclipart.org/
About 50% of the files won’t work.
I tried opening in Inkscape & resaving but it’s not good.
One problem I encountered with inkscape was a loss of data or data corruption causing only part of the file information to import into Blender.

The files that do work, work very well.

I hope you do continue this as I could see huge benefits in using .svg for toon characters.
You should start an account at graphicall,
That way your build will be available for more people to look at.

It’s a pity about the qt library, (does not Yafaray use that too?),
but as a stable branch, this would be a great specific task build.
Blender 2.4x is feature frozen, maybe one more bug fix release, then that’s it.
You have plenty of time to work on this, if you get it working very well with 2.4x,
It will be easier to write a patch for 2.50.
(remember, Blender 2.5x won’t be anything near stable until after Durian project. That’s over half a year away.)

Macouno has been doing a good job waving your flag.
I’ll wave with him.
keep up the good work!