Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / Perlin Noise DLL - Create Terrain, Clouds and Textures (also seamlessly tiled)

Author
Message
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 02:49 Edited at: 15th Aug 2014 00:40
Perlin Noise V1.2 - Updated 2nd Apr 2012

1. Update has table based faster perlin noise functions...
2. Separate plugin just for simplex noise functions... (added to download attached to this post)

This a standard perlin noise plugin for Dark Basic Pro. (download has and ".rtf" file with all the latest functions)

You can have access (using pn) of 8 perlin noise sets.

Use the plugin for creating TERRAINS, TEXTURES, CLOUDS and anything you may be able to think of.

DOWNLOAD link is attached to this post. Usual stuff, dll into the plugins-user dir and the ini goes into the keywords dir...

NB: Although DBP passes and retrieves values using FLOATS, the internals of the perlin noise plugin does all its calculations using double precision. I have also converted a few of the internal functions direct into assembler code and I've used a cosine interpolate instead of a cubic function as this increase of speed is necessary.

Commands and Functions:

See docs in the attached download for extra commands...

Simplex Noise functions: (example further below)


The Helper functions NOISE XXXX BYTE returns values as integer 0-255 for easier coding.

pn is from 0 - 7. This gives you 8 noise sets. Although 99% of the time you will only ever need 1.

Example showing how to produce a tiled cloud texture:


Example showing creation of a seamless terrain:


NOISE GET HEIGHT will return a value from -1 to +1.

NOISE GET HEIGHT TILED uses width and height to retrieve a value, ie in the above example.

The above two functions get passed a float value for x and y which means you can get detailed height values between the coordinates. ie you may want to zoom in on terrain which means you will be retrieving values between (x) 0.0 and 1.0. Therefore fractions can be used.

Test code to use the FAST perlin noise:


Any problems then please do let me know as this is the first plugin for Dark Basic Pro I've ever written...

NEW!!!
SOURCE CODE: http://wlgfx.t15.org/programming-2/dbp-and-gdk-projects/dark-basic-pro/perlin-noise-plugin-for-dark-basic-pro/ ***UPDATED***

EDIT: On the TO DO list:

1. Generate complete noise maps and pass it as an image or bitmap.
2. Add some terrain texture blending functions based on noise height map.
3. Add some functions to return values from 0-255 instead of -1 to +1.
4. Add table based faster perlin noise functions.

Here's another sample of what it can do: (source code below image)



Simplex Noise example:


Youtube video (not very good quality) showing real-time simplex noise:


Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
ZestyPro
13
Years of Service
User Offline
Joined: 27th Aug 2011
Location: The Grid
Posted: 29th Sep 2011 03:35 Edited at: 29th Sep 2011 03:47
how do you install it?

i like cheese pizza. do you like cheese pizza?
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 03:45
The dll goes in the Compiler/plugins-user folder and the ini file goes into the Editor/keywords folder...

It does use high precision calculations and depending on what responses I get from the community I may change the plugin to do it's internals using float precision instead of doubles.

Warning! May contain Nuts!
ZestyPro
13
Years of Service
User Offline
Joined: 27th Aug 2011
Location: The Grid
Posted: 29th Sep 2011 03:51
alright! thanks a lot. will have to work use this one

i like cheese pizza. do you like cheese pizza?
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 03:54
I believe that using Matrix terrains and the seamless generation that this does will be handy for some...

Thanks ZestyPro. Let me know how you get on. Any problems I'll sort them ASAP along with any additions I make...

Warning! May contain Nuts!
ZestyPro
13
Years of Service
User Offline
Joined: 27th Aug 2011
Location: The Grid
Posted: 29th Sep 2011 03:57
say, do you happen to have any tutorials? I'm still kinda new to advance 3d programming.

i like cheese pizza. do you like cheese pizza?
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 04:03
Depends on what type of tutorials you're after. Usually you can find them by searching on the TGC home page in the search. If it's for the Perlin Noise functions then I'm currently looking at my C++ code examples and converting them to DBPro. I should have some more up soon.

Warning! May contain Nuts!
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 04:21
Added to the top post and example of creating a seamless terrain. Dead EASY!!!

Warning! May contain Nuts!
JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 29th Sep 2011 05:52
Awesome Man !!! I have been waiting on you to finish this. Glad we spoke about this last night.

"Life is like a box of chocolates.. eat it before it melts."
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 05:53 Edited at: 29th Sep 2011 06:21
Have you had chance to test it? I've left a deliberate mistake in one of the examples for DBP in case anyone spots it...

Cheers man

(As you said last night, do the plugin and people can start using the raw data. I will add the easier functionality to it.)

Warning! May contain Nuts!
JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 29th Sep 2011 11:48 Edited at: 29th Sep 2011 15:58
Ok, do to my stubborn nature, I HATE using the two old Runtime DLLs that the old Matrix1 plugin requires. Your terrain code is using the ABS command. So I redid your Terrain Demo so that your NOT required to use those DLLs. Took me a while to find the answer to this. ( I had used this in my Active Terrain Demo. ) So here goes..

You no longer need msvcp71.dll or msvcr71.dll with the demo.

EDIT : Updated with the fix for the deliberate ridge error it had.



This works.

Now, the picture I am about to show you shows the Error ( even when I did test it with the DLLs ) that you probably wanted us to find and it shows your terrain has a solid ridge in it. Is this the error your speaking about ? I get this ridge every time I run this.




"Life is like a box of chocolates.. eat it before it melts."

Attachments

Login to view attachments
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 13:27
@Jack Dawson - The ridge was the deliberate mistake I was talking about, yes. In the DBP Code the x and y loops only go from 0-255 but if they are changed to 0-256 then it fixes the ridge.

The ABS() command I didn't realise about, I just assumed that it was a standard DBPro command...

Cheers man for testing it...

Warning! May contain Nuts!
JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 29th Sep 2011 15:34 Edited at: 29th Sep 2011 16:01
I changed to 256 as you mentioned and boom.. AWESOMENESS..

Great work my friend !!

Quote: "The ABS() command I didn't realise about, I just assumed that it was a standard DBPro command..."


Yea, apparently its been revised a billion times and it still hasn't worked right. Slows down when you use it in DBP. So I had to hunt for the answer and back in 2006 one guy ( USER : Lost in Thought ) solved it with the function I posted above. Keep in mind, you have to assign value# as a float or double or whatever you want, but in the demo you posted, leaving it as is worked just fine.

I had found someone else who posted this exact function but it was without the Hash # symbol. And that did not work with your demo or any of my code either. The USER : Lost in Thought solved it.

http://forum.thegamecreators.com/?m=forum_view&t=74690&b=15

"Life is like a box of chocolates.. eat it before it melts."
Pincho Paxton
21
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 29th Sep 2011 18:49 Edited at: 29th Sep 2011 18:56
I'm confused. Abs() is a standard command, it's standard in nearly all basic languages, and I've never seen a bug in it. Are you sure it calls matrix1 because I have used abs() without matrix1. Plus the link says it isn't a bug, and also says its a standard command... and that was 2006.

WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 29th Sep 2011 22:05
Depending on how the old brain is tonight, I might do a single precision version and see how it compares as well as add a few more functions.

I'm just hoping that it's useful and/or being used...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 29th Sep 2011 22:47 Edited at: 29th Sep 2011 22:51
@ Pincho

Quote: "I'm confused. Abs() is a standard command, it's standard in nearly all basic languages"


My dear friend your killing me bro. Please re-read my previous posts. You'll see that ABS has been considered SLOW. AND on top of that it uses the OLD DLLs ( msvcp71.dll and msvcr71.dll ) that a lot of us are trying to get away from. The Function I provided I found FROM that same 2006 post that does not require those older DLLs.

It is part of the OLDER version of the Matrix1 Plugins. It is not in the newer Matrix1 plugins apparently because I am using the newer Matrix1 commands and the ABS command does not work without those two DLLs. So I have been using that Function I spoke about in place of the ABS command just so that I do not have to include those two DLLs in my project.

Hope this clarifies.

"Life is like a box of chocolates.. eat it before it melts."
Pincho Paxton
21
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 29th Sep 2011 23:58 Edited at: 30th Sep 2011 01:18
Well it sounds wrong to me anyway. And the link just says that any code is faster if you make it yourself because you aren't checking for so many options. I'm just trying to be careful not to mislead people. I don't think it's a matrix command, I'm sure it was in DB Classic.

Edit: I found this about abs()...
This command set represents the foundation functionality of the language, and is
independent of any media or third party requirements such as DirectX. The commands
are primitive, yet allow enough functionality to create useful programs that are very
small in size.

ZestyPro
13
Years of Service
User Offline
Joined: 27th Aug 2011
Location: The Grid
Posted: 29th Sep 2011 23:59
wow this is awesome! thanks so much!

i like cheese pizza. do you like cheese pizza?
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Sep 2011 00:44
Actually one of the functions that will be returning a value from 0-255 will be and "fabs()" value. There's different ways of using the perlin noise, for clouds, the "fabs()" or "ABS()" is one of them. When it's implemented into the dll then it will be much quicker than writing the DBP code to do it.

One of the other things I'm thinking of, I'll have to research it, is to implement a table setup. Basically this means, the Noise function will not be used, speeding it up ten-fold on calcs. The interpolate then will have to rely on the table as used in the original Ken Perlin implementation. This will mean a minor pause whilst the table is setup but then a very realistic real-time perlin noise on the fly can be used.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 30th Sep 2011 01:26
Much misinformation about ABS.

The standard ABS function built into DBPro handles floating point values only - if you used it on an integer, that integer would first be converted to a float, then the function called, then the float result would be converted back to an integer. As floats cannot represent all integer values, this would result in a loss of precision at either or both of the conversions leading to 'incorrect' results.

I added a version that handles integer values, so the problems related to speed of the conversion and the precision disappeared.

Jack's rewrite of ABS has almost exactly the same problems as the original version has, with the addition that it's slower than DBPro for floats, and slower than Matrix1Utils for integers.

Simple indicator of relative speed (lower is better):
My ABS on integer: 11
DBPro ABS on integer: 112
DBPro ABS on float: 19
Function ABS on integer: 52
Function ABS on float: 40




Lesson: Matrix1Utils FTW!

WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Sep 2011 01:56
Google'd FTW: lol... (didn't know what it meant)

I've not even tried it in DBPro but for the plugin I was gonna throw it in anyway as it is part of the one of texture generation algorithms.

Massive difference...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 30th Sep 2011 03:52 Edited at: 30th Sep 2011 03:54
Quote: "Jack's rewrite of ABS has almost exactly the same problems as the original version has, with the addition that it's slower than DBPro for floats, and slower than Matrix1Utils for integers."


Interesting, I get the EXACT opposite in speed when I am forced to use those two OLDER DLL files using ABS. So I think we have a conflict of interest here. I am starting to think this is a VERSION problem with DarkBasic Pro. My frame rates drop when I am forced to use those C++ 7 DLL files.

"Life is like a box of chocolates.. eat it before it melts."
Pincho Paxton
21
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 30th Sep 2011 15:05
I thought you were forced to use those Dll's because you use Find Free Object. That's a matrix1 command, and you don't need it.

JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 30th Sep 2011 15:21 Edited at: 30th Sep 2011 15:26
That is correct, the NEWER updated Matrix1 Commands are not requiring you to use those two DLLs. Read the Matrix1 Plugins page. The description tells you guys all this stuff.

Quote: "If the DLLs fail to load, then you may need the files in the following download"


Which is the two DLLs. But so far, I have been using the commands from that newer update and NONE of the command I have been using needed the DLL files. And if I did find one, I found a faster alternative, like ABS to ABSRep. And for my computer, the frame rates increased when I did NOT use those two DLLs. They are old technology. The newer DLLs of C++ 2008 / 2010 work just fine. AND they are optimized to run faster. So how IanM is getting faster speeds baffles me.

http://forum.thegamecreators.com/?m=forum_view&t=85209&b=18

"Life is like a box of chocolates.. eat it before it melts."
Pincho Paxton
21
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 30th Sep 2011 15:35 Edited at: 30th Sep 2011 15:48
Oh I get it you want to use matrix 1 but not the parts that call the Dll's. Well you should say that instead of abs() is a matrix 1 command. People without Matrix 1 will just use the standard abs() command. It's a bit of a conflict really to have the same command names.

JackDawson
13
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 30th Sep 2011 16:48 Edited at: 30th Sep 2011 17:01
I am using the Plugins ( Those DLLs that make up the Matrix1 utils ) Just not the dependency that only a couple seem to need which is the C++ 7 DLLs.

On ANOTHER NOTE :


I do not get how this is possible, but the C++ 7 DLLs DO come out faster most of the time. I been playing with this all day. I had to rewrite the timer routine to verify. ( The hitTimer() is what was throwing my speeds off because IT REQUIRES those C++ 7 DLL files ) So I rewrote the timer function and it came up with much better results.

One thing I noticed though. The time and speeds vary. They are not always coming out the same time. Meaning, I can now see why C++ 7 looks like its faster at times while at other times the function comes out faster. What I am confused about is WHY.

@ IanM You are a God my friend.

"Life is like a box of chocolates.. eat it before it melts."

Attachments

Login to view attachments
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Sep 2011 17:31
I've been asleep most of the day so tomorrow I'll have some updates to the Perlin Noise plugin. I'm going to add "Diamond", "Diamon-Square", "Square" algorithms so the user can choose which type of algorithm they want to use. Also the different types of return values, at the moment it returns -1 to +1, but I will add variations to return 0 to 255 to save DBPro code having to do it. I will also look into tiling the other fractal algorithms.

It seems that some people like this plugins so I will make those additions.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Sep 2011 19:11 Edited at: 30th Sep 2011 19:12
Updated the top post with some helper functions that returns BYTE values 0-255. See command list...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 1st Oct 2011 00:21 Edited at: 1st Oct 2011 00:26
@ WLGfx,

Just to say thanks v much for this. A very useful plugin.

I recall someone like Green Gandalf created quite a quick cloud renderer using (I think) perlin noise algorithm code - but with DBPro.

I'll see if I can dig that link out. I wonder whether it could be speeded up appreciably with your plugin?

[edit]
here is the link - wasn't Green Gandalf - maybe it will help:-
http://forum.thegamecreators.com/?m=forum_view&t=145552&b=6

From what I can see it seems fairly quick. I spent rather a long time making a total hash of the diamond-square algorithm so I wish you quick success!

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Oct 2011 04:39
@ Duffer - I had a read through that, thank you... Gives me the idea to add the older version of perlin noise algorithm which is table based and miles faster too, just not as accurate, but does give almost real time (table based). This current version I've done gives infinite zoom in accuracy (well almost infinite).

The diamond square I will be implementing over the next day or two as it is fast. Diamond square is table based (kinda) as with the original perlin noise. There's a few other fractal thingies too. We'll see how my brain cell can cope.

The version I've used mainly for it's infinite values when not being tiled.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 1st Oct 2011 10:30
@WLGfx,

I think if older is faster it is better.... Blimey, if it can throw it out in 'almost real time' we may have a way here of kicking out weather systems on skyspheres etc....

Don't know whether your plugin could, in theory, cater for both?

Either way, would be v good to have some help files, more remarked examples etc - just so the bluffers in the audience (me) have a better idea of value ranges for all the variables, what changes in variables/scales are likely to do etc?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Oct 2011 15:31 Edited at: 1st Oct 2011 15:36
On my really bad laptop it generates a seamless 256 x 256 in about 1/4 of a second (at any zoom level) so I am going to look at tables values and generating the noise straight off that. Although doing it that way will increase speed no end, there's not going to be the accuracy for zooming in on the fractal noise.

I'm definitely going to work on some better documentation today as when I first started with perlin noise, faffing with the values took some time before I finally found something that actually produced something decent.

What I can quickly say about the NOISE SET PARAMS pn, pers#, freq#, ampl#, oct, seed >>>
>>> Is to try to make sure pers# + ampl# = 2.0 and pers# usually looks good between 0.50 to 0.75... The number of octaves gives decent results starting at 8. Freq# is always lower then 1.0 but I use val values between 0.01 and 0.10 depending on the image size.

pn is the noise set 0-7, no-one needs them but the extras are there. I just use 0 for my tests.

Once you have clouds generating then just raising and lowering the ampl# (amplitude) with change the density. Clouds are better using the NOISE GET HEIGHT TILED BYTE TOP() function.

I'll explain these added functions in my documentation.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 2nd Oct 2011 12:30
@ WLGfx,

Thanks for the v helpful pointers re parameters in the commands (and also can't wait for the documentation - perhaps some remarked example projects? . )

The realtime generation of clouds.... now that would be something...

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 4th Oct 2011 01:14 Edited at: 4th Oct 2011 01:15
I'm adding two more commands and should have them and some documentation up after.

In the meantime here's a very simple program for generating a planet with an atmosphere effect.



Okay, so I didn't fix my spherize texture correction algorithm but as you can see from this example it gives a decent effect. So long as the camera is point directly at the sphere then the 'pinching' at the poles will not be seen.



Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 4th Oct 2011 16:11
Updated with two extra commands and now has and .rtf document file. All examples are on this thread at the moment.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 4th Oct 2011 20:30
@ WLGfx - excellent.

Have you done it with the tabled but faster version of perlin?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 4th Oct 2011 21:21
Not quite yet. Been back and forth to hospitals over this last week so my brain cell isn't in 100% working order...

If I get a chance later then I'll work on that bit. I'm also going to figure out how to put the data straight into an array, straight into a bitmap or image and maybe some other methods because I've been reading up today about how to use the Dark Basic Pro commands and core structure from inside a DLL.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Oct 2011 02:39
Oh yeah!!! The complete source code for this dll...

As I have always said, 99% of what I do is open for anyone so here is a link to the complete project (MSVC++ 2008 Express).

http://csnorwood.site40.net/dark-basic-pro/perlin-noise-plugin-for-dark-basic-pro/

And as soon as I suss out how to access the DBPro core (nearly there) I'll post that too...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 7th Oct 2011 15:08
This is amazing work!

Very useful, thanks WLGfx!!

Alaror
13
Years of Service
User Offline
Joined: 9th May 2011
Location:
Posted: 12th Oct 2011 03:53
Just wanted to say that I got around to downloading this. Will be playing around with it in the near future; thanks!

What are the stipulations on its use in our programs (commercial or otherwise)?
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 12th Oct 2011 04:10
From my point of view, free. No restrictions whatsoever...

The source code is also available...

I searched the web (not travelled the world) for the info and played and converted and optimised bits of it. I don't want a mention or anything. I'm a hobbyist programmer, not serious, not hiding my code, etc...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Alaror
13
Years of Service
User Offline
Joined: 9th May 2011
Location:
Posted: 12th Oct 2011 04:13
Thanks for the quick reply! Can't wait to try this out once I start on the world generation algorithms
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 12th Oct 2011 04:51
Just keep me updated then if you do use it. I know the help file doesn't explain much but those that have used the Perlin Noise in the past know what everything means. (does take some fiddling with figures) The earlier posts have some basic examples for DBP, ie, make sure they add up to 2.0, etc. I've got my head deep into some C++ and other plugin ideas but any questions/updates let me know.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 12th Oct 2011 07:55
@ WLGfx,

Just wondering how it was going with experiments in to inclusion of other fractal algorithms - and also realtime alteration of images, bitmaps etc?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 12th Oct 2011 16:12
@Duffer - I've had to have a break for a while but I've re-started working on plugin code. Some of the things I'm currently working on are extra 3D object creation functions and the Diamond-Square algorithm texture/height map generation. I've got a full day and night to get them done today, or at least get something done.

With the noise (perlin and diamond-square) code I'm thinking of getting it to return either an image or a pointer to a set of data which will be more useful to the programmer.

I'm also trying to figure out how to convert font characters to an extruded 3D object.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 12th Oct 2011 16:16 Edited at: 12th Oct 2011 16:17
Quote: "I'm also trying to figure out how to convert font characters to an extruded 3D object."

You're welcome


EDIT: it's from cloggy's d3d dll...

WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 12th Oct 2011 17:09
@baxslash - In the DBP forum that was mentioned too. How could I have missed that. Such a excellent addition that is!

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 12th Oct 2011 17:12
It works really fast too. I used it to create a highscore table in 3D that updated in real time.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 12th Oct 2011 20:23
@ WLGfx,

Can see from the forums you're a man with a mission.

Look forward to your next release of this top plugin as and when.

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Alaror
13
Years of Service
User Offline
Joined: 9th May 2011
Location:
Posted: 26th Oct 2011 05:11 Edited at: 26th Oct 2011 06:31
I've gotten around to trying out the DLL, and I have to say I'm loving it! I didn't have any issues understanding how to use it, which is thanks to the previous Perlin Noise functions I had written for my game. One question: do you have plans to add 1d or 3d versions of the plugin? I'm using a 1d version I wrote myself but I'd be happy to switch over to yours. Not sure if anyone else has expressed interest in seeing these, but you can count me as the first vote if no one has yet

Edit: Thought of a second question. What type of interpolation are you using? Would the ability to specify the method be something you could add in the future?

Login to post a reply

Server time is: 2024-11-21 21:13:06
Your offset time is: 2024-11-21 21:13:06