Great tool.
Just a few suggestions and a question.
First the question.
The official release will include source code or will have only dlls in the unitypackage? I hope it includes source
Suggestions.
1 - (Im sure you already plan it but anyway) Make the move graph with the middle mouse button (now its with the LMB) and make LMB a selection box.
2 - (A little and low priority)The Rotate option in the shader view is great, if we could select between rotate object and rotate camera would be better, very useful to visualize the result of some nodes like "world position" or view direction.
3 - (I guess this is the important one) The ability to have more than one instance or window of shaderforge at a time. Its much better if we can see other shader graphs made in the past as reference of how to achieve some task, instead of to have to close the shader open the reference shader close and open the currently shader (And jump between them once and again to the details or take a snapshot)
Greetings
The official release will include source code or will have only dlls in the unitypackage? I hope it includes source
It will be a .dll for various reasons, but since it's all written in C# it's easy to decompile and look at the source. However, you don't need to access the source code of Shader Forge itself in order to access the compiled shader code
I wonder though; how come you want to access the source code?
2 - (A little and low priority)The Rotate option in the shader view is great, if we could select between rotate object and rotate camera would be better, very useful to visualize the result of some nodes like "world position" or view direction.
Possibly yeah, right now the rotation is a bit weird.
3 - (I guess this is the important one) The ability to have more than one instance or window of shaderforge at a time. Its much better if we can see other shader graphs made in the past as reference of how to achieve some task, instead of to have to close the shader open the reference shader close and open the currently shader (And jump between them once and again to the details or take a snapshot)
Greetings
This is quite a huge topic, in terms of how much I would need to rewrite.
I don't plan to do this anytime soon, but you can as of 0.15 use ctrl+C and ctrl+V if you want to copy/paste across shaders.
About the dlls, decompile is not an option (not a funny one at least) but i understand you should protect your work. I ask because some plugins got forgotten by creators and we have to make some changes (little ones) in the code to keep them working with the newer unity releases. With dlls we cant, but i guess DLLs are right if you are gonna make regular updates.
If I ever abandon Shader Forge I suppose I can go open source, but I've planned to keep it up to date for as long as I can. I guess one safeguard for you all is that I'm a game developer too, I'm using Shader Forge myself. It's not just a tool I'm making to get money
That said, decompiling C# is super smooth, you get all code, including comments if I remember correctly, so it doesn't spit out something unreadable.
I would put even more things in a .dll if I could, such as icons/images etc, as they shouldn't be visible when searching your project for assets that belong to your project, but right now I haven't found a straightforward solution for hiding editor assets.
So, I suppose this is the first official set of videos of Shader Forge in action
I was at a Unity event yesterday and gave an improvised talk on Shader Forge, and showcased a bit how it worked, which you guys might find interesting!
Beta 0.15 is now finally out for all the testers! This is the last private test version before going live on the asset store with the pre-release
It is now time to focus 100% on bugfixing and polish, before it goes live, to make sure it's as tight as possible!
Massive changelog:
• You can now connect to Outline Width and Outline Color to make a simple toon shader (Does not work with convex hard edges)
• The transform node is now much more intuitive. The new version has two dropdowns, From and To, where you can select World, Local, Tangent or View. Note that your old shaders using the transform node will either break or be reset.
• New hotkeys to use with selected nodes:
• - Ctrl+D (Duplicate)
• - Ctrl+C (Copy)
• - Ctrl+V (Paste) (Also works cross-shader, so you can open a new shader and paste in there)
• - Ctrl+X (Cut)
• You can now comment on nodes by right-clicking on them and selecting "Edit Comment"
• You can now right-click on nodes both in the node area and the browser, to go directly to their online documentation
• Added node: Scene Color (Can be used to get the background color or for manual refraction)
• Shader Forge will now use the tiling and offset specified in the material
• The material inspector now has buttons to open the shader in SF, open the CG shader, and open the compiled shader
• A scrollbar is now added to the shader settings / property window when it overextends
• The component mask node should now be foolproof (As in, if you connect a Vector2 you shouldn't be able to select the B and A channels etc)
• You can now specify per-shader fog overrides for Fog Mode, Fog Color, Fog Density and Fog Near/Far range
• A preset for Screen blending has been added (This will break your old shaders using Multiplicative or Custom blending)
• The camera can now be moved with middle mouse button in addition to the regular camera movement system
• Texture nodes will now be drawn with transparency only when they are marked as using the alpha channel for transparency
• The Time node now has an icon
• Texture2D nodes now have a dropdown to select one of the built-in default colors, when no texture is assiged: White, Gray, Black or Bump (Flat normal, for normal maps)
• Texture2D nodes now have a checkbox to select whether or not it's a normal map. This will be assigned automatically when assigning textures, otherwise it needs to be checked manually
• Added a frame limiter (At roughly 40 fps) to prevent Shader Forge from eating all the CPU power it can get
• You can now do arithmetic between nodes of different component counts (For example, multiplying a Vector2 with a Vector4)
• You can no longer delete nodes with backspace, this is now done with ctrl/command+backspace, or the delete key
• Shader Forge will now tell you to update if opened in a Unity version older than 4.2
• There is now a checkbox for remapping gloss from linear [0-1] to base-2 exponential [1-2048]. This used to be enabled only for PBL previously, it is now on by default for all shaders
• Fixed a bug where additional light sources ignored fog
• Fixed a bug where the default values for Value properties didn't save
• Fixed a bug where fog was displayed incorrectly when using multiple lights
• Fixed a bug where you couldn't use colors as specularity when using the PBL lighting mode
• Fixed a bug where arithmetic nodes were outputting the incorrect vector type when linking pending outputs (before the input nodes were assigned an output type)
• Fixed a bug where the Desaturate node looked as if it was outputting a Vector3 rather than a Vector1/Value
Finally sat down properly with SF, late to the party :d. Let me just inform you that this is everything I ever wanted from Unitys material-editing
That's a simple non-realistic custom lighting shader that uses a lookup texture for shading and another screen-space texture for that crosshatching. I'll try to liven it up a bit next, make the shadowing have an animated sketchy feeling. It was a joy to make this with SF and nothing crashed, hooray!
Hi Acegikmo,
These were questions I made you around 4 months ago.
With your replies in orange.
-Does it output the code or does is create only compiled shaders ? It writes fragment shaders, which is then passed through Unitys compiler and optimizer.
-Does it allow to write vertex/fragment shaders from scratch for optimal performance even for mobile platforms, or does it create alot redundant code ? The goal is to prevent redundant code as much as possible; but it's hard to predict all cases. This is why beta testing will help a lot
Being able to work with vert/frag separately is not the plan at the moment, as it's supposed to be as user friendly as possible, at least for the very first version released. I do have a pretty good idea on a multi-pass vert/frag layout though, that might make it in as an "Advanced mode" down the line
-Would it be possible to optimize variable types inside the visual editor for parameters connected to nodes and maintaining the preview features, so that we can use fixed/half/float without even touching the code ? Variable precision settings are planned
- Would be possible to create shaders with this editor and take advantage of Skyshop features, from what I've read Skyshop is one of the most positive reviewed addition to Unity at the moment. Maybe! I haven't looked into it very much; but as far as I know, Skyshop is essentially a neat package to generate HDR cubemaps and utilizing them with IBL shaders? It should be possible to simply plug the Skyshop cubemaps into Shader Forge as IBL samples
-Being optimized oriented As much as possible, yes! It's targeted at both high-end shadersas well as low-end mobile shaders.
-Shaders LODs support in the editor. Planned
-Custom Code Node Also planned!
Looking at your Shader Forge presentation, it looks like it's still very heavy as you said and should be avoided on mobiles for the moment.
Of the questions I made above seems like currently only Skyshop HDR Cubemaps are supported, but yet there is no integration of Skyshop IBL Lighting model, this doesn't make it possible to integrate (currently) custom shaders wrote in Shader Forge together with standard Skyshop setup. -Will seamless integration be possible later on ?
-I made you this question long ago, but maybe it passed by not noticed:
You said SF outputs fragment shaders, is it possible to edit the output(disabling auto-compile) and compile it manually, is the output human-readable, does the comments that you add to the nodes in the GUI appear in the output too ?
-Could you please integrate HalfLambert shading model in the presets like (blinn,lambert,pong...) ?
Will Lightmap Node make it into the asset store release?
Also thanks for all the work, this has been such a fun tool to play with, allows for much easier look development and iteration, will buy it first day for sure.
Hi Acegikmo,
These were questions I made you around 4 months ago.
With your replies in orange.
<questions>
Looking at your Shader Forge presentation, it looks like it's still very heavy as you said and should be avoided on mobiles for the moment.
Of the questions I made above seems like currently only Skyshop HDR Cubemaps are supported, but yet there is no integration of Skyshop IBL Lighting model, this doesn't make it possible to integrate (currently) custom shaders wrote in Shader Forge together with standard Skyshop setup. -Will seamless integration be possible later on ?
-I made you this question long ago, but maybe it passed by not noticed:
You said SF outputs fragment shaders, is it possible to edit the output(disabling auto-compile) and compile it manually, is the output human-readable, does the comments that you add to the nodes in the GUI appear in the output too ?
-Could you please integrate HalfLambert shading model in the presets like (blinn,lambert,pong...) ?
Thanks.
SF is currently not very mobile focused at all. I wanted to have a wide support across all platforms, but I have to prioritise, and currently, the priority is to push the boundaries of what Unity can do in terms of visual quality, which is why I've chosen to wait with implementing optimisation features until a post-release update.
That said, you can still make mobile shaders, and as long as they're not too complex, it should run just fine
As for Skyshop integration - I've been in talks with the creator of Skyshop, and he was interested in helping out making sure it can be integrated fully into SF, which is good news
That said, you can make your own IBL node setup in SF using the Skyshop assets.
You can edit the shaders after creation in SF; but if you reopen them in SF, it will overwrite the old ones, unless you remove the SF metadata.
I've planned to include the user comments in the compiled shaders too.
Half-lambert has been possible for quite a long time, just set Light Wrapping to 1
Will Lightmap Node make it into the asset store release?
Also thanks for all the work, this has been such a fun tool to play with, allows for much easier look development and iteration, will buy it first day for sure.
Possibly, but I think it's currently already embedded in the custom lighting nodes. As in, if you make a Light Color node, it will use the lightmap color when baked. If you use a light direction node, it will use the baked light direction, and so forth.
Finally sat down properly with SF, late to the party :d. Let me just inform you that this is everything I ever wanted from Unitys material-editing
That's a simple non-realistic custom lighting shader that uses a lookup texture for shading and another screen-space texture for that crosshatching. I'll try to liven it up a bit next, make the shadowing have an animated sketchy feeling. It was a joy to make this with SF and nothing crashed, hooray!
Looks fresh! Glad you're utilising the custom lighting features
Would love to see it in action, screen space mappings look so neat when they move (Or rather, don't move, while the rest is)
Ok, I think I undertand your point fully, and you're probably right, pushing the boundaries is the most important objective at the moment, this is also important considering competition (UDK in front) has very high quality shading editors, obtaining same quality on Unity platform will be the better for everyone in the end.
By the way could you show a graph using custom lighting that bypass the lighting model presets.
Are you simply setting Unlit model, then sticking all the graph output inside Diffuse/Emission or what ?
I think I'll enjoy SF alot when it'll be released. :poly142:
A terrain + a skin shaders in the examples shaders would be very very nice.
Perhaps in the 1.0?
I had a problem with the alpha 15. The tessellation shader does not work. Just a black-mate material show in the scene.
Console warning:
Shader warning in 'Shader Forge/Examples/TessellationDisplacement': Program 'tessvert', implicit truncation of vector type (compiling for d3d11) at line 43
Not sure it is realationated but its the only warning.
I enter to the shader forge and open it. and most of the previews were in black. After update the textures the nodes were not in black anymore, but the preview still was in black. It dont give even the diffuse (dx11 is activated)
And it eats more and more memory.
It was a new project just to test the SF alpha.
Alpha 14 worked fine
Im a bit surprise that no one has said nothing about it.
To the other testers: You dont have any problem?
A black material looks like you don't have DX11 enabled in your project. The memory issue sounds like a big problem, I'll look into it today
Sorry to have bother you. Seems like it my unity's installation (upgrade) fault or something cause it happens with others package shaders. Dx11 is enabled but for some reason it does not load properly. I will deletes unity and make a fresh installation.
Thanks and sorry for the inconvenience.
Maybe you could make an incentive where people show their most helpful shaders, and take the 5 or so most helpful and put them in your example shaders, and award those people a free license , that could be fun and win/win for everyone I guess
Most people are no tech artists and more example shaders would surely help a lot, atleast thats how it looks from my side ; )
Acegikmo, I'll post a moving picture of that shader as soon as you get that screenposition node working per-fragment :P I assume it's not a priority at the moment though.
Beta 0.16 will have a new set of lighting features!
A separate custom lighting input and two new inputs for ambient diffuse and specular light, which can be used for IBL setups
I had a Skype meeting with the creator of Marmoset Skyshop, and we're going to make a super tight integration as a post-release update!
"Stayed up a bit late last night and managed to make real-time spherical area lights with SF"
:O Love the work youve done, been following and playing around with shader forge and absolutely loving it!!
Loved UDKs and have been able to replicate some shaders using shader forge !! :)
I was wondering how you went about creating your real time spherical area lights?
Just to see how you set it up in shader forge? Having some trouble, because been looking in creating a similar effect
anyway keep up the amazing work!!
Thanks!
I might include spherical area lights in the example shaders. I do want to have it as a checkbox to support SAL later, perhaps as a plugin with multiple area light types depending on how much time it will take to develop.
Also, quoting this from the last post of the previous page in case someone missed it:
Beta 0.16 will have a new set of lighting features!
A separate custom lighting input and two new inputs for ambient diffuse and specular light, which can be used for IBL setups
I had a Skype meeting with the creator of Marmoset Skyshop, and we're going to make a super tight integration as a post-release update!
I said last time that 0.15 would be the last version before public release, but I changed my mind, due to having done some major changes in the system.
0.16 should be the last version, for real this time!
It's also out now! Here's the changelog for Shader Forge Beta 0.16:
• New Main input: Custom Lighting (Run per-light source. Emission is now run only once when using unlit)
• New Main input: Diffuse Ambient Light (For example: IBL/Cubemaps, Ambient light)
• New Main input: Specular Ambient Light (For example: IBL/Cubemaps)
• Specular is now required to be connected by Gloss and Specular Ambient
• Diffuse is now required to be connected by Transmission, Light Wrapping, Diffuse Power and Diffuse Ambient
• The bug causing massive load times and long connection / preview waiting times has now been fixed!
• Fixed a bug where the component mask node caused massive framedrops
• The node view settings, such as the connection display mode, are now persistent between sessions
• The panner node should no longer cause errors
• Node previews should now be generated around 44% faster (They are now rendered in 96x96 instead of 128x128 )
• The Shader Forge logo has now been updated by Jenny Nordenborg (@sranine)
• The main node now has a background image and has been reorganized into categories
• You can now switch between per-pixel screen coordinates or per-vertex screen coordinates
• You can now move around the Shader Forge folder without asset links breaking
• You can now optionally enable masking of specularity in shadows (Only for directional lights)
• Cleaned up some of the generated diffuse code (Diffuse power is now only used when connected)
• Fixed "invalid input" sound being triggered on OSX when using hotkeys
Nice one Polynaught!
It's always nice to see what people create with SF, can't wait to see what's going to be created down the line
A little side note - Don't name your nodes "_MainTex", that will make the internal name "__MainTex" (Double underscore). The underscore is added automatically to the internal name. You can mouesover the input fields to preview the internal name
It's a part of Mayas Hypershade - A user selects a texture (or any node) can graph "output connections" and all nodes that utilize it will branch out next to it.
[uses]
select two images: A and B
click "outputs"
visualize all nodes that accept A and B as an input
reconnect the B values to use A
now delete B [presumably without braking things]
when trying to sift through 50 materials that are using texture B and half of them now need to use Texture C it is quite helpful to
click texture B,
map outputs
select the 25 materials that need update
clear unselected from work environment
start attaching texture C to these 25
I suppose, yes, but I'm not sure how it would work in SF, as SF works with shaders, which then creates materials. The materials store the actual properties, not the shaders. The shader just saves the default values. For instance, you don't need to assign textures at all when creating a shader, but the materials can use them. But it does sound kinda useful to be able to get an overview of all the materials in the project. I'm considering making a shader/material overview plugin as well
I am trying to tint the shadow color. This works as long as I somehow incorporate the Light Color node into the shader graph that goes into the Custom Lighting input of the Shader node (an Unlit shader btw.).
If however I delete that Light Color node and use a Color Property node for tinting I get the following error message:
Shader error in 'Shader Forge/ColoredShadows': Program 'frag', undefined variable "_LightColor0" at line 54
Keywords: DIRECTIONAL, LIGHTMAP_OFF, DIRLIGHTMAP_OFF, SHADOWS_OFF
I can send you the graph if you find my explanation too vague.
I am trying to tint the shadow color. This works as long as I somehow incorporate the Light Color node into the shader graph that goes into the Custom Lighting input of the Shader node (an Unlit shader btw.).
If however I delete that Light Color node and use a Color Property node for tinting I get the following error message:
Shader error in 'Shader Forge/ColoredShadows': Program 'frag', undefined variable "_LightColor0" at line 54
Keywords: DIRECTIONAL, LIGHTMAP_OFF, DIRLIGHTMAP_OFF, SHADOWS_OFF
I can send you the graph if you find my explanation too vague.
Strange. A screenshot of the shader tree would be helpful
I have now set a release date to force myself to finish it:
It should be out this wednesday*! Getting really close to being ready now.
Wrapping up the website now; here's how it currently looks: http://acegikmo.com/shaderforge/nodes/
*plus asset store submission delays, if any
I also need to make the asset store images.
Which selling points do you believe are strongest for Shader Forge? What should I emphasize on?
I think you have enough buzz going around to sell it, the name is out there, people know it. I'd say bring some of the greatest features of interface, easy to use, some example shaders done with it and that should work.
I think you have enough buzz going around to sell it, the name is out there, people know it. I'd say bring some of the greatest features of interface, easy to use, some example shaders done with it and that should work.
It's out on the Unity forums and Polycount, otherwise it's pretty isolated
There are tonnes of people who only search the asset store for assets, and don't really look elsewhere!
Need to figure out how to properly sell it with just a few key images. Thanks for the feedback!
Also, just because I have a tendency to put the more important posts at the bottom of pages, here it is again:
I have now set a release date to force myself to finish it:
It should be out this wednesday*! Getting really close to being ready now.
Wrapping up the website now; here's how it currently looks: http://acegikmo.com/shaderforge/nodes/
*plus asset store submission delays, if any
I also need to make the asset store images.
Which selling points do you believe are strongest for Shader Forge? What should I emphasize on?
Replies
https://vimeo.com/81547251
Just a few suggestions and a question.
First the question.
The official release will include source code or will have only dlls in the unitypackage? I hope it includes source
Suggestions.
1 - (Im sure you already plan it but anyway) Make the move graph with the middle mouse button (now its with the LMB) and make LMB a selection box.
2 - (A little and low priority)The Rotate option in the shader view is great, if we could select between rotate object and rotate camera would be better, very useful to visualize the result of some nodes like "world position" or view direction.
3 - (I guess this is the important one) The ability to have more than one instance or window of shaderforge at a time. Its much better if we can see other shader graphs made in the past as reference of how to achieve some task, instead of to have to close the shader open the reference shader close and open the currently shader (And jump between them once and again to the details or take a snapshot)
Greetings
http://udn.epicgames.com/Three/MaterialsCompendium.html#ObjectRadius
and here a example of use.
[ame="http://www.youtube.com/watch?v=YMvg8dHet5E"]CGMasterTraining: UDK Intelligent Materials - Scale Aware Tiling - YouTube[/ame]
It will be a .dll for various reasons, but since it's all written in C# it's easy to decompile and look at the source. However, you don't need to access the source code of Shader Forge itself in order to access the compiled shader code
I wonder though; how come you want to access the source code?
This is already implemented in beta 0.15
Possibly yeah, right now the rotation is a bit weird.
This is quite a huge topic, in terms of how much I would need to rewrite.
I don't plan to do this anytime soon, but you can as of 0.15 use ctrl+C and ctrl+V if you want to copy/paste across shaders.
I haven't planned to implement it, but I will implement an object scale node, which can be used for approximately the same effect.
A scale node will be perfect.
Good work.
That said, decompiling C# is super smooth, you get all code, including comments if I remember correctly, so it doesn't spit out something unreadable.
I would put even more things in a .dll if I could, such as icons/images etc, as they shouldn't be visible when searching your project for assets that belong to your project, but right now I haven't found a straightforward solution for hiding editor assets.
I was at a Unity event yesterday and gave an improvised talk on Shader Forge, and showcased a bit how it worked, which you guys might find interesting!
[ame=http://www.youtube.com/watch?v=Gm2BZuh8LwI]Shader Forge presentation intro[/ame]
[ame="http://www.youtube.com/watch?v=YgxaIBpOqtY"]Shader Forge presentation part 1 - YouTube[/ame]
[ame="http://www.youtube.com/watch?v=aXt_nnCqkL8"]Shader Forge presentation part 2 - YouTube[/ame]
It is now time to focus 100% on bugfixing and polish, before it goes live, to make sure it's as tight as possible!
Massive changelog:
• You can now connect to Outline Width and Outline Color to make a simple toon shader (Does not work with convex hard edges)
• The transform node is now much more intuitive. The new version has two dropdowns, From and To, where you can select World, Local, Tangent or View. Note that your old shaders using the transform node will either break or be reset.
• New hotkeys to use with selected nodes:
• - Ctrl+D (Duplicate)
• - Ctrl+C (Copy)
• - Ctrl+V (Paste) (Also works cross-shader, so you can open a new shader and paste in there)
• - Ctrl+X (Cut)
• You can now comment on nodes by right-clicking on them and selecting "Edit Comment"
• You can now right-click on nodes both in the node area and the browser, to go directly to their online documentation
• Added node: Scene Color (Can be used to get the background color or for manual refraction)
• Shader Forge will now use the tiling and offset specified in the material
• The material inspector now has buttons to open the shader in SF, open the CG shader, and open the compiled shader
• A scrollbar is now added to the shader settings / property window when it overextends
• The component mask node should now be foolproof (As in, if you connect a Vector2 you shouldn't be able to select the B and A channels etc)
• You can now specify per-shader fog overrides for Fog Mode, Fog Color, Fog Density and Fog Near/Far range
• A preset for Screen blending has been added (This will break your old shaders using Multiplicative or Custom blending)
• The camera can now be moved with middle mouse button in addition to the regular camera movement system
• Texture nodes will now be drawn with transparency only when they are marked as using the alpha channel for transparency
• The Time node now has an icon
• Texture2D nodes now have a dropdown to select one of the built-in default colors, when no texture is assiged: White, Gray, Black or Bump (Flat normal, for normal maps)
• Texture2D nodes now have a checkbox to select whether or not it's a normal map. This will be assigned automatically when assigning textures, otherwise it needs to be checked manually
• Added a frame limiter (At roughly 40 fps) to prevent Shader Forge from eating all the CPU power it can get
• You can now do arithmetic between nodes of different component counts (For example, multiplying a Vector2 with a Vector4)
• You can no longer delete nodes with backspace, this is now done with ctrl/command+backspace, or the delete key
• Shader Forge will now tell you to update if opened in a Unity version older than 4.2
• There is now a checkbox for remapping gloss from linear [0-1] to base-2 exponential [1-2048]. This used to be enabled only for PBL previously, it is now on by default for all shaders
• Fixed a bug where additional light sources ignored fog
• Fixed a bug where the default values for Value properties didn't save
• Fixed a bug where fog was displayed incorrectly when using multiple lights
• Fixed a bug where you couldn't use colors as specularity when using the PBL lighting mode
• Fixed a bug where arithmetic nodes were outputting the incorrect vector type when linking pending outputs (before the input nodes were assigned an output type)
• Fixed a bug where the Desaturate node looked as if it was outputting a Vector3 rather than a Vector1/Value
So happy just for copy, paste, drag-select, etc. And commenting - Now I won't get lost in my own shader networks.
Solid work, dude. Keep going!
That's a simple non-realistic custom lighting shader that uses a lookup texture for shading and another screen-space texture for that crosshatching. I'll try to liven it up a bit next, make the shadowing have an animated sketchy feeling. It was a joy to make this with SF and nothing crashed, hooray!
These were questions I made you around 4 months ago.
With your replies in orange.
-Does it output the code or does is create only compiled shaders ?
It writes fragment shaders, which is then passed through Unitys compiler and optimizer.
-Does it allow to write vertex/fragment shaders from scratch for optimal performance even for mobile platforms, or does it create alot redundant code ?
The goal is to prevent redundant code as much as possible; but it's hard to predict all cases. This is why beta testing will help a lot
Being able to work with vert/frag separately is not the plan at the moment, as it's supposed to be as user friendly as possible, at least for the very first version released. I do have a pretty good idea on a multi-pass vert/frag layout though, that might make it in as an "Advanced mode" down the line
-Would it be possible to optimize variable types inside the visual editor for parameters connected to nodes and maintaining the preview features, so that we can use fixed/half/float without even touching the code ?
Variable precision settings are planned
- Would be possible to create shaders with this editor and take advantage of Skyshop features, from what I've read Skyshop is one of the most positive reviewed addition to Unity at the moment.
Maybe! I haven't looked into it very much; but as far as I know, Skyshop is essentially a neat package to generate HDR cubemaps and utilizing them with IBL shaders? It should be possible to simply plug the Skyshop cubemaps into Shader Forge as IBL samples
-Being optimized oriented
As much as possible, yes! It's targeted at both high-end shaders as well as low-end mobile shaders.
-Shaders LODs support in the editor.
Planned
-Custom Code Node
Also planned!
Looking at your Shader Forge presentation, it looks like it's still very heavy as you said and should be avoided on mobiles for the moment.
Of the questions I made above seems like currently only Skyshop HDR Cubemaps are supported, but yet there is no integration of Skyshop IBL Lighting model, this doesn't make it possible to integrate (currently) custom shaders wrote in Shader Forge together with standard Skyshop setup.
-Will seamless integration be possible later on ?
-I made you this question long ago, but maybe it passed by not noticed:
You said SF outputs fragment shaders, is it possible to edit the output(disabling auto-compile) and compile it manually, is the output human-readable, does the comments that you add to the nodes in the GUI appear in the output too ?
-Could you please integrate HalfLambert shading model in the presets like (blinn,lambert,pong...) ?
Thanks.
Also thanks for all the work, this has been such a fun tool to play with, allows for much easier look development and iteration, will buy it first day for sure.
SF is currently not very mobile focused at all. I wanted to have a wide support across all platforms, but I have to prioritise, and currently, the priority is to push the boundaries of what Unity can do in terms of visual quality, which is why I've chosen to wait with implementing optimisation features until a post-release update.
That said, you can still make mobile shaders, and as long as they're not too complex, it should run just fine
As for Skyshop integration - I've been in talks with the creator of Skyshop, and he was interested in helping out making sure it can be integrated fully into SF, which is good news
That said, you can make your own IBL node setup in SF using the Skyshop assets.
You can edit the shaders after creation in SF; but if you reopen them in SF, it will overwrite the old ones, unless you remove the SF metadata.
I've planned to include the user comments in the compiled shaders too.
Half-lambert has been possible for quite a long time, just set Light Wrapping to 1
Possibly, but I think it's currently already embedded in the custom lighting nodes. As in, if you make a Light Color node, it will use the lightmap color when baked. If you use a light direction node, it will use the baked light direction, and so forth.
Looks fresh! Glad you're utilising the custom lighting features
Would love to see it in action, screen space mappings look so neat when they move (Or rather, don't move, while the rest is)
By the way could you show a graph using custom lighting that bypass the lighting model presets.
Are you simply setting Unlit model, then sticking all the graph output inside Diffuse/Emission or what ?
I think I'll enjoy SF alot when it'll be released. :poly142:
Perhaps in the 1.0?
I had a problem with the alpha 15. The tessellation shader does not work. Just a black-mate material show in the scene.
Console warning:
Shader warning in 'Shader Forge/Examples/TessellationDisplacement': Program 'tessvert', implicit truncation of vector type (compiling for d3d11) at line 43
Not sure it is realationated but its the only warning.
I enter to the shader forge and open it. and most of the previews were in black. After update the textures the nodes were not in black anymore, but the preview still was in black. It dont give even the diffuse (dx11 is activated)
And it eats more and more memory.
It was a new project just to test the SF alpha.
Alpha 14 worked fine
Im a bit surprise that no one has said nothing about it.
To the other testers: You dont have any problem?
Sorry to have bother you. Seems like it my unity's installation (upgrade) fault or something cause it happens with others package shaders. Dx11 is enabled but for some reason it does not load properly. I will deletes unity and make a fresh installation.
Thanks and sorry for the inconvenience.
Most people are no tech artists and more example shaders would surely help a lot, atleast thats how it looks from my side ; )
A separate custom lighting input and two new inputs for ambient diffuse and specular light, which can be used for IBL setups
I had a Skype meeting with the creator of Marmoset Skyshop, and we're going to make a super tight integration as a post-release update!
:O Love the work youve done, been following and playing around with shader forge and absolutely loving it!!
Loved UDKs and have been able to replicate some shaders using shader forge !! :)
I was wondering how you went about creating your real time spherical area lights?
Just to see how you set it up in shader forge? Having some trouble, because been looking in creating a similar effect
anyway keep up the amazing work!!
I might include spherical area lights in the example shaders. I do want to have it as a checkbox to support SAL later, perhaps as a plugin with multiple area light types depending on how much time it will take to develop.
Also, quoting this from the last post of the previous page in case someone missed it:
http://seblagarde.wordpress.com/2012/11/28/siggraph-2012-talk/
http://forum.unity3d.com/threads/113784-Has-any-one-experimented-with-Box-Projection-Correction-Environment-Mapping
Currently it's not possible, as you cannot push matrices into Shader Forge shaders (Unless coded manually afterwards). It is a planned feature though
0.16 should be the last version, for real this time!
It's also out now! Here's the changelog for Shader Forge Beta 0.16:
• New Main input: Custom Lighting (Run per-light source. Emission is now run only once when using unlit)
• New Main input: Diffuse Ambient Light (For example: IBL/Cubemaps, Ambient light)
• New Main input: Specular Ambient Light (For example: IBL/Cubemaps)
• Specular is now required to be connected by Gloss and Specular Ambient
• Diffuse is now required to be connected by Transmission, Light Wrapping, Diffuse Power and Diffuse Ambient
• The bug causing massive load times and long connection / preview waiting times has now been fixed!
• Fixed a bug where the component mask node caused massive framedrops
• The node view settings, such as the connection display mode, are now persistent between sessions
• The panner node should no longer cause errors
• Node previews should now be generated around 44% faster (They are now rendered in 96x96 instead of 128x128 )
• The Shader Forge logo has now been updated by Jenny Nordenborg (@sranine)
• The main node now has a background image and has been reorganized into categories
• You can now switch between per-pixel screen coordinates or per-vertex screen coordinates
• You can now move around the Shader Forge folder without asset links breaking
• You can now optionally enable masking of specularity in shadows (Only for directional lights)
• Cleaned up some of the generated diffuse code (Diffuse power is now only used when connected)
• Fixed "invalid input" sound being triggered on OSX when using hotkeys
Alt+RMB drag to create a cut-line. You can also do Alt+RMB click on connectors to unlink them.
Another piece of polish coming in 0.17
Add/Multiply now support up to 5 inputs
Result:
Awesome tool. Prototyping shaders in Unity has never been easier. Ok, Strumpy Editor was a cool tool in the past. But SF is going to kick ass.
It's always nice to see what people create with SF, can't wait to see what's going to be created down the line
A little side note - Don't name your nodes "_MainTex", that will make the internal name "__MainTex" (Double underscore). The underscore is added automatically to the internal name. You can mouesover the input fields to preview the internal name
http://acegikmo.com/shaderforge/nodes/
Diffuse
Specular
Gloss
Normal
Emission
Transmission
Light Wrapping
Alpha
Alpha Clip
Refraction
Diffuse Ambient Light
Specular Ambient Light
Custom Lighting
Outline Width
Vertex Offset
Displacement
Tessellation
Do You Have Program for Implementation Depth Nod And Add To SF?
Like DepthBiasedAlpha PixelDepth And ... Like UDK
(Scene depth and DBA)
Those two seem like two separate things, could you elaborate?
[uses]
select two images: A and B
click "outputs"
visualize all nodes that accept A and B as an input
reconnect the B values to use A
now delete B [presumably without braking things]
when trying to sift through 50 materials that are using texture B and half of them now need to use Texture C it is quite helpful to
click texture B,
map outputs
select the 25 materials that need update
clear unselected from work environment
start attaching texture C to these 25
is that more clear?
I am trying to tint the shadow color. This works as long as I somehow incorporate the Light Color node into the shader graph that goes into the Custom Lighting input of the Shader node (an Unlit shader btw.).
If however I delete that Light Color node and use a Color Property node for tinting I get the following error message:
I can send you the graph if you find my explanation too vague.
Strange. A screenshot of the shader tree would be helpful
It should be out this wednesday*! Getting really close to being ready now.
Wrapping up the website now; here's how it currently looks: http://acegikmo.com/shaderforge/nodes/
*plus asset store submission delays, if any
I also need to make the asset store images.
Which selling points do you believe are strongest for Shader Forge? What should I emphasize on?
Would love to hear any feedback you might have!
It's out on the Unity forums and Polycount, otherwise it's pretty isolated
There are tonnes of people who only search the asset store for assets, and don't really look elsewhere!
Need to figure out how to properly sell it with just a few key images. Thanks for the feedback!
Also, just because I have a tendency to put the more important posts at the bottom of pages, here it is again: