Accidental Noise Library on Google Code

Published August 06, 2013
Advertisement
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.
Previous Entry Fixes
8 likes 11 comments

Comments

jjd

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

August 06, 2013 11:18 AM
Jason Z

That is part of the benefit of being open source - you get support from your community :)

August 07, 2013 12:45 AM
unbird
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

6f7e58269284496.jpg

Thanks again, this is really great.
August 07, 2013 09:16 AM
JTippetts

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.

August 08, 2013 01:16 AM
unbird

Thanks. I will test it tomorrow, promised.

August 08, 2013 07:54 PM
unbird
Sorry, forgot this one the other day.

But everything works fine now (using the same dir for source and binary in CMake).

Cheers.
August 09, 2013 02:41 PM
JTippetts

Thanks, unbird. I pushed the fix you mentioned in that issue.

August 10, 2013 01:32 AM
MARS_999

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

THanks!

August 10, 2013 11:24 AM
JTippetts

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

August 10, 2013 01:32 PM
twobob

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.

August 13, 2014 03:00 AM
twobob

noisyPC.JPG

Whereas on the XBOX that 18 seconds takes...

noisyXBOX360.png

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

August 13, 2014 01:43 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement