13
Jun

Few Experiments

   Posted by: Foxtox   in noise

Played around with a few methods for modifying the terrain, so far just doing simple
modifications to the fractional part of the noise input.

The input is from 0.0-1.0, so to keep the terrain continuous it helps if the output also is
(more or less); but at first I was getting terrain with boxy shapes because I wasn’t doing this
correctly.

One very interesting result was this: A world composed out the outline of boxes.

Modification:
_mu = _mu*2.0*1.33134 -1.33134;
_mu = cos(_mu*_mu*_mu*_mu);
tinker.jpg

Where they grow..
Tinker toys

Another example where the signal is not smooth…
Cool but pattern can be seen

Realized what I was doing wrong, fixed it, and implemented a sin filter; it only looks
subtly different from the standard appearance so I won’t bother posting a picture.

More interesting was a sin(x^2) filter:

_mu *= 1.2533141373155002512078826424054;
_mu = sin(_mu*_mu)

Lots of poker type things appeared…
Poke

And some odd looking rounded shapes occasionally..

Smooth

Dark twisted area I’m posting for no particular reason.
darks


Super Shape?

I saw this about Super Shapes and thought I might see if they could be made to
work within my generation process– but the results aren’t so great, and it is also rather
slow since it involves a great many calls to sin/cos.
Not so Super
-Problem being the super shape function expects as input angles, and returns positions;
but I already have a position & just want to modify the density. What I did was calculate an
angle based on an arbitrary center point, and then use the returned position to modify
the existing density dependent upon how far it was from the real position… but
it tended to blob together and stretch/tear in ways that the proper super shapes don’t.

Point Rendering:

Awhile back I was reading the Atom journal and began wondering if points might
be a nice solution for my terrain.

Good:
+ Would greatly reduce memory usage since index buffers wouldn’t be necessary.
+ The poor triangulation MC generates could be avoided and likely point interpolation
would look superior.
+ Could skip most of the MC steps altogether for faster generation
Bad:
– Could be issues if points aren’t dense enough
– The hole filling step doesn’t sound particularly fast, and I would have to do this
multiple times(shadow maps too).
– Might not work so great with occlusion culling

Here is the terrain rendered using points(looks kinda crap from jpg compression)
point cloud

Visual Studio 2010
Also download the VS2010 beta 1, it supports lamba functions and
various other new C++ features, but mainly what I noticed was:

1) Unresponsive UI — often around a 1 second delay
2) It crashed within the first 5 minutes
3) Intellisense can’t compete with visual assist, though it does have some new
abilities I have not seen before(red squiggle lines under things it doesn’t understand;
hover over said items and it actually says in English why).

I look forward to the new C++ language features, but MS really needs to improving
the UI responsiveness; considering I’m running an i7 there is no reason
for it to be so slow.

Bindless Graphics
Also tested out NVidia’s new bindless graphics extensions, but for whatever reason
this resulted in crashes once enough terrain chunks had been generated.
An Nvidia guy told me it was a driver bug, so hopefully I can re-enable this down the road.
Using occlusion culling also seemed to anger it greatly as any attempt to run with OC
enabled would result in a crash within seconds of startup.

I’d like to start using dx11(or 10) more, OGL is just getting old.

This entry was posted on Saturday, June 13th, 2009 at 1:09 am and is filed under noise. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response to “Few Experiments”

  1. Sven Says:

    Hi,

    have you tried to run your engine on a newer graphicscard already, like a gtx285?
    The results look very good.
    I would be interested to see a demo or a longer video :-)

    cheers,
    Sven

Leave a Reply