Sign in to follow this  
eppo

apps, tools and scripts

Recommended Posts

Hi,

I've been bundling the tools I've written for various projects over the past few years together. Mostly geometric processing tools and procedural generators. They're part of a library which can be found:

[url="http://www.dynamique.nl/grow"]here[/url].

All tools are console applications that can be called from within a scripting environment. A script feeds serialized data into an app via the standard streams and vice versa.

I've added a php setup and scripts for a handful of tools:

- the brancher (a tree generator)
- a poisson sampler (covers a mesh in sample points)
- a convex hull tool
- mesh reduction tool
- texture block compressor
- a shader compiler (wrapper for D3DCompiler)

Scripts and samples for remaining tools I'll add later.
Hope you find something useful in there...

...

In general, scripts look like this:
[source lang="java"]
options["somevalue"] = 6;
options["aspline"] = new Spline(0.3, 0.4, 0.7);
options["andatexture"] = Texture2D::fromNormalMap("Replicator_Normal.png");

meshsaver(array("meshes" => replicator(options)));
[/source]
Because of how multiple tools pipe into one another, I think a node editor would suit well as a GUI-frontend.
Is there an existing library that provides this sort of functionality? (...and perhaps a spline/curve editor as well?)

edit: can't get those = chars to line up Edited by eppo

Share this post


Link to post
Share on other sites
It should have ability to export meshes into some more popular format, like OBJ.

It's a nice tool, I see, but I can't use it because of its export format ;_;

+1 Edited by MrOMGWTF

Share this post


Link to post
Share on other sites
[quote name='MrOMGWTF' timestamp='1347703570' post='4980330']
It should have ability to export meshes into some more popular format, like OBJ.
[/quote]

True. I'll add a Collada reader and writer. Many of the tools generate multiple UVs and weight maps for which the OBJ format has no support.

Share this post


Link to post
Share on other sites
That's a very slick web-page, and the tools look like they could be very useful.

However, some more documentation would be very useful, and at the moment it seems hard to remove the tools from your webserver/PHP environment.
e.g. most command line tools support a [font=courier new,courier,monospace]--help[/font], [font=courier new,courier,monospace]-h[/font] or [font=courier new,courier,monospace]/?[/font] argument, which prints the usage options to stdout.

Share this post


Link to post
Share on other sites
The tools can only read binary data from stdin/out and not from parsed command line arguments. I used to have the option to do the latter, but it would mean the tools themselves had to directly access the filesystem for reading and writing (to temporary files), which caused issues when spawning multiple processes. Using the current method there's no need for them to touch the filesystem.

Implementing other scripting environments shouldn't be too hard. All it now uses is a wrapper for php's proc_open() and a few array- and object-serialization routines.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this