Jump to content

Pryme8
 Share

Recommended Posts

http://pryme8.github.io/TERIABLE/
I will be pushing updates to this github quite often.

Features Soon to be implemented :

- More Noise Types
- Natural Filters for Erosion and Coastlines ect...
- Procedural Shades with Editable base textures
- Built in Image Editor and Paint program for texture creation and 3d painting Layers.
- Infinite Mode
- Spherical Mode
- Export (the Region as a fixed object, or as a Dynamic one)

TERIABLE_BETA_1_SS1.jpg

TERIABLE_BETA_1_SS2.jpg

I am only two days into development so yeah stay tuned...

*** UPDATES ***
I added the ability to delete and move the item nodes in the filter stack...  this is only a temporary way to process the noises and filters. 
Soon I will be adding a "Node" drag and drop system where you will be able to make linkages between different process.  Example:



 

newStackFlow.jpg

Edited by Pryme8
UPDATE
Link to comment
Share on other sites

Interesting Pryme8:) . Made even more so by this line:

Quote

Natural Filters for Erosion and Coastlines

The first practical use I ever made of my limited programming skills (Fortran) was to model "Wave-cut Platform" erosion of ocean shore lines.

Scroll down to "Usage of term 'wave-cut" and you will see the name "Trenhaile" - an old drinking buddy and godfather to one of my daughters.

Amazing what memories a few words can conjure :)

cheers, gryff :)

Link to comment
Share on other sites

I have come up with 6 ways to calculate distance for my WorleyNoise2D class, can anyone thing of any more? the last two are ones of my own creation.
 

function euclidean(dx, dy){
	return dx * dx + dy * dy;	
}

function manhattan(dx, dy) {
    return Math.abs(dx) + Math.abs(dy);
}

function manhattan2(dx, dy){
	return Math.abs(dx) - Math.abs(dy);	
}

function euclidean2(dx, dy){
	return dx * dx - dy * dy;	
}

function valentine(dx, dy){
	return Math.min((dx/dy),(dy/dx))/Math.max((dx/dy),(dy/dx));
}

function valentine2(dx, dy){
	return Math.abs(Math.min((dx/-dy),(dy/-dx))/Math.max((dx/-dy),(dy/-dx)));
}

 

euclidean1.jpg

euclidean2.jpg

manhattan1.jpg

manhattan2.jpg

valentine1.jpg

valentine2.jpg

I added 6 more types:

 

function chebyshevish(dx,dy){
	return Math.max(Math.abs(dx - (dy/2)),Math.abs(dy - (dx/2)));
}

function chebyshevish2(dx,dy){
	return Math.min(Math.abs(dx + (dy/2)),Math.abs(dy + (dx/2)));
}

function chebyshevish3(dx,dy){
	return Math.min(Math.abs(dx - (dy/2)),Math.abs(dy - (dx/2)));
}

function chebyshevish4(dx,dy){
	return Math.max(Math.abs(dx + (dy/2)),Math.abs(dy + (dx/2)));
}

function valentine3(dx, dy){
 	var r = (dx+dy) * Math.cos(Math.min(dx,dy)/Math.max(dx,dy));
	var r2 = (dx+ dy) * Math.sin(Math.min(dx,dy)/Math.max(dx,dy));
	
	return Math.abs((dx - r) + (dy - r2));
}

function valentine4(dx, dy){
 	var r = (dx+dy) * Math.cos(Math.min(dx,dy)/Math.max(dx,dy));
	var r2 = (dx+ dy) * Math.sin(Math.min(dx,dy)/Math.max(dx,dy));
	
	return Math.abs(Math.min((dx - r) / (dy - r2),(dx + r) / (dy + r2) ));
}

 

chebeyshevish.jpg

chebeyshevish2.jpg

chebeyshevish3.jpg

chebeyshevish4.jpg

valentine3.jpg

valentine4.jpg

 

I am mulling a way around in my mind, to make "Mineral Maps" so I can really dig into erosion and other effects.  I also want the Mineral Map to transfer over to texturing so that the materials will be generated by the Mineral (Soil, Limestone, Sandstone, Sand, ect) the angle of the normal, and height.  Hopefully I can really wrap my head around my own shader so I can get that part rolling, first just something simple like a height map one...

After a simple texture redo so you dont feel like your at and acid disco, I am a going to rework the Order of Operations and GUI to something a little more robust.

If anyone would like to contribute to the shading battle let me know.

Link to comment
Share on other sites

*** UPDATE ***
Just pushed the changes I am going to make before the new UI and Order of Operations.  Check out the git hub link.

Any suggestions or wish features don't be afraid to mention!

 

UPDATE1.jpg
 

This shows a Region 7 by 7 blocks 200 width and height per block with a subdiv of 150 per block... Way over kill when you render a area of like 5 b 5 at 100 div and only apply like 3 effects really good results can happen.

Link to comment
Share on other sites

*** UPDATE ***

Here are 3 screen shots for the upcoming beta release of TERIABLE.  I implemented a whole new logic stack and UI with the setup being way more modular.  I will be writting support information for each of the nodes that will be available (Perlin2D, Perlin3D, Worley2D, Worley3d, Filters, Texturing Process, LOD assignments, ect... ).  I do not yet want to release the planed final scope of this project but I can guarantee its gonna be interesting and will extend to planet creation besides infinite terrain.  There will be lots to do here in the future and I am excited to keep working on it.

Images are as follows:
- Main View
- Full 3D View
- Full Workspace View

Alternate Camera options will be available, including: Walking, Driving, Flying, Satellite, and Planetary, all with appropriate mouse and keyboard interactions and secondary virtual joysticks.

Release should be sometime this week.

Beta_SS_View_1.jpg

Beta_SS_View_2.jpg

Beta_SS_View_3.jpg

Link to comment
Share on other sites

  • 5 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...