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.

Work in Progress / Procedural texture plugin

Author
Message
Lucy
17
Years of Service
User Offline
Joined: 19th Apr 2007
Location: Roanoke, VA USA
Posted: 2nd Dec 2007 09:16
I'm working on procedural texture plugin that will be generating tile able height maps (useful for extremely fast random planet generation as well as infinite terrain), as well as procedural clouds that actually look like they flow over time, and twinkling starry skies.

I don't have those functions in place, the FIRST step was to get a working procedural texture plugin proof of concept going before making the actual generation stuff itself. I expect to have terrain and clouds in a couple of days. Those are already done in EXE form, just need to patch the code into the plugin. The starry skies will come next...

Anyway, here's a program demoing the procedural texture plugin. Right now all it does is generate a looping animation of all 16million colors.

Rashness is the characteristic of youth, prudence that of mellowed age, and discretion the better part of valor.

Attachments

Login to view attachments
Lucy
17
Years of Service
User Offline
Joined: 19th Apr 2007
Location: Roanoke, VA USA
Posted: 2nd Dec 2007 19:13 Edited at: 2nd Dec 2007 19:20
It needs some optimization, but this is a test of the noise function before I adapt it to make clouds.

And yes, this is being generated in real time on the cpu without any hardware shaders. Once I release the plugin, it'll be possible to choose either to generate in real time or prerender all the frames in an animation. The latter would be rather memory intensive but require far less cpu to perform. Of course that's only a factor for clouds and starry skies. Terrain heightmaps won't have to be recalculated every frame.

When the power of love overcomes the love of power, the world will know peace.

Attachments

Login to view attachments
Digital Awakening
AGK Developer
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 7th Dec 2007 10:35
I must have missed this one. I gave it a download, got 14 FPS on my laptop It looked very smooth but perhaps you should think of some way to do it faster, or is it for big CPUs only?

You might get more replies if you include some shots

[center]
CREATE games with ease! NO programming required!
WIP
Lucy
17
Years of Service
User Offline
Joined: 19th Apr 2007
Location: Roanoke, VA USA
Posted: 7th Dec 2007 12:22 Edited at: 7th Dec 2007 12:30
Quote: "I must have missed this one. I gave it a download, got 14 FPS on my laptop It looked very smooth but perhaps you should think of some way to do it faster, or is it for big CPUs only?"


Actually, it's too slow for practical use at this point. I've been porting it over to straight SSE instructions (yes, the hairiest form of assembly known to humans). But, I had to redo the very way that the coherent noise is generated from scratch and so it'll take a little extra work to adapt the current plugin's architecture to use the new SSE assembly based code.

Specifically, Pentium III SIMD instructions. It runs just as fast on my 1.8ghz Athlon XP as it does on my 2.5ghz Pentium Core2 Duo. And the two chips are several generations apart, not to mention entirely different brands. So the next version should run fine on anything from Athlon XP or Pentium 3 and up.

At any rate, the SSE instruction specific version of my coherent noise generation so far has been ORDERS OF MAGNITUDE FASTER than the versions I've posted so far. On the engine I've been using for rapid prototyping graphics techniques before making them usable in DBPro, the old method got between 27 and 120fps depending. This new method gets about 8800fps on the prototyping engine. That's just in pure generation of 512x512 terragen files. That's "wow" type of significantly faster.

Once that's done, the only real bottle neck will be pumping the texture to the video card. So it should be about as fast as applying a texture to a model in the first place.

As for screenshots... Screenshots don't really show animated textures very well... And I haven't gotten to a point where I'm willing to publish screen shots yet. The screenshots will actually be once I get fast and efficient convective clouds going without the use of pixel shaders. Which should be soon, very soon.

When the power of love overcomes the love of power, the world will know peace.

Login to post a reply

Server time is: 2024-09-30 00:15:57
Your offset time is: 2024-09-30 00:15:57