Why Mojo Users Have Not Adopted TG2 (and some solutions)

Started by efflux, November 09, 2007, 11:59:36 AM

Previous topic - Next topic

mhaze


I can't find the gain function node in any of the menus! anyone know where it is?

efflux

#16
I think Jo may be using another version of TG2 that we don't have access to. Hence no gain scalar, whatever that is.

To sum up here. This is what I'm getting at with my views. What you ideally want is to use as few fractals as possible but have as much control over the forms of those fractals as possible. The reason for this is that if you have to substitute other functions for certain levels of variety that should be achieved by less functions then you destroy the lyrical flow of the shapes. This is the whole ideal goal of fractals, to provide that lyrical variety at all scales. This is a word that has been used to describe the difference between Mojo and TG2. Mojo has more lyricism in the flow of the forms due to being able to do much more with one fractal or at least manipulate that fractal with other fractals or functions without losing the original form. Rather than adding another form you are manipulating an existing form with another function.

efflux

To elaborate further. Say you have a mountain and you want that mountain to be part of a variety of flow at very large scale. It's not so easy to do this with the fractal at present. So lets say you use noise functions that you can twist and bend to a large degree of variety but not at all scales. You lose certain scales of detail i.e. small which require noise upon noise. However these extra forms don't follow the natural flow of things too well. Smaller scale rocks on a mountain often tend to naturally follow a lyrical flow of the whole mountain.

rcallicotte

Jo, while I'm certain what efflux and you are communicating about is somewhat outside of my level of grasp, I appreciate what you're doing for this community.  Thanks for taking time to make TG2 even cooler.  I can't wait to here how all of this works out with Matt.  And thanks again to you, efflux, for making this a clear level of interest for the end-users here.
So this is Disney World.  Can we live here?

Matt

Hi efflux,

Quote from: efflux on November 09, 2007, 11:59:36 AM
However this terrain is impossible in TG2 due to the lack of controlling inputs on the power fractal. In this case no positioning input. You can not distort a fractal in this manner (as far as I know, maybe somebody can tell me otherwise - the warping function is totally limited) despite the fact that TG2 has a capability to do this but the user is stopped from doing it.

The Warp Shader works by warping the "position in texture" value, and therefore allows you to warp the input position of the fractal, or any other shader network you might want to build. It has to be warped by a displacement shader, but that displacement shader can be anything. The Redirect Shader allows displacement in any direction, so you can use that as your warper.

Here's one example, using Perlin noises to generate displacement in X, Y and Z directions, which is then used as a warper for the Fractal Terrain:

[attachimg=#]

It's a bit cumbersome to set up each time, so we probably need to be replace it with something simpler, but it's very flexible and it should definitely be able to do the kind of distortion you're talking about as well as a lot more.

I've attached a clip file from the above screenshot.

EDIT: Made some corrections and attached new version of the clip file.

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

Matt

Quote from: efflux on November 10, 2007, 09:37:54 AM
To sum up here. This is what I'm getting at with my views. What you ideally want is to use as few fractals as possible but have as much control over the forms of those fractals as possible. The reason for this is that if you have to substitute other functions for certain levels of variety that should be achieved by less functions then you destroy the lyrical flow of the shapes. This is the whole ideal goal of fractals, to provide that lyrical variety at all scales. This is a word that has been used to describe the difference between Mojo and TG2. Mojo has more lyricism in the flow of the forms due to being able to do much more with one fractal or at least manipulate that fractal with other fractals or functions without losing the original form. Rather than adding another form you are manipulating an existing form with another function.

I agree with you there. I always liked to work that way when writing shaders, but some of that flexibility has been lost in some of the "high level" shaders in TG2.

The Power Fractal does need some more options to allow you specify a different input domain, not just the current "position in texture". You also mentioned the need to use functions to control amplitude etc. That kind of function-based control over parameters in many of the shaders is something I have planned to do for a long time. It's not going to make it into version 2.0, but it's very likely that we will add this capability to many of the shaders in some future version.

I also want to add a basic Fractal function that has all of the basis functions that are available elsewhere in TG2 (although I know there aren't many right now). I'm also thinking about some kind of Fractal Iterator function which might allow you to build any kind of basis function you like and then have that iterated into a fractal. Then you'd be able to use any basis function as long as it is possible to define it with function nodes.

Another possibility I'm thinking about is to make function versions of the important shaders. Instead of operating as full-blown shaders, they would output colour/scalar data and have inputs for many of the things that are merely sliders in the shader versions.

It will take some time, but I think you will find the control you are looking for in future versions.

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

Matt

Quote from: efflux on November 10, 2007, 10:07:34 AM
Smaller scale rocks on a mountain often tend to naturally follow a lyrical flow of the whole mountain.

Yes, that's very important, and it's much easier to do that when everything is ultimately derived from the same function.

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

efflux

#22
OK, Thanks very much for replying to this, Matt.

My thread here may seem very blunt and critical. It's not meant to be negative but was kind of designed to get a response on these issues. Getting the Mojo users interested is a problem. They have generally been very negative towards trying TG2 but it doesn't help when I can't explain methods to get something similar to Mojo.

I will try the graph you suggest. That should be very useful.

"Fractal Iterator function" This sound like a great idea. I am very pleased that you are considering all these things. Ideally I'd want everything split to fundamental levels of control in the graph whether this be separate nodes or inputs on other nodes. At the end of the day, it can all be made as shaders which many people will prefer to use and I certainly use the shaders but sometimes they don't do what you want.

My intention is actually to do animation. Part of the reason I am not entirely into earth like scenes is due to this. My animation will not be of this type. However, the realism of the renders is important. I am using Modo but they spent time trying to replicate ZBrush type displacement painting that can ultimately never compete with ZBrush so now full animation will be coming in the next version (a mistake move for them in my opinion). In the mean time I may be using Blender. Modo can still render the animations. I looked into XSI but that cuts out any Macs I use since it's Windows and Linux. Better to wait for Luxology to sort out Modo and I already have a license for that. Linux is however very cool for rendering. Hopefully Luxology (Modo) will consider this but they seem to have ditched development of the full Linux Modo version. How all this fits together I have yet to work out so it may be some time before I get fully into TG2 again and I have other stuff to sort out anyway. I come from a traditional art background so I have a lot of the concept work. That part is easy for me. ZBrush 3 for Mac will come out early next year so then it should all start to roll together.

One of the problems with Mojo is that it simply doesn't cut it when animating or trying to composite into any kind of animation. It looks CG whereas TG2 does not. You can see a tremendous difference in realism between a Mojo and TG2 animation or even if you're just compositing in stills. This was the big mistake with Mojo. Not thinking about how it could be used by anyone seeking something to use for animation or even matte painting. When I installed Mojo Linux version (they initially released a renderer for Linux) it installed into a folder called games which says a lot about the whole confused idea about what Mojo should be. The concept behind how it created landscapes was OK but not how the user would ultimately use it. Maybe not all Ken's fault. It is not good enough and I don't like the results from Vue even although it has been designed with all this in mind and it has those ecosystems. Mojo was however really good at integrating with 2D animation (since it doesn't need the same degree of 3D realism) but I've ditched that idea. With the amount of time in takes, you might as well go 3D.

Thanks.

Ryan.

dhavalmistry

a question Matt...if I may...

why use get position in texture for terrain displacements??
"His blood-terragen level is 99.99%...he is definitely drunk on Terragen!"

efflux

#24
I edited my message here. Ignore what I said about the get position in texture. In any case, it's actually get position in geometry that I've mostly been using not get position in texture.

Matt

Prior to the Compute Terrain, Get Position in Texture is actually the same as Get Position. In more general circumstances, however, Get Position in Texture is the one you want to use most of the time. Most of the shaders use Get Position in Texture internally. As a general rule, use Get Position in Texture so you know it's doing what the shaders would do, unless there's a specific reason to use one of the other position values.

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

efflux

We need a bit of info on those position nodes. I edited out the stuff on my last message about that. This info should be in the nodes documentation. Otherwise we'll have to experiment to work it out which I'll be doing soon so I have that clear in my head and not stuff I've read on the forum. The only real position experiments I did were altitude.

Besides that I've been experimenting. Matt's graph gave me some ideas. I've never actually been able to get the warp shader to work the way I want but now I'm hooking a fractal into the three displacement shaders instead of three perlin noise. I used the colour output to control the displacement in much the same way as I used it for distorting function scales before. The results were this:



You can see here some very interesting warped shapes. The key is that we can't use straight noise functions anywhere or we're back to the problems discussed earlier. At least a fractal to distort the noise is necessary. In this terrain it is 100% fractal created. This is a lot more Mojoesque regardless of the technique or level of realism.

efflux

OK. This is now turning into a solutions thread. Next test:



Again 100% fractal using a power fractal in the same way as I used it to distort on the Planet Pig thread but hooking into the three displacement shaders in Matt's graph. This time it has a clamping function to get the steep step.

efflux

It's solved but I will examine this graph angle more carefully. This is the TG2 version of what the Mojo render showed but it's actually a better terrain. A warped ridged perlin but way more interesting than what the warp effect inside the power fractal gets you. The colour of the fractal hooked into the displacement is controlling the range of scale doing the distortion.

I actually now have terrains that are some of the best I've ever created even beyond Mojo. Ironic, given the title of this thread. It seems there is always a way with TG2 but it's NOT easy to find them.




mhaze

Thanks for that last post efflux I've been drinving myself mad trying to get a similar effect for the last hour - I was close but not close enough