Planetside Software Forums

General => Terragen Discussion => Topic started by: PeterParker on March 21, 2014, 09:46:59 AM

Title: What is a NULL Shader?
Post by: PeterParker on March 21, 2014, 09:46:59 AM
Hello,

i´ve detected a Shader called NULL Shader. What is this for? Cause it has no function at all. Also i wonder myself about the Contour Shader.
Does Anybody know how they work?

Thanks in advance

and best Regards

Title: Re: What is a NULL Shader?
Post by: Dune on March 21, 2014, 12:28:59 PM
This is all described in the documentation: http://www.planetside.co.uk/wiki/index.php?title=Terragen_2_Node_Reference (http://www.planetside.co.uk/wiki/index.php?title=Terragen_2_Node_Reference)

But a null shader does nothing. You can hide nodes in it, that's all I use it for.
Title: Re: What is a NULL Shader?
Post by: PeterParker on March 21, 2014, 12:38:09 PM
Quote from: Dune on March 21, 2014, 12:28:59 PM
This is all described in the documentation: http://www.planetside.co.uk/wiki/index.php?title=Terragen_2_Node_Reference (http://www.planetside.co.uk/wiki/index.php?title=Terragen_2_Node_Reference)

But a null shader does nothing. You can hide nodes in it, that's all I use it for.

Thanks a lot Dune for your answer :)
Title: Re: What is a NULL Shader?
Post by: TheBadger on March 21, 2014, 03:48:40 PM
Well, A null in TG tends to do a lot less than it ought to. In other software you can use a null as a means to drive other objects and shaders. It it used as a control point for any number of other parts of a scene.

I would like to see TG's null be increased in power. So that I can use it as a node hub (so to speak). Where It has all of the transform controls of any other node, and really all of the placement controls of other nodes. Then Ideally you could control entire node trees just from the null.

And then having several node trees with their own nulls at the top, animating and making changes would be much easier, in theory. Anyway, thats how it works in some other soft I use, more or less.
Title: Re: What is a NULL Shader?
Post by: Dune on March 22, 2014, 04:38:44 AM
Quoteall of the transform controls of any other node
That would be an enormous node, with settings/variables that would dazzle any user!
Title: Re: What is a NULL Shader?
Post by: mogn on March 22, 2014, 05:02:56 AM
I have used null nodes as a way to connect external nodes to internal node tree without having to change the internal nodes.
Title: Re: What is a NULL Shader?
Post by: PeterParker on March 22, 2014, 07:35:01 AM
Quote from: TheBadger on March 21, 2014, 03:48:40 PM
Well, A null in TG tends to do a lot less than it ought to. In other software you can use a null as a means to drive other objects and shaders. It it used as a control point for any number of other parts of a scene.

I would like to see TG's null be increased in power. So that I can use it as a node hub (so to speak). Where It has all of the transform controls of any other node, and really all of the placement controls of other nodes. Then Ideally you could control entire node trees just from the null.

And then having several node trees with their own nulls at the top, animating and making changes would be much easier, in theory. Anyway, thats how it works in some other soft I use, more or less.

In Photoshop this is called an adjustment layer. Did you mean the overall control of the entire scene?
In my opinion dune is right cause there has to be a lot of set up things that cant fit in one shader.
Title: Re: What is a NULL Shader?
Post by: Dune on March 22, 2014, 09:56:22 AM
I echo mogn, I do that as well.
Title: Re: What is a NULL Shader?
Post by: bobbystahr on March 22, 2014, 12:16:59 PM
Quote from: Dune on March 22, 2014, 09:56:22 AM
I echo mogn, I do that as well.

Care to explain how that is done for those amongst us(me) who haven't grokked this?...sounds like something I should know....
Title: Re: What is a NULL Shader?
Post by: TheBadger on March 22, 2014, 03:01:39 PM
QuoteIn Photoshop this is called an adjustment layer. Did you mean the overall control of the entire scene?

After effect would be a better example.

@ulco
I guess I did not mean "every" transform power. Just the ones that control objects or things as a whole in 3d space. so The entire cloud position rather than the clouds internal animation parameters. Or the entire lake object, rather than the wave settings. So you would still have to make changes in the new objects in 3.1, but the objects them selves could all be controlled by the null.

This would mean that you could make a spiral galaxy, an asteroid ring, a bunch of planets and any number of other things, and then once ready, hook them all to the null and animate them at the same time. Just as one example.
Title: Re: What is a NULL Shader?
Post by: Dune on March 23, 2014, 04:57:59 AM
What I do is make a null inside a say surface shader that contains a lot of nodes as input, color, etc, where I want certain inputs from outside. Hook the outside node to the null input and hook the null output to the appropriate inputs inside that surface shader, so you can influence several inside nodes form one (stack of) outside nodes. Also faster than hooking every node on its own to that outside node. Don't know if that's exactly what mogn does, but this is one way I use the null. You can't turn it off by the way. Well, you can, but it still feeds the info through.

@ Badger: yes, that sounds good. Maybe a transform shader can better be used to do that, than a (different) null?
Title: Re: What is a NULL Shader?
Post by: Oshyan on March 23, 2014, 05:28:20 AM
What you're talking about Badger does not sound like a "null" shader at all. The null shader is pretty much doing what it's supposed to do - it allows for network routing and clean-up and whatnot without actually affecting the results of the network configuration.

- Oshyan
Title: Re: What is a NULL Shader?
Post by: TheBadger on March 23, 2014, 05:42:50 AM
Hi oshyan,

Umm, I dont know. I only know that a "null" in after effects is the way I described.  It works by parenting, so its similar to my experience with Maya rigging too.

Is "null" just one of those things in 3d that is a generic term? My first use of it was in AE, so that colored my ideas about what it is. Then I saw it in maya and it worked essentially the same. But TG threw me off a bit about it. Indeed the transform shader and parts of the surface shader is what I expected to find in the null when I tried to use it.
Title: Re: What is a NULL Shader?
Post by: Oshyan on March 23, 2014, 06:01:54 AM
To the best of my knowledge a "null" in AE doesn't have any properties that are different than regular layers or objects, i.e. the translation, scale, etc. stuff is not special or specific to the null. Rather, the only unique property of the null is that it is invisible/does not render, so you can use those other functions of it to affect things that are linked to it but without having *it* render itself.

Where I think you're getting confused is in thinking that the translation, etc. stuff are properties associated with the null in AE, or the "null" as a concept that is common to various software; translation, etc. are instead properties associated with all *layer* type elements of the scene *in AE*, of which a null is one. This is akin to the fact that all Node type elements in Terragen have inputs and/or outputs, an internal network, an Enable checkbox, Shader Preview, and a name, which the Null does in TG. So it's the same kind of self-consistency, you're just missing that the inherited/"native"/"default" properties of these types of elements are different between different types of software. Again that's to the best of my knowledge, but I don't know AE well. :D
http://help.adobe.com/en_US/AfterEffects/9.0/WS3878526689cb91655866c1103906c6dea-7d9aa.html

In Maya I believe the "null" (called a "locator" in Maya, right?) is an *object* type, so it of course does have position, etc. just like any other object. Whereas the null that you were looking at in TG is a *node* that is not of the "object" type (there are of course "object" type nodes in TG too, but null is more of a "utility" type). Objects in TG do have position, etc. in the scene but nodes do not inherently (it depends on node type, e.g. object nodes do, so does something like the Simple Shape shader).

It so happens however that there *is* a "null" *object* type node in TG as well and it does have Transform, etc.! Does that just confuse you more? :D The null utility node is just for node network utility functions, whereas the null object node is for some of the same purposes as the Maya null is. *Except* you can't yet parent objects in TG, as you probably know, so it can't be used as powerfully or usefully. We do plan to add object grouping in the future and then the Null *object* node will be more useful.

- Oshyan
Title: Re: What is a NULL Shader?
Post by: TheBadger on March 23, 2014, 06:14:21 AM
lol OH man! You must get good coffee in Frisco  ;D But I acually got most of that :o

This part made me sit up : "*Except* you can't yet parent objects in TG, as you probably know, so it can't be used as powerfully or usefully. We do plan to add object grouping in the future and then the Null *object* node will be more useful."

Looking forward to it.

Oh and yes, your description is totally accurate about AE.

In Maya, the locator is one way of doing it. I don't like it too much though. The parenting stuff like you described is part of it, but you don't need the locator to parent. Not that it matters, because you clearly understood what I was trying for, and you answered it  ;D

Thanks man!
Title: Re: What is a NULL Shader?
Post by: mogn on March 25, 2014, 02:51:34 PM
Quote from: bobbystahr on March 22, 2014, 12:16:59 PM
Quote from: Dune on March 22, 2014, 09:56:22 AM
I echo mogn, I do that as well.

Care to explain how that is done for those amongst us(me) who haven't grokked this?...sounds like something I should know....

Below is show transformation which acts like the build in Rotate Y, excepts that it takes the rotation angle from an external
calculated source. The implemented tgc uses two NULLs as input and a NULL as output and a random blue node as container for
the internal Network.

This is done to show that if TG is augmented wit the following two operations:

1: " Assign input". Work in the internal Network as a NULL inserted between  an input node of the container node
      and an input of a node in the internal network.

2: "Assign output" Overrides the output function of the container node. assigned to the output of a node in the internal network.

This implements a macro function in tg.

As a complement TG could create a green macro node with a specified number of inputs, and prohibits external access to the internal nodes of the macro.
Title: Re: What is a NULL Shader?
Post by: bobbystahr on March 25, 2014, 07:31:48 PM
Thanks mogn...I'm liking this going to school now that I'm all retired, hee hee hee...kinda got the education bit on both ends with 40 years of playin' music in the middle.
Title: Re: What is a NULL Shader?
Post by: Dune on March 26, 2014, 03:02:17 AM
Haven't looked inside yet, but is this something that can be used to rotate a node's variables by variable input? That would be extremely useful.
Title: Re: What is a NULL Shader?
Post by: mogn on March 26, 2014, 05:08:13 AM
Quote from: Dune on March 26, 2014, 03:02:17 AM
Haven't looked inside yet, but is this something that can be used to rotate a node's variables by variable input? That would be extremely useful.

Thats it.
Title: Re: What is a NULL Shader?
Post by: Dune on March 26, 2014, 06:09:45 AM
Ah! Thanks.
Title: Re: What is a NULL Shader?
Post by: bobbystahr on March 26, 2014, 09:35:25 AM
Quote from: mogn on March 26, 2014, 05:08:13 AM
Quote from: Dune on March 26, 2014, 03:02:17 AM
Haven't looked inside yet, but is this something that can be used to rotate a node's variables by variable input? That would be extremely useful.

Thats it.

Ah Ha...good one...was wondering what utility this had...
Title: Re: What is a NULL Shader?
Post by: D.A. Bentley (SuddenPlanet) on May 10, 2019, 04:20:33 PM
The Null shader under Color shaders is different than the one under Objects.  The Null shader under Atmosphere seems exactly the same as the Color shader Null.

http://www.planetside.co.uk/wiki/index.php?title=Null_Shader (http://www.planetside.co.uk/wiki/index.php?title=Null_Shader)

What I am wondering is why does the Null shader as referenced above not show a correct shader preview unless something like the Color adjust shader is used downstream?

I was using those Null shaders as empty wireframe organization/rerouting nodes and discovered this.

[attach=1]

-Derek
Title: Re: What is a NULL Shader?
Post by: Matt on May 13, 2019, 05:52:14 PM
Some shaders don't preview correctly when they don't generate colour themselves. I'm looking at ways to fix this now.