• entries
  • comments
  • views

Accidental Noise Library on Google Code

Sign in to follow this  


As I mentioned earlier, I've started a Google Code project for ANL, moving away from the current non-repo Sourceforge project. The link is here: https://code.google.com/p/accidental-noise-library/ The years spent with this thing have made it abundantly clear that I am just not cut out to be an open source project maintainer, however, so it's not very professional.

This new reboot is just that: a bit of a reboot. It's a repo now (no featured releases yet) and I'm learning about two things in the process: git repo management and cmake building. I've never really used either, not to any serious extent, but I figure ANL is a small enough project to learn with for now.

I've re-organized the project somewhat. It's now broken down into sub-libraries: Noise (the implicit, or noise-based, modules), RGBA (for the color-based modules), Imaging (for mapping things to 2D buffers for image output and processing), Volume (for mapping noise modules to 3D outputs and generating meshes), Bindings (auto-generated Lua bindings), Builder (obsolete and probably gonna disappear; kinda broken, too) and Framework (to build a Lua-based interpreter environment that includes the bindings and libraries). Additionally, some third party libraries are included in the repo as well, built and statically linked to the Framework exe. These include Lua, Tolua++ and PolyVox.

Given that I don't know CMake at all, outside of blindly using it to build various projects, I've "borrowed" the build structure from the Urho3D project. (Hope you don't mind too much, AgentC) I haven't tested any build except a Mingw-w64 based GCC build, however, so at some point (when I get around to cleaning up the build system) I'll probably need to test and fix things there as well. In particular, I have no effing idea what any of the MSVC, Android, iOS, etc... build flags and requirements do/are. It's likely I don't even need any of that shit, given that this project is nowhere near the complexity of Urho3D. Use at your own risk, and all that. If anyone does try a build different than GCC, and stuff breaks, let me know.

The Framework application builds a Lua interpreter, and borrows the code from the Lua project's built-in interpreter. It links to the ANL libraries and includes bindings to ANL and (currently very rudimentary) proxy stuff for using PolyVox to visualize volumes of noise. (This part is due to be fleshed out at some point, as currently it stands as merely two functions for building a cubic or smooth marching-cubes mesh from a 3D buffer of noise.)

I don't work on this a whole lot, just bits and pieces here and there throughout the day when work is slower, and I am still working on Goblinson Crusoe things as well, so don't expect a too-active development churn here. I am gradually re-working the documentation and examples, but once again I'm not really cut out to be a maintainer given my lack of discipline and my lack of project management skill.
Sign in to follow this  


Recommended Comments

I work a fair bit with git and cmake so feel free to ping me if you have any questions or want any help -- and if I can't answer a question for you I know people who can smile.png

Share this comment

Link to comment
Here we go. First thanks for your effort. I often peeked at your posts and code and (older) journal entries for noise stuff. Never got around actually trying your library. So here's my attempt at VS 2010 (express): Since I rarely use C++ and it's also the first time I touch CMake, bear with me please.
  • MSVC doesn't seem to know log2 tongue.png . There exist constants but I replaced it with log(v)/log(2.0) (Noise\implicitmath.cpp and Imaging\implicitbufferunarymath.cpp)
  • Framework\main.cpp, line 37 and 39. Problem with the + for string concatenation. Using #include <string> instead of <string.h> makes the silly cascade of template errors go away.
  • This is more for others: I probably chose a wrong build path in CMake (GUI), so the post-build step for Bindings failed since it couldn't find Tolua++ (The error was ...Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 9009.)
I then wanted to ask for a test - since I don't know Lua yet either tongue.png - but then I found the scripts (here the last image of fractaltest.lua)biggrin.png


Thanks again, this is really great.

Share this comment

Link to comment

Thanks, unbird. I made a few changes, including the log() change and the string header include. I did change the path where it looks for the tolua++ exe, but without MSVC to test it on I couldn't say if it works correctly yet or not. I'm working on some more and better-documented examples as well.

Share this comment

Link to comment

Hey Josh, where can I download the latest ANL library? Do I need to install some kind of GIT tools? I really hope not... If so what do you recommend I use for GIT software? I was hoping to download all the source from code.google with some kind of download ANL.zip file but see nothing...



Share this comment

Link to comment

@MARS_999 : I'm still figuring out Google Drive, but I've got an archive release uploaded and I just linked to the share for it on the home page of the project.

Share this comment

Link to comment

I pulled down the lib a while ago and decided the runtime garbage was too much to be useful on the compact framework. I will have another look at it now, I seem to recall either linq or enumerable interfaces that would have been a pain to refactor. Nope I got that wrong, was thinking of something else.  http://discordgames.com/?p=1954

Kudos to you for all you do though. Whether I can use it or not.  I have the source down and built under VS2012, maybe I will have a poke around at some point.


Thanks for your efforts.

Share this comment

Link to comment



Whereas on the XBOX that 18 seconds takes...





Thought I would share my findings FWIW :)


having dug, seems to be mainly garbage related. might have a look at tidying it up one day.


Nice stuff anyways

Share this comment

Link to comment

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