.


Someone is still using ShadeC?



...

Wow, what can i say....
I feel sorry for you? grin


Since i somehow got here (thank you, internet), lets make the best out of it wink

I see you guys had (and still have?) a hard time using ShadeC. Some of the problems were already solved in the ShadeC Wiki here:
https://github.com/BoHHavoc/ShadeC-EVO/wiki

Solutions to other problems and questions: (note: i can not test these since i do not have gamestudio installed. These are of the top of my head and from looking at the ShadeC source on github):

Q: Is it possible to use non-shadec shaders with shadec?
A: Yes. There are two options.
1. (Not the best option, but good for fast testing) Enable forward rendering support (sc_screen_default.settings.forward.enabled = 1;) and then disable deferred rendering for the entity in question and set it to the forward rendering pass instead. You do that by calling sc_skill(entity, SC_OBJECT_PASS, SC_PASS_FORWARD). To set it back to the default gbuffer pass, use sc_skill(entity, SC_OBJECT_PASS, SC_PASS_GBUFFER). If set to SC_PASS_FORWARD the entity will be rendered using any shader/material you give it using the default Acknex rendering. The entity will then be rendered AFTER all other solid objects in the gbuffer are rendered, and BEFORE rendering transparent objects (...if i remember correctly). Note though, that shadows, ssao and dof might not work correctly. You MIGHT be able to get shadows working by using sc_skill(entity, SC_OBJECT_MATERIAL_SHADOWMAP, yourShadowMaterial). See example 05 for a custom shadowmap material/shader.

2. (Best option) Port the shader to shadec. I tried to make this as simple and easy as possible (yeah, sure. hah!). Read both chapters about custom shaders in the wiki, then take a look at 05_dissolve.fx, 05_dissolveShadow.fx as well as 05_livingBloom.fx, 05_livingBloomShadow.fx in the example folder to see some examples on how it is done. Note that the xxxShadow.fx is only needed if you change the vertex positions or alpha via a shader (i.e. you change the "surface" of the model). Otherwise you wont need it since the shadow will already be correct. Also, have a look at example 05 in general to see how to use these shaders.
For full understanding of how to extend/customize a shadec shader, search for #define include_scObject in default.fx.


Q: Can i use particles with ShadeC?
A: Yes. Enable forward rendering by setting sc_screen_default.settings.forward.enabled = 1; .


Q: Can i use terrainshader XY?
A: Yes. Either port it to shadec or render it in forward mode (shadows might not work). See question above.


Q: Transparency is not working!
A: Two options here:
1. ShadeC only supports one layer of transparency. This is a technical limitation of deferred rendering. To use it, add #define TRANSPARENT to a shadec shader. This is good for things like windows, but will fail miserably when being used for grass.

2. Render the object in forward rendering. See question above on how to to that.


Q: ZNEAR is not working!
A: Yes, this is totally correct due to the nature of ZNEAR and what it does. Do not use it. Ever. It might even be a good idea to not use it in non-shadec projects.
If you want the same behaviour as ZNEAR, make a copy of the shader you use on your ZNEAR object. Then, in the shader, in the technique, set zwriteenable = false and zfunc = always. Also, set sc_skill(entity, SC_OBJECT_DEPTH, 0) to set the depthvalue of the object to a value directly in front of the camera.




No more questions i can remember, but i think those were the most prominent ones. smile
The biggest misunderstanding i think is, that most people think ShadeC can only render objects using deferred rendering. Now you should know, that you can always fall back to forward rendering for specific objects that need it. Be careful however to not overdo it. Forward rendering is perfectly fine if you don't want or don't need ShadeC lighting/shadows for an object. It is also a valid option for transparent objects that need multiple layers of transparency (grass, particles). Also, special effects (refractions, heat haze, cartoon style, etc) and 3D UI are a good usecase for this. For almost everything else you should create a ShadeC compatible shader though, since it will be faster and can make full use of all ShadeC features.



If you guys are interested you can compile a list with questions from everybody and send it to me. I will try to answer them as best as i can. We can also hook up on skype for a live Q&A / go through that list. It would also be very nice to talk to you in general smile I'm located in germany, so talking either in german or english is fine with me.
Keep in mind however, that i am very very busy with my work, so please don't be angry if i don't have enough time to answer everything in detail smile
Please send the questions and your skype name(s) to wolfgang [a.t} gentlymad.org .

I was nice seeing that people still use ShadeC. Thank you for that.



(Although i still feel sorry for you tongue )

Cheers!


Shade-C EVO Lite-C Shader Framework