Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by EternallyCurious. 04/18/24 10:45
StartWeek not working as it should
by Zheka. 04/18/24 10:11
folder management functions
by VoroneTZ. 04/17/24 06:52
lookback setting performance issue
by 7th_zorro. 04/16/24 03:08
zorro 64bit command line support
by 7th_zorro. 04/15/24 09:36
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:48
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:46
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (1 invisible), 692 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, 11honza11, ccorrea, sakolin, rajesh7827
19046 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
[REQ] Shader Editor #402470
06/06/12 02:15
06/06/12 02:15
Joined: Apr 2005
Posts: 795
U.S.A. Michigan
exile Offline OP
User
exile  Offline OP
User

Joined: Apr 2005
Posts: 795
U.S.A. Michigan
NOTE: Skip to paragraph 4 to get to the main subject of this feature request.

Introduction: Greetings Conitec, Gamestudio community, and most of all JCL. My name is Exile, but I will come to you all today as Kenneth Howell. The reason being that this, to me, is a serious topic and I hope to keep this as professional as possible. So without further adieu, I will begin the explanation of my feature request. And I hope others who are more knowlegable than myself can offer their support and comments in this topic as well.

1p: First, let me begin with what 3D Gamestudio does great. When I first came to gamestudio in the early A5 days, I was 12 years old. I had absolutely no idea how to program and had no idea where to begin. This is where my first compliment to the engine comes in, the template system. Though its all but gone these days, the template system was a great way for beginners to start with the engine and get their hands dirty. It was how I learned what I know today, and how I am sure many of you have learned as well. After I began learning how the basics worked, I started working with the tools which came with this great engine. I am talking about WED and MED then afterwards SED. These tools, while basic, served their purpose in giving the user (myself) the tools to do things on their own and to get an understanding as to how level design and modelling even work. Though the tools of the subject are relatively outdated these days in comparison to most other tools available, their purpose is not to be an end all-be all solution for your level and modelling needs. But rather a way to make quick and easy assets for your project. Which it succeeds in. In the end, Gamestudio as always favored the programmer over the artist, which is why many of us have stuck around. But, it is also one of the major reasons why many of us have left as well.

2p: Over the past few years I have been seeing this forum become less and less popular. Dieing if you will. I remember in the A6 days where I would post a comment or ask a question and I would get many responses within minutes to hours after posting. These days, the community seems sparse and I dont believe that is entirely the engines fault. Things like the harsh truths of reality have been the determining factor for many of our members packing their bags. But one of the things I have noticed in the past few months is something I haven't seen before.

3p: The general consensus I seem to feel by reading the comments of this board is that 3DGS is dead/dieing and people have lost faith in JCL and Conitec. The biggest complaint I have seen amongst the users has been Gamestudios currently barely passable lighting and shading system. I have seen suggestions like Differed Lighting and other lighting/shadowing techniques being passed around but I don't feel that any "one" of those is a viable solution for reasons I will mention later. I feel that what Gamestudio is missing, is a true solution to shaders and lighting/shadowing techniques, and guys I think I may just have the answer.

4p: Here's the scenario. You are at work on your game and decide "You know, I want to add some lava here". So you open your level in WED (or possibly MED) and begin working on adding some nice looking lava to your scene. You add a couple lights and a couple effects and generate a build. As you look at it you think "It looks ok, but its not how I want it". So you start toying with shaders to give yourself a solution to your specific needs, but don't know where to begin. This is where the general idea behind "Light-Tree" comes in.

5p: Light-Tree would be a visual shader and material editor, but with a slight twist. You see, you cant just magically make two shaders work together as there are techniques and things that you need to take note of. So what this program would do is render a simple scene with sunlight, a spotlight, a point light, a large wall, a small rotating square, and a rotating circle with alpha channels. From here, the user would start editing and customizing their own lighting system visually and subsequently, their own shadowing system as well. Maybe they want a vertex lighting system? Or maybe a per-pixel? Its entirely up the end user!

6p: So the user has made a lighting system they like, but what now? Well this is where Light-Tree would really shine. After making their lighting system they would then select their scene as their new "work zone", being an area which they would build their shading system off of. Here, they would add other effects like bump mapping, specular highlighting, Parallax mapping, etc, to their workzone where the effects would be completely built around their own lighting system. They would be able to save multiple materials, maybe a plastic pr metal or chrome shader, still built around their own custom lighting system. So the user has finished getting the lava effect they want. So what now?

7p: From here, the user simply selects the "generate" option. This would then generate two files (.fx and a .c) which they would include in their project. Afterwards, the user would then open up WED to see their new world. But how would they generate it? I introduce to you a new section in the "build" menu called the "custom lighting" option. This would have the builder build the users level without any engine lighting including the sun, static lights, dynamic lights, etc. After the user has done this, they would then begin adding lights to their level. But not with the standard engine lights, but with a new light object called the "custom light". The custom light would simply be a light object with an action attached to it (defined in the .c file generated by Lite-Tree), which the engine would create a light source based on the properties within its action. Afterwards the user builds, saves, runs, and beholds their brand new world!

8p: This is the vision I have for a tool like this. I really feel that this tool could be extremely useful within the community. Surely a tool such as this would require manual optimization which would fall upon the user. But this tool wouldnt be used for publishing a AAA title, this tool would be used as a viable stepping stone into shader programming as well as offering a live and fast editing alternative. Take a look at this tool I stumbled across during my research...

http://gamestart3d.com/blog/introduction-shader-tree

This program is nearly exactly what I am thinking of for 3DGS. As I stated before, this tool isn't an answer to all of the problems of the engine, nor is the the answer to everyone's shader problems. But a tool like this would be a great at giving artists and non artists alike the ability to produce great looking results without having to dedicate time to learning a new language or constantly built-edit-repeat their code. I ask any members of the community with great knowledge in shaders to please post on this topic, as your input would be greatly appreciated and needed.

Thank you all for reading this extremely long request, and I hope you all have a great day laugh

Re: [REQ] Shader Editor [Re: exile] #402471
06/06/12 02:53
06/06/12 02:53
Joined: May 2009
Posts: 1,816
at my pc (duh)
darkinferno Offline
Serious User
darkinferno  Offline
Serious User

Joined: May 2009
Posts: 1,816
at my pc (duh)
A visual shader editor eh

I would've loved this also, lighting was often a major issue for us, we would prototype games over and over but we'd ALWAYS stop because we couldn't light levels in acceptable quality, or we couldn't get several effects working together, hence we tried shadeC which helped but as you all know, unstable, it felt like we were making an engine, rather than a game;

There's alot of free shaders out there true, but its rather annoying to make alot of them work together in one scene, so I do like the idea of an editor allowing for creation of such content, I think several users started such projects as well, I hope they didn't stop, though I am seeing alot more unfinished projects lately.


Click to reveal..
I do believe its the engine's and developers fault for the dying product, I don't care what anyone says, the people on these forums are mainly the hardcore users, we even ran jokes about how many people would buy our game, then we'd list out the core forum members ^^

The problem is this: STOP TELLING PEOPLE HOW TO WORK AROUND PROBLEMS! There's ways to work around EVERYTHING, the point is, how much time does it take, I am sure ALOT will agree with me that they started working on something that they KNEW should take a few minutes and days later, they're pulling out hairs;

I no longer use GS but I can make it clear, I felt like I was pushed away, ALL my requests were met with a sarcastic: "You should clap 5 times, jump over the moon, do a barrel roll then sing, then it'll work.. hey, it works for those guys, now do it too..."

We even got to the point where we joked that conitec, george and JCL were just one guy with different accounts ^^


Re: [REQ] Shader Editor [Re: darkinferno] #402473
06/06/12 04:37
06/06/12 04:37
Joined: Jan 2012
Posts: 39
B
BySharDe Offline
Newbie
BySharDe  Offline
Newbie
B

Joined: Jan 2012
Posts: 39
I should give you a large vote!!

The lite-C is quite gorgeous. For me, I like GS' good FPS.
Let me take an example. To make a small demo that just displaysing a webcam image(640*480). The Unity3.5 gets 30~40 FPS, Virtools5 gets 70~80 FPS while A8 gets 1900~2100 FPS. Maybe GS has a mechanism to jump over each video frame to get a good looking FPS. But this is just what I need. I can do more I like during these fake FPS looping.

However, when I came to the shader programming, everything get sad. Less demos, less library. Although I have learnt GLSL for one year in college, I still feel lots nervous. Research and engineering are totally different. Let's say dynamic shadow, When I found that what I did on my own in two month even counldnot catch up with what I use two lines in GS, all I see is Hope. But now, it is getting hopeless.

In one word, there is little official material on MATERIAL. Now, Shader Tree seems to play a tragic hero.

Re: [REQ] Shader Editor [Re: BySharDe] #402498
06/06/12 12:04
06/06/12 12:04
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Yeah, built in deferred rendering with some matching shaders would be great, and a reason to buy the next Gamestudio versions!

Re: [REQ] Shader Editor [Re: Rei_Ayanami] #402499
06/06/12 12:12
06/06/12 12:12
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Quote:
I would've loved this also, lighting was often a major issue for us, we would prototype games over and over but we'd ALWAYS stop because we couldn't light levels in acceptable quality, or we couldn't get several effects working together, hence we tried shadeC which helped but as you all know, unstable, it felt like we were making an engine, rather than a game;
This is so true.


Acknex umgibt uns...zwischen Dir, mir, dem Stein dort...
"Hey Griswold ... where u gonna put a tree that big ?"
1998 i married my loved wife ... Sheeva from Mortal Kombat, not Evil-Lyn as might have been expected
rayp.flags |= UNTOUCHABLE;
Re: [REQ] Shader Editor [Re: rayp] #402511
06/06/12 14:21
06/06/12 14:21
Joined: Jul 2000
Posts: 27,978
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,978
Frankfurt
Do you have a visual shader editor in mind? Or just an environment for easier writing shader code?

Re: [REQ] Shader Editor [Re: jcl] #402513
06/06/12 14:33
06/06/12 14:33
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
My wish would be the first version, though only if it would mean, that it would make it easy for us, to use deferred lightning, as it seems to be important in the current times.

Last edited by Rei_Ayanami; 06/06/12 14:34.
Re: [REQ] Shader Editor [Re: Rei_Ayanami] #402548
06/06/12 20:39
06/06/12 20:39
Joined: Apr 2008
Posts: 2,488
ratchet Offline
Expert
ratchet  Offline
Expert

Joined: Apr 2008
Posts: 2,488
I would prefer some visual library of the common used shaders.
And perhaps some panel to adjust values.
For shader editing there are specialized tools and that's an entire new programming world different fomr simple game logic programming.

3DGS needs better workflow (perhaps some visual tools integrated in WED) , not extra tools , not so necessary.

Well it's just my opinion !

Re: [REQ] Shader Editor [Re: ratchet] #402557
06/06/12 23:17
06/06/12 23:17
Joined: Apr 2005
Posts: 795
U.S.A. Michigan
exile Offline OP
User
exile  Offline OP
User

Joined: Apr 2005
Posts: 795
U.S.A. Michigan
Thank you all for your responses guys!

@JCL, just so you know I am not the greatest programmer and I know very little about shaders outside of the research I have done to further educate myself on the subject. Taking a look at the link I posted, I was thinking something along the lines of that but instead of it simply being a simple "shader editor" it'd be more along the lines of an "environment editor" if you will since the end user would be able to customize/create their own integrated shaders. Maybe parameters like...

color saturation
color brightness
color contrast
hdr_amount
sunlight brightness
sunlight fade_amount
sunlight gamma
shadow depth(how dark/light shadows are)
shadow shadow_falloff (shadows edge blur/fade amount)
shadow saturation
shadow contrast
shadow gamma

Then the users would be able to add test lights of varying styles with similar parameters. Again, I am not sure how easy/difficult something like this would be. But this is just how I felt this could be used. Then after the user got their lighting the way they wanted, they would be able to export/generate the lighting system and begin making shaders around the lighting system.

Within this new tool there would also be a visual shader editor where the user would build their own shaders. They would be able to look at some of the default presets to visually see how the shader creation process works, then they could begin making their own shaders. As a reference, here are some projects which are similar to the Lite-Tree idea...

http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-4.0a-Massive-Improvements

http://waylon-art.com/LearningUnreal/UE3-11-MaterialBasics.htm

http://www.youtube.com/watch?v=131rjsgtkdc (Not the level editor, but how the lighting is controlled)

http://www.youtube.com/watch?v=q0Mn8UVtvA4



@Ratchet, Yes a visual library of commonly used shaders would be a great tool indeed. Unfortunately, as stated before, you cant just magically make shaders work together as they use different lighting and shadow rendering systems. Thats where this hypothetical tool could shine.

This would indeed be a lot of work, more than just one man could do within a reasonable amount of time. I am still learning about shaders so I can try to make a tool like this become a reality. It would be great to have some sort of proof of concept to be able to show JCL and the community. I wouldnt want credit or money or anything like that. Hell if I had a working version I'd just GIVE it to conitec. My only goal for this idea is purely to make 3DGS the best game engine it can be.

Last edited by exile; 06/06/12 23:26.

Moderated by  aztec, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1