@EverthangForeverI have just sent you my version of IQ's planet shader, I had to do it as three PM's because the software would not let me send it as a single post claiming it might damage their servers, but you just need to concatenate the three parts in a single .fsh file.
So far I have had no success using multiple textures in a single shader. Lezado seems to have done it in the Bikini's scene but when I tried to do the same thing it failed. I have not yet got round to investigating why it failed for me, but its almost next on the list of scene related things I want to do - if I do crack it then there are a whole bunch of utility type shaders I want to add to TheEmuLib.
Your point
It seems the sightest inconsistency with the iStripper fullscreen platform prevents a successful compile.
is well taken. There are at least two sets of problems
1a) Errors in .scn files are rarely if ever reported.
1b) Some of the unreported errors cause the scene not to play, others alow it to play but wrongly
1c) Some of the unreported errors simply cause a line in the scene file to be ignored
1d) Some of the unreported errors get a fix up by providing a default value
... for example if you misspell inoutexpo as inoutexp it gets treated as if you had specified linear.
... or if you type 1, 2 3, 4 instead of 1, 2, 3, 4 it is as if you typed 1, 0, 4, 0
1e) A blank is required after a colon, but not before it, so pos: -100, 0 is OK but pos:-100, 0 is not.
2a) The shader compiler detects and reports errors and these are logged in vghd.log, but whether these error messages are easy to use depends on the shader compiler. When I use my intel internal graphics processor the messages clearly identify the line in which the error was detected and the line numbers reported exactly match the line numbers given by Notepad++, but when I use my NVIDIA GPU the line numbers, though present, are not so clearly identifiable as line numbers and are usualy off by a few lines. This means that I can easily use the log file as a debugging aid when using the intel GPU, but its a real ***** to use with the NVIDIA GPU.
2b) Currently a shader compilation failure does not prevent a scene using that shader from running. Often it is quite obvious that the shader is not running, but equally often it looks like the shader may be running but not quite producing the effect you wanted. Sometimes it is not even obvious that there has been any problem at all.
2c) With the GLSL shader language, like most languages using a C like syntax, it is hard for the compiler to determine the cause of the error which is often many lines away from where the error is detected - e.g. if you accidently omit a closing curly bracket the compiler will only know that something is wrong when it later finds that there is a mismatch between the numbers of opening and closing curly backets - and this may not be apparent until hundreds of lines later. It is possible to do a better job of error reporting for these errors, but it takes a lot of effort to do so and many compilers just report an error where it is detected rather than try to determine a more exact location of its cause. Short of writing a new GLSL compiler there is little that Totem, or anyone else, can do about this as it is a problem with the laguage design. At least shader sources are usualy quite short, I have had cases when using C or C++ when the reported location of an error was thousands (occasionaly tens of thousands) of lines after the actual error - I do not write such large C or C++ sources, but I do use program generators that often output huge C source files.
Totem could do a lot about the first group of errors, those in the scene file, At the very least they could report them and not silently fix any up.
Totem could improve the handling of errors detected by the shader compiler by outputing messages about them to somewhere other than the vghd.log and providing access to it from the GUI. In principle they could improve the matter of the line number mismatch when using the NVIDIA compiler, but that would need GPU compiler specific code and they can't be expected to handle all possible GPU compilers. They could also not run a scene if a shader error was detected, or at least display a "Shader Error" message. There is nothing anybody can do about the aspects of the GLSL language that make error location difficult.