apps, tools and scripts

Started by
3 comments, last by eppo 11 years, 7 months ago
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:

here.

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
Advertisement
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

It should have ability to export meshes into some more popular format, like OBJ.


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.
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.
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.

This topic is closed to new replies.

Advertisement