"Terragen Modus Operandi" or "Primary Principles and Working Methodologies"

Started by cyphyr, January 08, 2012, 05:24:29 PM

Previous topic - Next topic

efflux

Also, I would suggest there is another part of the learning curve which I didn't touch on. You may have all the other points mastered but there is also the knowledge of how to use fractals and noise functions i.e. what kind of settings will get certain effects that look like something real. This is really the same skill no matter what app you are using. This is a bit simpler in TG2 because it is limited in this respect but still, it does matter.

The basic problem is that what we are doing in TG2 is extremely complicated. There is no way around this it's just the nature of what an app like this does. This huge learning curve can be really offputting for new users. Anything that helps this is very important. It's inevitable that we'll end up with a handfull of people who master how to do things and it will be frustrating for newbies when they get very slow progress.

Just one thing I think we need is default planets. I've been messing with ideas recently where I've been setting up simple arrangements of blue nodes that effect each other i.e. you have all the technicalities of how things relate as blends but details like surfaces etc are simple and left for later. You move one feature or change the terrain etc but everything else follows. This way new users would be able to adjust the artistic bits but the whole arrangement of the planet or scene would not break when they change something if you see what I mean. However, I'm still bogged down with some difficulties.

efflux

Just another point about blue nodes. Blue nodes are in fact the easiest part of TG2 because you know what you are doing with them. I'd prefer TG2 to be blue nodes only in essense but it isn't because the power fractal is a red node. If TG2 was only blue nodes I'd be so far ahead with it now because I can build an entire planet with blue nodes no problem at all.

If the fractal had been simply the fractal as a blue node with no other functions built in you'd have got all the Mojo users over here and TG2 would have been so far ahead in the work produced. This is a fact and new users could have picked up how to do things because even although it would be more complex, there are people who would have known how to do things. Red nodes could exist but the fractal should not be locked inside a red node. The other option would be to at least open up the fractal node to more choices.

FrankB

efflux, you have certainly done great work in TG2 and it clearly displays a deep understanding on your part about fractals and math and everything. That's great.
However I for one am quite happy that there are the red nodes. They are great times savers and make things a lot easier to work with. The last thing on earth that I'd want to do is wire an entire planet based on low level functions. I have that unnamed feeling that most other people are happy to use the high level nodes and not the blue nodes for everyday tasks. Just like most programmers don't use assembler language anymore to program stuff, unless they really have to.

I also tend to disagree with your statement that displacement is hard to grasp in TG2. I can't follow your thoughts here. Maybe you have an example?

I do agree with that it would be nice to have more fracal choices, though.

Regards,
Frank

efflux

I actually have little understanding of maths. It's more about manipulating values so whatever I am channeling is sending the right data. This is really just very simple arithmetic but of course it can be hard to think about. I am not really very good at this. Mostly I work it out as I do it then go back to the file later and totally forget how I did it but with a bit of time I see it again. Most operations simply involve getting values back to 0 or 1 and clamping various levels and ranges. I see we have a smooth step function now. This is extremely useful. What makes it harder is not seeing the whole node network in very clear terms and most importantly not being able to change the mode of where various textures and displacements are getting their positions from i.e. position, position in texture etc. This is obviously all achievable with blue nodes. However, since this is not completely controllable in the red nodes you have to work around it. I understand why certain things in the red nodes are the way they are but any limitation on what you can set ultimately leads to some brick wall somewhere down the path where you need something to be different.

Hetzen

Some good points Efflux and I'm the same as you in terms of my math skills. It's more about logic and getting number ranges to fall between 0 and 1 to drive other functions/masks/blending, than hardcore trigonometry.

Tangled-Universe

This is all from your perspective of course Jon and Efflux :)
I clearly remember how many times you tried to explain your blue node networks to me Jon.

I really suck at math, or better said 'blow', since if I'd suck it then it would get in to me which obviously does not ;) lol

Hetzen

Of course it is Martin, and I appreciate that different people have different approaches to solving similar problems.

But some problems need to have a low level approach to solve, like flattening a road along it's width and smoothing it's length, or getting a wave to break at a certain altitude, or modulating an altitude constraint in a surface layer, or getting clouds or water to animate without ease in out keyframes, or change seasons over a frame range, or create an interesting fractal to change population colours over it's area.

These all need blues to some degree to solve, and some of them are in fact very simple, like the cloud animation discussed in the other thread.

I think working in colour space has far more flexibility than purely using displacements, so an understanding of getting things to work between 0-1 is essential for getting more advanced effects out of TG. Even if you are just explaining what a mask is.

I know it all sounds very dry and off putting, but one of the major attractions of TG is its open architecture, which shouldn't really scare people away. Although working through someone else's logic can lead to very dark places....

N810

Eflux, hopfully there will be some default shaders and enviroments in later versions, kinda like the ones in terragen 0.9
Hmmm... wonder what this button does....

efflux

I started writing this massive essay that was a reply here on my thoughts about TG2 other apps, what is different about TG2 compared to Vue and Mojo, the problems with this etc. I think I'll put a hold on that for the moment.

I'm actually looking more into trigonometry at the moment. Now I know why most people here don't learn this stuff at school or just forget it. It's because of the dire way it is taught. I was never interested in this stuff at school either. There are numerous terrible youtube videos. Mostly it's just do this and this and get this result without any underlying theory or even history of the purpose of trigonometry. Get your calculator and press cosine etc. To learn anything properly you have go through the same process of discovery as the initial person who thought it up otherwise you are learning by rote. lots of visuals are also important to understand it because it's not just about numbers. You have to visualise it without specific numbers.

As for blue nodes and red nodes. This sums up my problems with it. There are two questions. Lets leave aside complex use of blue nodes. This will always be reserved for blue nodes because you can't package everything up into red nodes. The basic ideas are about manipulating the profile of terrain or blends of any sort, masking things in any way you need but this is specifically linked to where these forms are getting their position from. Sometimes you dont want a texture to line up with a displacement, sometimes you do or rather you want total control of this any which way even using altitude and slope. Why no slope node just for example? Yes you can create a slope function outside of the distributer but there should be get slope nodes.

The first question is. Can you do all things explained above but with only red nodes? The answer is no but you should be able to. The other question is can you do all these things with blue nodes? The answer is once again no because the fractal is in a red node.

This sums up the problem whether you use blue nodes or red nodes.

efflux

Maybe I'll get around to mapping something out in inkscape. How trigonometry effects things and exactly how it works. What you are doing when you slice through a fractal etc. These are the basic things we are doing in TG2.

The way everything is taught is pretty absysmal. I had to completely map out a system in music to do with circle of fifths and musical modes because NOWHERE on the net was this done for all western music modes. Incredible. That is a wallpaper in AVLinux now. I have hundreds of pages on this stuff primarily to do with guitar because the way the whole music system is taught is terrible. No wonder people don't learn stuff at school.

Matt

Efflux, You can make red nodes work from different texture coordinates by using a Warp Shader and displacement shaders, but it's a bit convoluted. (I can give you an example if you'd like.) Would it help if every shader had an optional "texture coords" function input, such that plugging in Get Position in Texture would be the same as plugging in nothing, but you'd be free to input anything you like? The graphical syntax would be different from how you'd use noise functions like Perlin 3D Scalar, because the texture coordinate wouldn't be coming in as the main input, but at least you'd have the same abilities. I'm trying to think of a general solution that doesn't involve making "function-like" duplicates of every shader, although that might not be a bad idea and could theoretically be done.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Hetzen

I would love to see a Power Fractal have a Get Position input. It's pretty frustrating trying to re-create a PF from perlins (and I have tried to do that a few times now). It wouldn't need the displacement side of things either.

Using Warps on PFs really hit render times, especially in clouds.

mogn

Quote from: Matt on February 17, 2012, 07:59:53 AM
Efflux, You can make red nodes work from different texture coordinates by using a Warp Shader and displacement shaders, but it's a bit convoluted. (I can give you an example if you'd like.) Would it help if every shader had an optional "texture coords" function input, such that plugging in Get Position in Texture would be the same as plugging in nothing, but you'd be free to input anything you like? The graphical syntax would be different from how you'd use noise functions like Perlin 3D Scalar, because the texture coordinate wouldn't be coming in as the main input, but at least you'd have the same abilities. I'm trying to think of a general solution that doesn't involve making "function-like" duplicates of every shader, although that might not be a bad idea and could theoretically be done.

Matt

I think that that would be a great extension.

TheBadger

It comforts me that there are things in TG that even you guys do not fully, get. ;)
It has been eaten.

efflux

Hi Matt.

Yes. Any solution along those lines would be extremely desirable. This is a problem I constantly encounter and have to try to work around:

"First, in a typical Terragen 2 scene, Position in Texture is set by Compute Terrain or Tex Coords From XYZ to provide a consistent value between displacement contexts and colour/lighting contexts for any shaders that are computed after those nodes."

Just on a side note which demonstrates the problems. I've been in Blender's mat and texture nodes. There are absolutely no restrictions at all. It is hugely powerful because Blender also has a big stack of fractal and basis function power. Obviously Blender is limited in other ways because of poly counts and the current internal renderer (although it's very fast) but especially since I've been recently been messing with various trig functions, I am able to arrange materials any which way I want. Get values to blend things by slope etc. It all makes sense but isn't dumbed dumb or hard coded in any way. In fact if I kept working on it I'd probably come up with some pretty impressive simple landscape scenes. I'd rather use TG2 though for obvious reasons.