Setting up ShadeC EVO ( vegetation, terrain, publishing etc )

Posted By: rayp

Setting up ShadeC EVO ( vegetation, terrain, publishing etc ) - 07/01/16 20:57

You wanna have at least some nice graphics and you're a shader noob ? ShadeC might be the answer here.

What version? ShadeC or EVO?
Well it belongs to what youre planning to do. I give u some facts ( good and bad ones ):

ShadeC
- Terrain
- Water
- Nice object and PP shaders
- no dynamic shadows for entitys

ShadeC EVO
- No Terrain's ( see this Topic how to dirty "hack" terrain into )
- No Water ( maybe we'll find a solution here next time )
- Real nice object and PP shaders
- dynamic shadows for entitys

Tip:
- Reset the DYNAMIC flag for big models ( for example houses, read this Thread to know why )
- Modify your shadeC files ( fixed folders, read this Thread to know why )

See page "6" for a full publishing help

---------------------------------------------------------


Hi.

Please somebody help here, iam pretty frustrated right now.

Iam trying for hours to render a simple grass model. Never made outdoor stuff with shadeCEVO before.
Why the hell it ignores the alpha-channel ? Better asked, how to "overlay" my grass model ?

With the std-sc-material (from cars window) it looks strange like this ( ignore the blur thats caused from DOF ):
Code:
//------------------------------------------------------------------------------
//----- USER INPUT -------------------------------------------------------------
//------------------------------------------------------------------------------

//assign skins
#define SKIN_ALBEDO (skin1.xyz) //diffusemap
#define SKIN_ALPHA (skin1.w) //alphamap
#define SKIN_NORMAL (skin2.xyz) //normalmap
#define SKIN_GLOSS (skin2.w) //glossmap
//...

#define NORMALMAPPING //do normalmapping?

#define GLOSSMAP //entity has glossmap?

#define ALPHA //entity has alphamap?
#define TRANSPARENT //entity alpha should be interpreted as transparent/translucent?

//------------------------------------------------------------------------------
// ! END OF USER INPUT !
//------------------------------------------------------------------------------

#include <scHeaderObject>

//custom code goes here

#include <scObject>




With a std-normal/spec-sc-material it looks like this, ok but Alpha is ignored (#define ALPHACLIP wont make a difference)

Code:
//------------------------------------------------------------------------------
//----- USER INPUT -------------------------------------------------------------
//------------------------------------------------------------------------------

//assign skins
#define SKIN_ALBEDO (skin1.xyz) //diffusemap
#define SKIN_ALPHA (skin1.w) //alpha
#define SKIN_NORMAL (skin2.xyz) //normalmap
#define SKIN_GLOSS (skin2.w) //glossmap
#define SKIN_EMISSIVEMASK (skin3.y) //emissive mask
#define SKIN_COLOR (skin3.w) //(team)color mask

//...

#define NORMALMAPPING //do normalmapping?

#define GLOSSMAP //entity has glossmap?
#define GLOSSSTRENGTH 0 //glossmap channel will be set to this value if GLOSSMAP is not defined

//#define EMISSIVEMASK //use emissive mask? (formula: emissive_color = SKIN_EMISSIVEMASK * SKIN_ALBEDO)
//#define EMISSIVE_A7 // (optional EMISSIVEMASK addon) use emissive_red/green/blue for as emissive color? (formula: emissive_color = SKIN_EMISSIVEMASK * vecEmissive)
//#define EMISSIVE_SHADEC // (optional EMISSIVEMASK addon) OR use SC_OBJECT_EMISSIVE as emissive color? (formula: emissive_color = SKIN_EMISSIVEMASK * SC_OBJECT_EMISSIVE)

//#define OBJECTCOLOR_A7 // use diffuse_red/green/blue as (team)color using the colormask?
//#define OBJECTCOLOR_SHADEC // OR use SC_OBJECT_COLOR as (team)color using the colormask?

//#define ALPHACLIP //do alphatesting/alphacutout?

//#define USE_VEC_DIFFUSE //use diffuse_red/green/blue? (note: don't use with OBJECTCOLOR_A7 at the same time)

//#define ZPREPASS //do an early zbuffer prepass? Only makes sense for heavy ALU

//------------------------------------------------------------------------------
// ! END OF USER INPUT !
//------------------------------------------------------------------------------

#include <scHeaderObject>
// <-
// insert custom code here
// ->
#include <scObject>



Someone managed to render grass / tree leafs with shadeCEVO ? Some idea / help would be really nice ^^

edit:
To reproduce my Problem, take two grass models ( one placed infront of the other ) and apply the car-glass-material. Then youll directly see it when walking around looking at the grass.

Greets
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/01/16 21:35

Found some Workaround.
I activate
Code:
sc_screen_default.settings.forward.enabled = 1;

And apply no shadeCEVO material to the grass. This way it gets rendered "ok". But it wont react to shadec-lights then, ahh sh* !

edit: Give up. ShadeCevo is nice for indoor Scenes, outside you can smoke it in your pipe!
Implemented HeelX's SSAO now. Great looking effect.
edit: You can smoke SSAO in the pipe too, slow as hell!
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 12:21

To clear things i made another screenshot of the problem. First screenshot might be missunderstood.

To reproduce simply duplicate the glass of the car and fly around looking at them. Transparent parts are not rendered through other transparent parts.




I managed it like said in the post above to render without material. Then i added the shadeC Terrain (to shadeCevo). So i had grass and Terrain in shadec evo. But then strange "small" graphic artifacts appeared. Short: Rendering the grass without shadecevo-material on a shadeC-terrain with EVO running isnt an option. grin

Goal here simply is (at least) some good/"fast" graphics in a8. With things likes shadows, pp's, Terrain and grass.

edit: I dont want the grass transparent btw, i just want it like OVERLAY.
Posted By: Kartoffel

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 12:51

Well.. deferred rendering (which shade-c uses) makes it practically impossible to use soft transparency due to the way lighting and scene composition are handled.
That's the main downside. At the same time, however, it allows for much faster lighting, an overall consistent look and things like shadowmapping, ssao, screenspace reflections, etc. can be implemented quite easily.

Now, in the case of shadec evo, there actually is a workaround implemendet to support one layer of transparency by using subsampling (only a small performance impact).

Long story short, if you want to use transparency, go with either 1-bit-alpha (alphatesting enabled) or limit yourself to said one layer of transparency.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 13:25

Thanks for the info, Kartoffel.
I managed to display some grass now. To be honest no clue why it worked this time.

Now i need to test, if it will work with the "dirty ShadeC Terrain usage" (Alibaba mentioned some days ago).

But gettin all this together working is hell for me...

edit:
Quote:
alphatesting enabled
What do u mean here? U mean this activated yes?
Code:
#define ALPHACLIP //do alphatesting/alphacutout?

?
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 14:02

Quote:
1-bit-alpha (alphatesting enabled)


Jumping in half informed --> tga is 32 bit alpha meaning grays scale or fading alpha maps . I would assume 1-bit is 2 step alpha black 1-bit full transparent white 2-bit full obliqueness. Edit> such as the OVERLAY flag does by picking one color on the map/skin and making it fully transparent.
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 17:23

Give me a moment. Some time ago I somehow managed that by defining some stuff. But it's long time ago I have to search for it.
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 18:30

Okay, I sadly did not found the old version, but this is the way I use it in my current projects:
Code:
ENTITY* sc_ent_softSprite(ENTITY* ent, VECTOR* color, int inFadeDist, int inSoftness, int pType)

EXAMPLE:
sc_ent_softSprite(me, vector(128,128,128), 1, 1, 0);



You need to activate forward rendering. If you want shadows to work correctly, you need to set the alpha lower than 100.
For further information look into "sc_entity.c". There you can also find some other useful shader laugh

Hope that's helpful
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 19:08

Thanks for your time and the example.

I did not manage to get the shadeC Terrain working in evo, so i applyed a normal/spec shader to the terrain-modelfile. Dont know if this will be much slower than using a hmp file? This way i have no tile-mapping, but a Terrain without graphic Errors. Sure it Looks a lot more worse than the shadeC Terrain shader.

Somebody knows where the White - border Comes from?
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 19:12

Maybe that's caused by SSAO? Just guessing..
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 19:14

Deactivated ssao, still there.
edit: And its not caused from HDR sun_light or ambient_light ^^

@Alibaba
Did u manage to add the shadeC Terrain to evo without graphic Errors ?
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 19:32

Again under-informed --> I've seen something like this with alpha_refs the alpha near the color is lighter than the alpha map elsewhere. EDIT - AS a EXAMPLE - So there is a reference point, say full black is 0 alpha then any gray above 128 ranges from 1-100% alpha.

Like I say, under-informed so just a guess, however it does look like non-shade_c transparency problems I've have with the alpha_ref point.
such as here http://www.conitec.net/beta/d3d_alpharef.htm

EDIT2 - Based on what happens in 3ds max. The white can be from none 0 alpha blending with a spec.. So you get little color and fade spec mapping , because the alpha at that point is none 0 or above say 50%
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 19:45

Ok...
Ill try next to Play around with the texture.

Meanwhile i got a first result with Alibabas post. I dont know yet how much Performance this eats.
And the ShadeC Terrain renders without Errors too
Code:
action Grass_WED(){
	set (my, PASSABLE);
	//my.material = mtl_carWindow;
	sc_ent_softSprite(me, vector(128,128,128), 1, 1, 0);
	reset (my, DYNAMIC);
}




main function:
Code:
sc_screen_default.settings.forward.enabled = 1;


add the terrainmaterial
Code:
BMAP* sc_bmap_terrainColor = "terrain_color.dds";

MATERIAL* sc_ent_Terrain =
{
	skin1 = sc_bmap_terrainColor;
	effect = "terr.fx";
}


terr.fx
Code:
/******************************************************************************************************
Terrain-Shader by Wolfgang "BoH_Havoc" Reichardt

Entity Textures:
	Skin1 = Global Colormap
	Skin2 = Tile-Colormask  (RGB) + Shadow (A)
	Skin3 = Global Normalmap
	Skin4 = Tile-Normalmap (RGB) + Specularmap (A) (Quad-Texture)

Material Textures:
	Skin1 = Tile-Color (Quad-Texture)

Usage:

	
******************************************************************************************************/

/***************************************TWEAKABLES*****************************************************/

float shadowAlpha = 0.25; //shadowalpha of bumpmapping
float texShadowAlpha = 0.25; //shadowalpha of shadowtexture



/***************************************SHADER*CODE****************************************************/

texture entSkin1; //colormap
texture entSkin2; //global normalmap + Shadow
texture entSkin3; //colormask
texture entSkin4; //normalmaps
texture mtlSkin1; //colormaps

matrix matWorld;
matrix matWorldInv;
matrix matViewInv;
matrix matWorldViewProj;

float4 vecSunPos;
float4 vecSunColor;
float4 vecLightPos[8];
float4 vecViewPos;
float4 vecFog;

#define DOSUN

sampler colorSampler = sampler_state 
{ 
   Texture = <entSkin1>; 
   MinFilter = Linear;
	MagFilter = Linear;
	MipFilter = Linear;
};

sampler maskSampler = sampler_state 
{ 
   Texture = <entSkin2>; 
   MinFilter = Linear;
	MagFilter = Linear;
	MipFilter = Linear;
}; 

sampler globalNormSampler = sampler_state 
{ 
   Texture = <entSkin3>; 
   MinFilter = Linear;
	MagFilter = Linear;
	MipFilter = Linear;
}; 

sampler normSampler = sampler_state 
{ 
   Texture = <entSkin4>; 
   MinFilter = Linear;
	MagFilter = Linear;
	MipFilter = Linear;
}; 

sampler tileColorSampler = sampler_state 
{ 
   Texture = <mtlSkin1>; 
   MinFilter = Linear;
	MagFilter = Linear;
	MipFilter = Linear;
};

void terrain_VS( 
   in float4 InPos: POSITION, 
   in float3 InNormal: NORMAL, 
   in float2 InTex: TEXCOORD0,
   in float3 InTangent : TEXCOORD0,
   in float2 InShadow : TEXCOORD1,
   out float4 OutPos: POSITION, 
   out float2 OutTex: TEXCOORD0, 
   out float4 OutLight: TEXCOORD1,
   out float3 OutViewDir: TEXCOORD2,
   out float3 OutWorldNormal	: TEXCOORD3,
	out float3 OutWorldTangent	: TEXCOORD4,
	out float3 OutWorldBinorm	: TEXCOORD5,
	out float3 OutWorldPos	: TEXCOORD6,
   out float OutFog : FOG) 
{ 
	// Transform the vertex from object space to clip space: 
   OutPos = mul(InPos, matWorldViewProj); 
	// Pass the texture coordinate to the pixel shader: 
   OutTex.xy = InTex;
   
   float3 PosWorld = mul(InPos, matWorld);
  	
   //Light
   #ifdef DOSUN
   OutLight.xyz = vecSunPos - PosWorld;;
   OutLight.w = 100000;//distance(PosWorld,vecLightPos[0])/vecLightPos[0].w;
   #else
   OutLight.xyz = vecLightPos[0] - PosWorld;
   OutLight.w = 0;
   if(vecLightPos[0].w < 100000) OutLight.w = 1-distance(PosWorld,vecLightPos[0])/vecLightPos[0].w;
   #endif
  	//

	//Specular Lighting
	#ifdef DOSUN
	OutViewDir = (vecSunPos) - mul(InPos, matWorld);
	#else
	OutViewDir = (vecLightPos[0]) - mul(InPos, matWorld); 
	#endif
	//
	
	//Misc Output
	float3 Binormal = cross(InNormal,InTangent);
	OutWorldNormal.xyz = mul(InNormal, matWorld).xyz;
	OutWorldTangent.xyz = mul(InTangent, matWorld).xyz;
	OutWorldBinorm.xyz = mul(Binormal, matWorldInv).xyz;
	OutWorldPos = PosWorld;
	//
	
	//Fog
	OutFog = 1 - (distance(PosWorld, vecViewPos) - vecFog.x) * (vecFog.z);
   //
}

float4 terrain_PS(
	float2 Tex : TEXCOORD0,
	float4 InLight: TEXCOORD1,
	float3 InViewDir: TEXCOORD2,
	float3 InWorldNormal	: TEXCOORD3,
	float3 InWorldTangent	: TEXCOORD4,
	float3 InWorldBinorm	: TEXCOORD5,
	float3 InWorldPos	: TEXCOORD6
):COLOR0
{
	float4 Color = tex2D(colorSampler, Tex);
	
	float4 colorMask = tex2D(maskSampler, Tex);
	
	float2 Tile = Tex*40;
	Tile = frac(Tile)*(0.5-2*0.004)+0.004;
	
	float4 color = tex2D(colorSampler, Tex);
	
	float4 color1 = tex2D(tileColorSampler, Tile)*colorMask.r;
	float4 color2 = tex2D(tileColorSampler, Tile+float2(0.5, 0.0))*colorMask.g;
	float4 color3 = tex2D(tileColorSampler, Tile+float2(0.0, 0.5))*colorMask.b;
		
	float4 normal1 = tex2D(normSampler, Tile)*colorMask.r;
	float4 normal2 = tex2D(normSampler, Tile+float2(0.5, 0.0))*colorMask.g;
	float4 normal3 = tex2D(normSampler, Tile+float2(0.0, 0.5))*colorMask.b;
		
	float3 Ln = normalize(InLight.xyz);
   float3 Nn = normalize(InWorldNormal);
   float3 Tn = normalize(InWorldTangent);
   float3 Bn = normalize(InWorldBinorm);
   float3 Nb = 0;
   float3 Vn = 0;
   float3 Hn = 0;
   float4 lighting = 0;
	
	float gloss = normal1.a + normal2.a + normal3.a;	
	
	float3 bumpNormal = (normal1.rgb+normal2.rgb+normal3.rgb);
	//bumpNormal += tex2D(globalNormSampler, Tex).xyz;
	bumpNormal = lerp(bumpNormal, tex2D(globalNormSampler, Tex).xyz, 0.5);
	Nb = Nn + (bumpNormal.x * Tn + bumpNormal.y * Bn);
   Nb = normalize(Nb);
   Vn = normalize(InViewDir);
   Hn = normalize(Vn + Ln);
   lighting = lit(dot(Ln,Nb),dot(Hn,Nb),1);
   
	Color.rgb = saturate(clamp(lighting.y, shadowAlpha, 1)*vecSunColor*2);
	//Color.rgb = lighting.y+lighting.z;
	
	Color.rgb *= lerp(color, (color1+color2+color3), 0.5);
	//Color.rgb *= color;
	//Color.rgb *= color*(color1+color2+color3);
	//Color.rgb *= 2;
	//Color.rgb = clamp(Color.rgb,0,1);
	Color.rgb += lighting.z*gloss*Color.rgb;
	Color.rgb = clamp(Color.rgb, 0, 1);
	Color.rgb *= clamp(colorMask.a,texShadowAlpha,1);

	Color.a = 1;
	//Color.rgb = (color1+color2+color3);
	/*
	//VELVETY
	Vn = normalize(matViewInv[3].xyz - InWorldPos);
	half3 velvety1;
   float vdn = 0.4-dot(Vn,Nn);
   float3 vecColor = float4(vdn.xxx,1.0);
   velvety1 = float4((vecColor).xyz,1);
   velvety1 = clamp(velvety1,0,1);
   Color.rgb += velvety1*gloss;
	//
	*/
	
	return float4(Color.rgb,1);
}

technique terrain
{
	pass p0
	{
		//cullmode = none;
		//zwriteenable = true;
		//alphablendenable = true;
		VertexShader = compile vs_2_0 terrain_VS();
		PixelShader = compile ps_2_a terrain_PS();
	}
}



edit:
@Malice
Youre right! The alpha-map is no solid White, its faded.
No matter what i do with the alphachannel, White-sh* stays ( only black and White now ). Only with Alibabas code the grass renders.

edit2:
Putting all this together took my weekend until now frown



edit3:
Finally grass on Terrain in shadeC evo, in deep-night Setting with fog grin
( but not the shadeC-terrain-material is used cause it wont react on lights and shadows, shot Shows mtl_car on Terrain.mdl )

Strangly, this time i cant go below camera_clip.far = 2500 btw, some strange visuals are Happening then.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 21:24

I simply added one house-model two times into the example ShadeC scene.
The house comes from a Unity map, a complete town Level i bought btw.

Now the graphic looks cool, but 15fps.

Is Acknex really that slow ?

No DoF no sun shadows, camera_clip_far = 2500. Pretty much useless all in all.
edit: disabled all pp effects, same result.

Reseting DYNAMIC flag of the houses solved the Problem as it seams. grin

With all pp stuff ( HDR, SSAO, DOF etc )




But the Terrain is still a problem.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:10

Somebody ever published shadeCevo Project? When i publish the example Scene nothing works
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:24

No. Is that a memory pointer?

Could you use SED and 'find in file' any error handling? If it's a code then it could be in the script as a printf command. Or maybe that's some type of pointer and the printf(error:) is meant to show the pointer of the trouble object.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:26

I just took the example Scene from shadec and pressed publish...
edit: no code added.
edit: only a house and grass model added

more than frustrating right now frown
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:28

I'm getting shade-c evo now github??

Do the engine still fail to bind the d3dx..... shader stuff when making a build. I had to copy the dll (s) by hand in the past.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:28

so i did before grin
edit: i mean copyed the DLL's by Hand, then i saw the Screen. Funny Thing is, caused by sky_color its a bluescreen.

Yes. if you dont find it, i can upload a Version.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:33

Got it... 01 example published with file errors.. Checking them now. Publish from sed file from in 01.cd loaded and run fine but I have the same printf error box as well.


Looking deeper now.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:35

Wed is complaining about 'invalid name' for all the sc_*.fx files.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:35

Great thank you, cause iam really down. Since friday iam struggling around with that stuff.

And then again, publish button Terror.

edit: Yes, youre right i ignored that. But what to do now?
renaming them and Change the include stuff?
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:38

The only file that contains the 'printf' is 'sc_volumeTexture.c'. Here is the part of the code:
Code:
LPDIRECT3DVOLUMETEXTURE9 sc_volumeTexture_create(STRING *filename)
{
	LPDIRECT3DVOLUMETEXTURE9 temptex;
	HRESULT res = D3DXCreateVolumeTextureFromFile((LPDIRECT3DDEVICE9)pd3ddev, _chr(filename), &temptex);
	if(res != S_OK)
	{
		printf("error: %x", res);
		return NULL;
	}
	return temptex;
}

This code was taken from this original thread:
Support for volume textures

There is something probably wrong with the textures you are using (just guessing).

Something else to show you:
D3DXCreateVolumeTextureFromFile function
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:39

But why the heck it run fine from SED then ?

And Malice got same error. Then Boh_Havoc used the wrong textures too ?
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:42

Originally Posted By: rayp
But why the heck it run fine from SED then ?

And Malice got same error. Then Boh_Havoc used the wrong textures too ?
As the publisher ignores some files, I assume that something is missing. So it gives this kind of a error (which is probably D3DERR_NOTAVAILABLE error, read my previous post).

Edit: I can understand that you are struggling with all this shit right now. But you have to stay calm and cold-blooded in order to find and solve troubles you face.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:47

Youre right.
But its just AAAARRRG ! ^^
edit: And i have no clue what is missing ( if something is missing )

Hope we can solve this.
Guess some people besides me would like to see shadec working with publish button. So at least one shader Pipeline is available.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:51

Lol - 3run is faster than I.

Only 'printf' in the whole package as he says!

Bad news... I've no idea what's going on at the moment. Maybe good news is I could ask the author of the code. But I'd do that as a very last step. I will see if I can learn enough to trace it.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:54

Quote:
I've no idea what's going on at the Moment
Me too. I Just copyed all files by Hand. Same result.
So Publishing isnt possble right now...great...good News

I have absolutly no idea what to do now.

edit:
That sucks. Played around with settings since friday to see now the Publish button isnt working.
edit2: Thats why i pushed the publishbutton this time before adding stuff. I had this feeling...
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/02/16 23:57

I guess I found the problem guys... Function 'sc_volumeTexture_create(STRING *filename)' only called in 'sc_deferredLighting.c' (line 13), and it uses string called 'sc_deferredLighting_sBRDFLUT'. This string defined in 'sc_deferredLighting.h' like this:
Code:
STRING* sc_deferredLighting_sBRDFLUT = "shadec/tex/sc_deferredLighting_LUT.dds";

Have you tried opening that file? grin It's broken I guess... I can't open it on my PC. This is the problem I guess.

Originally Posted By: rayp
So Publishing isnt possble right now...great...good News

I have absolutly no idea what to do now.

edit:
That sucks. Played around with settings since friday to see now the Publish button isnt working.
Don't get frustrated man. Keep your chin up. Or as the google translator says laß dich's nicht verdrießen! grin
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:00

Photoshop 6 opens that file, but its gigantic.

Quote:
laß dich's nicht verdrießen!
Thanks you man grin but Google failed here grin
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:05

line 13 sc_defferedLighting
if(!sc_deferredLighting_texBRDFLUT) sc_deferredLighting_texBRDFLUT = sc_volumeTexture_create(sc_deferredLighting_sBRDFLUT);

LOL ok - Like the old days
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:05

I fixed the problem, yay grin I just changed the file name from sc_deferredLighting_LUT.dds to sc_deferredLighting_LUT.png, and overwritted it with blank white texture 8x8, and recreated all those folders in the compiled project's folder (shadec/tex/FILE!) and it worked! We tracked the error down!

Edit: this means, that you'll have to go throw all shade-c files and change those string, sounds, bmap and all resources you'll find, so they don't have folders, but only names!
Here is an example of what I mean:

WRONG!
Code:
STRING* sc_deferredLighting_sBRDFLUT = "shadec/tex/sc_deferredLighting_LUT.dds";


CORRECT!
Code:
STRING* sc_deferredLighting_sBRDFLUT = "sc_deferredLighting_LUT.dds";

It's needed so you don't have to recreate each folder after publishing the project.


Edit2:
Originally Posted By: rayp
Photoshop 6 opens that file, but its gigantic.
Maybe that's the reason it was giving the error? Probably one of those errors:
Quote:
D3DERR_OUTOFVIDEOMEMORY
or
Quote:
E_OUTOFMEMORY
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:14

You guys rock hard !!! I wanna suck your d*'s ! grin

I just copyed the complete shadeC folder into published folder, all works fine!
3run youre Genius!

So Boh never published a Project ^^
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:14

Google never fails
That error code is not undefined. Simply looking it up in DirectX Error Lookup shows:

HRESULT: 0x88760b59 (2289437529)
Name: D3DXERR_INVALIDDATA
Description: Invalid data
Severity code: Failed
Facility Code: FACILITY_D3D (2166)
Error Code: 0x0b59 (2905)

Such an error is usually accompanied by a helpful message from D3DX in the debug output window. Make sure you link against the debug version of D3DX first, and watch what is logged to the output window right as you step over that function.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:16

So does that mean, besides the folder structure, the file is corrupt/too big/whatever ?

I mean should i overwrite it like 3run said with a blank file ?

edit: I mean Google translator failed btw ^^
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:18

Originally Posted By: rayp
You guys rock hard !!! I wanna suck your d*'s ! grin
Naahhh, simple 'thank you' + playable demo in near future will do grin

Originally Posted By: Malice
HRESULT: 0x88760b59 (2289437529)
Name: D3DXERR_INVALIDDATA
Description: Invalid data
Severity code: Failed
Facility Code: FACILITY_D3D (2166)
Error Code: 0x0b59 (2905)
This means that I guessed wrong grin Useful info! Thank you, Malice.

Best regards!

Edit:
Originally Posted By: rayp
So does that mean, besides the folder structure, the file is corrupt/too big/whatever ?

I mean should i overwrite it like 3run said with a blank file ?
Well if this error message says that it's INVALID, you probably should.. But asking about this some shader gurus won't hurt I guess (txesmi or Kartofel).
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:21

Maybe invalid is same as not found.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:23

^ nope @3run you are right -> stackoverflow
Quote:

environment:
i5 750
DDR3 4G Win7 pro x64 sp1
DXSDK 9.0c June 2010
GeForce GT240(driver 275.33) 512MB
MSVC 2008 sp1

project:
a game project that uses character sprite images that is DXT5(A8R8G8B8) dds format.
A sprite is 512*512 size per each frame, and each frame is each other files.
(we uses rendered 3dsmax cartoon shader modeling animation. and 3dsmax render each frame onto each other files.)
and load that way :

HRESULT hr = D3DXCreateTextureFromFileEx( m_pd3dDevice //LPDIRECT3DDEVICE9 m_pd3dDevice
,filename_upper.c_str() //std::wstring filename_upper
,D3DX_DEFAULT_NONPOW2
,D3DX_DEFAULT_NONPOW2
,1
,0
,D3DFMT_A8R8G8B8
,D3DPOOL_MANAGED
,D3DX_FILTER_NONE
,D3DX_FILTER_NONE
,NULL
,&info // D3DXIMAGE_INFO info
,NULL
,&rsTexture //LPDIRECT3DTEXTURE9 rsTexture
);
problem:
the hr is almost S_OK. when many files are loaded, sometimes it outs D3DXERR_INVALIDDATA.
i was googling and i found it is not means reached out of Memory. (out of memory is D3DERR_OUTOFVIDEOMEMORY or E_OUTOFMEMORY)
many answer says "file corrupted or abnormally format", but i don't think so because the error occurs in load random file. (the 'load failed file' is load successfully when next time, or the opposite case randomly).

what's the problem and what can i do?
i'm really in panic help me!


I thought changing the nexus might be the answer - but no go

EDIT - link to thread https://social.msdn.microsoft.com/Forums...ogiesdirectx101

EDIT http://stackoverflow.com/questions/10980659/d3dxerr-invaliddata-occur
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:24

Originally Posted By: rayp
Maybe invalid is same as not found.
My image viewer says 'decode error'. So I guess there are some troubles with the file itself. Try to 'resave' it (change it's size, make smaller etc... experiment a little bit)! I couldn't even open it. But to make things sure, better to ask shader gurus as I advised previously.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:27

Tryed another app besides Photoshop. Same result as u guys say. Cant open bla blah.

Two bugs found! Not bad. Starship Troopers like ^^
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:30

Malice thank you for the link. Never faced those dx9 stuff, but learning something new is always good! laugh
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:30

Gimp2 fails to open as well .. dds as unknown type... Checking my plug-ins and reopening
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:32

@3run - No problem added the stackover flow link too

Thank you - You're Super fast!!
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:33

But this isnt logic somehow. If i paste the shadec folder into published folder, the structure is ok again, and no error appears. If the file would be corrupt, error should appear no matter what Folders are used.

I try to resave the file now...

edit: Guess what i cant resave it grin ...strange. I even cant copy and paste the date grin ...what the hell?

Maybe i rename this Topic to something like "Setting up shadec evo" and make it sticky ^^
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:45

Gimp 2 reports bad header

+1000 to 3Run's advice to seek now one of the others as he tracked it down to a location for you.

I'm out of it. I've reach my knowledge limit.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:49

Just wanted to Show the file. To do this, i Need to open it in PS6.0 then i made screenshots. The file is 8192x64. It has a alphachannel. It starts looking like this ( ignore white border, was me when pasting from screenshot )

followed by black and if you scroll right, theres another rectangle like this:


Thank you Malice for your time and support.
My knowledge limit is reached too btw grin
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:50

LOL - SOLVED
EDIT - DO NOT CHANGE ANY FILES
Include shadec folder in publish

in the example folder -

copy shadec folder then paste directly into the published folder 100% working

error is file not found at runtime...
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 00:59

Like i said here ^^
Quote:
But this isnt logic somehow. If i paste the shadec folder into published folder, the structure is ok again, and no error appears. If the file would be corrupt, error should appear no matter what Folders are used.


What a nice and easy solution.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 01:09

^ makes perfect sense how I figured it out.

The file is in a shadec/tex
It's a #define PRAGMA_PATH "path"; in the shadec file script
#define PRAGMA_PATH "shadec\\tex"
Therefore this folder has to be in a relative directory to the *.exe file

http://www.conitec.net/beta/define.htm

That's way I'm laughing at myself!!

EDIT - From my testing - only a empty shadec folder holding the tex folder needs be moved over.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 01:42

Finally playing around with that things that makes fun, creating something
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 01:43

Hey no need to copy the folder.

sc_defferLightning.h line 8 -- This hard coded path is the problem.
STRING* sc_deferredLighting_sBRDFLUT = "shadec/tex/sc_deferredLighting_LUT.dds";

EDIT -- Oh hell I'm always behind 3Run just change this line to by putting in your own #IFDEF
STRING* sc_deferredLighting_sBRDFLUT = "sc_deferredLighting_LUT.dds";
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/03/16 01:43

3run mentioned this yes (too) ^^

edit: But yes, changing the code is better than copying the Folder.

edit2: Again, thank you both for your support here!

Lets see how long the 60fps in fullscreen and 90-170fps in windowmode stay grin
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/04/16 10:20

Fantastic thread guys. Still little bit confused about one thing; so should I use 3Run's idea to edit the hard coded path and than change it in every other shade-c file? Or is there a faster way?

@Rayp, did you manage to get the terrain working in Shade-C? I saw your post terr.fx + the shader code with BMAP* sc_bmap_terrainColor = "terrain_color.dds";. Do you have an example of terrain_color.dds? Is it a colormap?
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/04/16 13:05

Best way i guess is editing the files. Fixed folder structures are never good. But if ure lazy and copy the shadeC folder into published folder, all works fine.

Yes i implemented ShadeC Terrain into evo and it worked.
But...
It wont react on lights and shadows only to sun_light settings. In case of a dark night scene you'll encounter a problem. When sun_light 0 its completly black.


Anyway heres a example of the Terrain.mdl with all textures.
http://www.file-upload.net/download-11736960/terrain_example.rar.html
edit: To answer your question, its a quad-texture for the colormask.

( ignore the red brush line, i used for debuging )
edit: to be honest i did not further test if all textures are correct in place, but boh commented the lines/entskins out. if theres something wrong in the MDL please let me/us know ^^


Terrain is still a problem.
I heard txesmi made a terrainshader, but i guess it wont work with shadec-evo-lights too.

Maybe some shaderguy feels to implement terrain into sC-evo ? Beeing the superstar then! grin





edit - Publishing help
Just played around with that publish stuff. The best way is, simply open "sc_deferredLightning.h" in "shadec" folder and modify it like this
old
Code:
STRING* sc_deferredLighting_sBRDFLUT = "shadec/tex/sc_deferredLighting_LUT.dds";


new
Code:
STRING* sc_deferredLighting_sBRDFLUT = "sc_deferredLighting_LUT.dds";


Copy "sc_deferredLighting_LUT.dds" from shadec\tex into your main game folder ( adding shadec\\tex to pragma_path wont work for some reason i dont know. then publishing works, but u cant run from SED laugh )

Press the publish button

Copy following DLL's from Gamestudio installtion directory into published folder
d3dx9_30.dll
d3dx9_32.dll

You should have 4 DLL's now btw.

In case you compiled example scene, copy VLOGA.MDL by hand into published folder.

Congrats! You can now run (and publish) your game.



Cheers
btw: I rename the thread into "Setting up ShadeC-EVO" and make it sticky.

edit:
@Alibaba
Did u tryed using the water of shadeC in evo yet ?
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/04/16 16:23

I see no reason to choose

Code:
/// YOUR MAIN C

// #define FINAL_PUBLISH  // COMMENT OUT TILL FINAL PUBLISH
#include xxxxx

function main(){
... BLA BLA
}
//////////

// Modified script
#ifndef FINAL_PUBLISH
STRING* sc_deferredLighting_sBRDFLUT = "shadec/tex/sc_deferredLighting_LUT.dds";
#else
STRING* sc_deferredLighting_sBRDFLUT = "sc_deferredLighting_LUT.dds";
#endif



Nothing more should be needed.
EDIT - So you publish once and it will place the file in the publish folder. Then uncomment the #define and publish again to same folder. Should work fine. No need to hand move the map file.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/04/16 21:49

Thanks for the publish solutions.

Quote:
btw: I rename the thread into "Setting up ShadeC-EVO" and make it sticky.
, sounds good. I already had taken the liberty to give the thread 5 stars to let it stand out. grin

Also since this is a general thread now, 2 important but can be easy to miss lines (e.g. for getting Particles working):
sc_screen_default.settings.forward.enabled = 1; //enable if you need particles or custom materials which can't be rendered in the deferred pipeline
sc_screen_default.settings.refract.enabled = 1; //enable for refractive effects such as heat haze and glass
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/05/16 08:03

Originally Posted By: Reconnoiter
Fantastic thread guys. Still little bit confused about one thing; so should I use 3Run's idea to edit the hard coded path and than change it in every other shade-c file? Or is there a faster way?
There is no easy way out. You have to go throw all shade-c evo script/header files (mostly headers I guess) and check each string, sound, bmap and any other defined reasources to do not have any fixed folders, so you won't need to recreate resource folders, plus you could publish .wrs archive without problems. I don't really see any reasons to double string like Malice did (maybe there is a reason for that, if so I would like to hear it laugh ), what for if you could just define the file itself and be aware that it will be found withing defined with PRAGMA_PATH folders or in projects root folder.

Greets.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/05/16 12:43

I did all this stuff. There are no further fixed strings.

Cut and paste one DDS file by hand into main game folder and open sc_defferedLighting.h and remove the path-string. Thats all.

Takes 30seconds.

edit: I wrote 3run a mail. Guess he will test if creating WRS works ( i would test myself but i have a Com.-Version frown only )

Quote:
, sounds good. I already had taken the liberty to give the thread 5 stars to let it stand out. grin
Saw that, well done grin
Posted By: HeelX

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/05/16 20:31

Nice, rayp! Still using SSAO from me or have you switched to Shade-C Evo?
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/05/16 23:01

Quote:
I don't really see any reasons to double string like Malice did (maybe there is a reason for that, if so I would like to hear it laugh )


There is none really. Perhaps I read bad/to fast but the idea was between changing the folder structures or hand copying maps. In a case where only a single file-string is the issue, than the solution I present with setting a flag like #ifdef for development/publish is pointless. The point being using this #ifdef you shouldn't need to either change the file structures nor hand copy maps. You simply end up running the 'publish mode twice. The idea would be worth more if you wish to create separate development structures and published structures, which covered many maps or files.

But as noted before, I'm weeks behind you 3run and not catching up.. wink
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/06/16 12:46

Quote:
Nice, rayp! Still using SSAO from me or have you switched to Shade-C Evo?
Your SSAO rocks, i first used it, then i had some polycount probs (maybe caused from SSAO, not sure). I Switched to shadeC-evo (again :D) cause theres all in one.

What do u guys think, should i try to write Boh_Havoc a mail about Terrainsupport? Guess hes to busy to do, but its worse a try.

Quote:
But as noted before, I'm weeks behind you 3run and not catching up.. wink
Doesnt matter, any help is welcome here ( better late then never wink )!
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/06/16 12:50

I texted him some time ago and even had steady contact. But he told me even if he wanted to start again he couldn't, because even he himself can not understand all parts of his code and it would take a long time to get into it.

Text him again, I mean you won't lose anything. But I think Shade-C is pretty much dead until this point.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/06/16 13:10

Once talked to him. Was a honour grin

I can understand that problem very well. Faced it already in my old very simple projects, and this is nothing against code of shadec ^^

Quote:
But I think Shade-C is pretty much dead until this point.
So it suits well to GameStudio grin ...aahhhhhhh...buhhhhhhhh....bad one, sorry for that but it sparkled on my tongue grin
Already dewy-eyed tryed to "beguile" Kartoffel, but he said nearly the same.

edit:
Btw. Alibaba did u already stripped the water out of shadeC in evo? Maybe u're so kind pasting the snippets you've taken out? Dont really need water right now, but would be nice to have a copy and paste version here ready to use ^^
Thanks in advance.

edit2: Iam pretty sure its ok to take parts from shadeC and modify EVO with them. Guess its no license problem, at least i hope so!
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/12/16 01:53

Reworked my flashlight from scratch, started a few hours ago.
First result


Lightstrength depends on batterie-level

If somebody needs help with basic evo - flashlight stuff / script, just scream ! grin


edit:
I found some lense-dirt stuff in the scevo resources. Anyone used lens-dirt pp effect ?
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/12/16 13:46

Looks good, except the white on the flashlight is a bit overkill bright.

Originally Posted By: rayp
So it suits well to GameStudio grin ...aahhhhhhh...buhhhhhhhh....bad one, sorry for that but it sparkled on my tongue grin
, I laughed and cried at the same time. grin
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/12/16 14:13

Originally Posted By: rayp
Once talked to him. Was a honour grin

I can understand that problem very well. Faced it already in my old very simple projects, and this is nothing against code of shadec ^^

Quote:
But I think Shade-C is pretty much dead until this point.
So it suits well to GameStudio grin ...aahhhhhhh...buhhhhhhhh....bad one, sorry for that but it sparkled on my tongue grin
Already dewy-eyed tryed to "beguile" Kartoffel, but he said nearly the same.

edit:
Btw. Alibaba did u already stripped the water out of shadeC in evo? Maybe u're so kind pasting the snippets you've taken out? Dont really need water right now, but would be nice to have a copy and paste version here ready to use ^^
Thanks in advance.

edit2: Iam pretty sure its ok to take parts from shadeC and modify EVO with them. Guess its no license problem, at least i hope so!


Ah totally missed your edits. No I haven't done that, but again I could try to take the shaders from old Shade-C and try to apply them to EVO
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/13/16 01:01

Somehow the shadeC evo rendering in dark levels looks pretty close to Left4Dead(source), i like it.

Quote:
Looks good, except the white on the flashlight is a bit overkill bright.
Thanks. Worked on the brightlevel you mentioned and changed material (of Zombies) to support emisse textures ( like flashlight ) corrected normalmap. Made the lightcone a bit smaller.


Quote:
, I laughed and cried at the same time. grin
hehe ^^

Of course, eyes are glowing in the dark


Just the destroyed roof of one building with active flashlight


Heres a typical glowing, normal and specular FX file
Code:
//------------------------------------------------------------------------------
//----- USER INPUT -------------------------------------------------------------
//------------------------------------------------------------------------------

//assign skins
#define SKIN_ALBEDO (skin1.xyz) //diffusemap
#define SKIN_ALPHA (skin1.w) //alpha
#define SKIN_NORMAL (skin2.xyz) //normalmap
#define SKIN_GLOSS (skin2.w) //glossmap
#define SKIN_EMISSIVEMASK (skin3.xyz) //emissive mask
//#define SKIN_COLOR (skin3.w) //(team)color mask

//...

#define NORMALMAPPING //do normalmapping?

#define GLOSSMAP //entity has glossmap?
#define GLOSSSTRENGTH 0 //glossmap channel will be set to this value if GLOSSMAP is not defined

#define EMISSIVEMASK //use emissive mask? (formula: emissive_color = SKIN_EMISSIVEMASK * SKIN_ALBEDO)
//#define EMISSIVE_A7 // (optional EMISSIVEMASK addon) use emissive_red/green/blue for as emissive color? (formula: emissive_color = SKIN_EMISSIVEMASK * vecEmissive)
//#define EMISSIVE_SHADEC // (optional EMISSIVEMASK addon) OR use SC_OBJECT_EMISSIVE as emissive color? (formula: emissive_color = SKIN_EMISSIVEMASK * SC_OBJECT_EMISSIVE)

//#define OBJECTCOLOR_A7 // use diffuse_red/green/blue as (team)color using the colormask?
//#define OBJECTCOLOR_SHADEC // OR use SC_OBJECT_COLOR as (team)color using the colormask?

//#define ALPHACLIP //do alphatesting/alphacutout?

//#define USE_VEC_DIFFUSE //use diffuse_red/green/blue? (note: don't use with OBJECTCOLOR_A7 at the same time)

//#define ZPREPASS //do an early zbuffer prepass? Only makes sense for heavy ALU

//------------------------------------------------------------------------------
// ! END OF USER INPUT !
//------------------------------------------------------------------------------

#include <scHeaderObject>
// <-
// insert custom code here
// ->
#include <scObject>


MDL file skins used:
entskin1 = diffuse / alpha = alpha
entskin2 = normal / alpha = specular
entskin3 = emisse


edit:
Feedback and great news from 3run. Creating the WRS file works ( as long as u modified the shadec - script and moved the DDS file be4 ).


btw the house in the background is not lighten by flashlight, theres another light placed in WED.

Greets
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/22/16 19:36

Originally Posted By: rayp
Btw, Feel free to post your Setting-Progress in the "Setting up shadec evo" Topic.

How to ignore lights, i did not test until now.

I had problems with RGB coloring too. Does this in the fx file help? If i remember right it does not.
Code:
#define USE_VEC_DIFFUSE

, the USE_VEC_DIFFUSE does not seem to work. Also tried some other commented out lines in the fx, also don't seem to work properly but maybe I am doing something wrong too. My quess would its commented out cause it was work in progress or something like that. Would be nice though if someone gets it to work.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/23/16 20:53

Once i talked with BOH about that. Also my.ambient doesnt affect. But he seamed to thing it works grin
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/25/16 11:51

Maybe BOH could send a code sample if he still has one lying around? Could be worth a try grin

Also do you know what this black distortion/flicker on the roof is? (maybe some shadow fbias setting I set wrong?):
(ps: the image could look a bit weird caused I brightned it a bit to make the error more noticeable)
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/25/16 12:11

I guess it's the shadow projected by the sun. Try setting a different sun angle
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/25/16 13:45

Originally Posted By: alibaba
I guess it's the shadow projected by the sun. Try setting a different sun angle
, yes its the shadow, but its kind of flickers when I change the sun angle instead of changing smooth. Kind of like an shadow artifact, e.g. like the left side of this pic but not as extreme and only for the roofs:


Could be I am to much looking at details though.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/25/16 17:44

Blindly assuming ->> I'd wonder what pssm base the shadec-evo is using? I remember Slin haves posted a better and fix Pssm and it fixed flickers and issues with the older method... Might be worth comparing them or if Slin has time to reply to a PM he might know right off if we should be trying at change the shadow pssm set to his 'Improved version' Also Sivan did a lot of work with the Shadec package in the past, It might be worth a PM question to him.

Of course I hate to ask out to both as they are surely busy with things none 3dgs these days. But a short and quick PM just for clarity and then we can try and figure out the fixes ourselves. (Guess I don't want to bug anyone and surely not ask them to come and rework or reexamine the shader package.)
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/26/16 11:06

I think I might have been to much looking at details. I will wait a bit till have a full scene to test it with.
The examples of shade-c have very good shadows so its probably something wrong on my part.
If it will become more noticeable, I will try to ask Sivan if he had any problems.

Quote:
I remember Slin haves posted a better and fix Pssm
, I tried that one, but the shade-c one seems to be better overal, but again maybe I did something wrong with the init settings etc.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/26/16 15:09

Anyone tried to create a tree with transparent leaves in shade-c? Suprisingly, the shadow for the leaves are good but either the whole tree including the leaves is transparent or everything is solid (/not transparent). (ps: I am using an alpha layer (haven't tried alpha channel yet), and deferred pipeline is set off cause I also use particles)
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/26/16 15:14

check this value for your shadow problems
sc_screen_default.settings.lights.sunPssmSplitWeight = 0.7; //

and these will be the core one to play with
sc_screen_default.settings.lights.sunShadowResolution = 512; //reduce shadow resolution as we are manually setting the shadow range to 5000 and can therefor get away with a small shadowmap
sc_screen_default.settings.lights.sunPssmSplitWeight = 0.7; //high res near splits, low res far splits
sc_screen_default.settings.lights.sunShadowRange = 5000; //manually set the shadow range...we don't need realtime shadows in the far distant! If set to 0 (default) shadow range will be set to camera.clip_far
sc_screen_default.settings.lights.sunShadowBias = 0.001; //set the shadow bias
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/26/16 15:19

Possible factors for clipping and control what is rendered by change a flag..

this
if(my.SC_SKILL != NULL) //entity has SC_SKILL
{
SC_OBJECT* ObjData = (SC_OBJECT*)(my.SC_SKILL);

if(ObjData.depth == -1) return(1); //clip from gBuffer
if(ObjData.pass != SC_PASS_GBUFFER) return(1); //only render entities which have the SC_PASS_GBUFFER flag set

But I'll have to read into more and test it all.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/26/16 15:20

Default if csc_skills not set

else //entity has no SC_SKILL
{
if(pEffect != NULL)
{
pEffect->SetFloat("clipFar", screen.views.main.clip_far);
//pEffect->SetFloat("alphaClip", 1-(my.alpha/100));
pEffect->SetFloat("materialID", 0);
pEffect->SetVector("vecEmissive_SHADEC", sc_vec4Null);
pEffect->SetVector("vecColor_SHADEC", sc_vec4Null);
}
return(0);
}
}
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/26/16 16:20

Quote:
Anyone tried to create a tree with transparent leaves in shade-c? Suprisingly, the shadow for the leaves are good but either the whole tree including the leaves is transparent or everything is solid (/not transparent). (ps: I am using an alpha layer (haven't tried alpha channel yet), and deferred pipeline is set off cause I also use particles)
So as to not reinvent the wheel here, why not use 2 models tree and leaves and to materials then?

EDIT ->> the meat is in default.c shade-c version
Code:
#ifdef ALPHA
			#ifdef TRANSPARENT
				
				SKIN_ALPHA *= tex2D(stipplingMaskSampler, projCoord*vecViewPort.xy*0.5).g * fAlpha;
				#ifdef TRANSPARENTALPHACLIP
					clip(SKIN_ALPHA - fAlpha);
				#else
					clip(SKIN_ALPHA - ALPHACLIP);
				#endif
			#else
				#ifdef CUSTOM_PS_ALPHA
					clip(Custom_PS_Alpha(In, SKIN_ALPHA));
				#else
					clip(SKIN_ALPHA-(1-fAlpha));
				#endif
			#endif
		#endif



Would seem to point to the alpha map being used. I'd think no need for a TRANSLUCENT flag if being used.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/27/16 13:16

Ok I think got the transparency working but now shadows on the object act all weird, any solution to this? (ps ignore the ugly unwrapping of the tree skin grin ):


So far this what I did:
- create an alpha channel for the skin (note this is not the same as an alpha layer)
- add these lines to the shader .fx file you are using:
#define ALPHA //entity has alphamap?
#define TRANSPARENT //entity alpha should be interpreted as transparent/translucent?

Quote:
So as to not reinvent the wheel here, why not use 2 models tree and leaves and to materials then?
, yes this could be a possible alternative. The transparent leaves maybe can't give shadows, so the tree would have to have some dummy leaves for shadows or a alpha layer / png skin for shadows. Maybe I just create real 3d leaves for the model.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/27/16 23:12

Quote:
Ok I think got the transparency working but now shadows on the object act all weird, any solution to this? (ps ignore the ugly unwrapping of the tree skin grin ):

I'd have to look at the alpha test / alpha blending setting. Also check your models normal

Also check when using flat polygons that these is no back-culling (like making a modeling software force 2-sided rendering).

Quote:
, yes this could be a possible alternative. The transparent leaves maybe can't give shadows, so the tree would have to have some dummy leaves for shadows or a alpha layer / png skin for shadows. Maybe I just create real 3d leaves for the model.

In shade-c checking the ents flag1 turns off it's shadows ( Just fyi)
Transparent leaves and simple plains with alpha to fake leaves should cast shadows fine. Again check if you are turning off backface-culling.

My notes are from my use of Slin's improved PSSM so I may be wrong for the shade-c version.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/16 11:40

Originally Posted By: Malice
Quote:
Ok I think got the transparency working but now shadows on the object act all weird, any solution to this? (ps ignore the ugly unwrapping of the tree skin grin ):

I'd have to look at the alpha test / alpha blending setting. Also check your models normal

Also check when using flat polygons that these is no back-culling (like making a modeling software force 2-sided rendering).
, with normal you mean normal map? I see nothing wrong with it, it also was automatically generated with NVIDIA's plugins. The model itself also seems fine, all closed meshes when checking in MED. And with default acknex lightning also doesn't show anything wrong.

It seems more like some conflict between shade-c shadows and
#define TRANSPARENT //entity alpha should be interpreted as transparent/translucent?

Maybe cause its registers the non-leaves part of the tree also as translucent/transparent? confused Even though its alpha is 100%.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/16 11:51

Quote:
, with normal you mean normal map? I see nothing wrong with it, it also was automatically generated with NVIDIA's plugins. The model itself also seems fine, all closed meshes when checking in MED. And with default acknex lightning also doesn't show anything wrong.

No I meant the direction normals of the polygons in the model itself not a second normal map. If a polygon normal is misaligned or flipped, the polygon does not draw textures and light correctly. If it's flipped, you get what looks like invisible spots on the mesh.
Quote:
It seems more like some conflict between shade-c shadows and
#define TRANSPARENT //entity alpha should be interpreted as transparent/translucent?


I'd still think it's because you don't have 2 sided turn on or e.g. backface-culling turned off.
Are your leaves just plains with a alpha texture?

ED-- I'll look at it now.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/16 12:08

The leaves are just thin cubes with a UV mapping at all sides (/just for quick testing).
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/16 12:15

With --- #define TRANSPARENT --- alphablendenble == true
This has been noted to me by many others as causing sorting errors..
So possible cause

Try #define ALPHA but not #define TRANSPARENT
Another option is to hack the default.c and turn it to FALSE
for defult.fx sc verrsion
Code:
#ifdef TRANSPARENT
				alphablendenable = true;
				BlendOp = Add;
				//SrcBlend = InvDestColor;
				//DestBlend = One;
				//SrcBlendAlpha = InvDestAlpha;//InvDestAlpha;
				//DestBlendAlpha = One;
			#endif



I still can't find a way to change to a solid_pass.

Also this in the main setup
Code:
sc_screen_default.settings.lights.sunShadowResolution = 512; //reduce shadow resolution as we are manually setting the shadow range to 5000 and can therefor get away with a small shadowmap
	sc_screen_default.settings.lights.sunPssmSplitWeight = 0.7; //high res near splits, low res far splits
	sc_screen_default.settings.lights.sunShadowRange = 5000; //manually set the shadow range...we don't need realtime shadows in the far distant! If set to 0 (default) shadow range will be set to camera.clip_far
	sc_screen_default.settings.lights.sunShadowBias = 0.001; //set the shadow bias


You can try increasing the '' sc_screen_default.settings.lights.sunShadowResolution = 512; //reduce shadow resolution as we are manually setting the shadow range to 5000 and can therefor get away with a small shadowmap ''
Maybe 1024??

I'm really guessing it all out at the moment... Not sure at all. So it's your choice if you want to try these things.


EDIT - This might be the way to turn on a solid -pass. I can test, kind of got mad and installed the engine again

in you custom transparent.fx add

#define PASSSOLID
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/16 13:36

Quote:
Try #define ALPHA but not #define TRANSPARENT
, this + set(my, TRANSLUCENT); and it works perfectly for both skins with alpha layers and alpha channels. Shadows work perfect too. ty Malice!
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/16 20:20

Lol K good.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/29/16 14:18

Anyone tried making a sky / background with shade-c?
Sky cube etc. dont seem to work.
I am currently thinking of just using some low poly models and with not to high textures.
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/29/16 18:30

isn't there one in the first 2 example... I confused
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/29/16 18:36

Oh facepalm for myself, I forgot
//setup skies
sc_sky(skycube);
Posted By: Anonymous

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/29/16 22:38

Facepalm gif




Lol that been me a lot. I ask then Facepalm myself... At least 20% of all my recorded post..!
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/31/16 07:55

Great progress guys glad u figured out that transparentthing.

Greets
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/31/16 11:44

Originally Posted By: rayp
Great progress guys glad u figured out that transparentthing.

Greets
, dont forget the skycube question, that one was great too grin
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/31/16 20:30

Hey guys, I wanted to implement shade-c in an older project of mine but get the following error;

"Cant't compile effect:
sc_lights_sunShadow.fx: ID3DXEffectCompiler: There were no techniques
ID3DXEffectCompiler: Compilation failed"

I am probably missing some include or file or missed some function, anyone remember what it is? Tnx
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/02/16 11:13

Yaay figured it out, forgot to copy default.fx to the game folder.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/02/16 18:39

The skycube question rocked laugh

Guess i do some stuff around friday night. Some new models i wanna see in shadeC laugh
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/03/16 12:50

Rayp have you tried ent_decal's? I get black borders around them in shade-c.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/04/16 17:38

Theres a way but u cant layer them over each other. Same as with the glass-car-Windows at threat start.
And if youre using ent_animatefrom with different meshes, u will face a engine-bug btw grin

Let me look for more Details...moment
edit:
I just took this out of my old project. Try which way u like, both have some issues.
Code:
BMAP* blood_smear_map1 = "blood1.tga"; // 32bit with alpha channel
...
c_trace
...
if (HIT_TARGET && you){
   if (!ent_getdecal (you, 0, 35)){     // dont place too much decals ( performance )
      PARTICLE* p = ent_decal (you, blood_smear_map1, 1 + random (2), random (360)); 
      if (p){
         p.alpha    = 50 + random (30);
       //p.lifespan = 5000;
         p.material = mtl_blood;
         set (p, TRANSLUCENT); //|PASSABLE
      }
   }
}
...
..
.


material def from above:
Code:
MATERIAL* mtl_blood = {
	effect = "myblood.fx";
	flags  = ENABLE_RENDER;
	event  = sc_materials_event;	
	power  = 200;
}


and the myblood.fx file from above:
Code:
#define SKIN_ALBEDO (skin1.xyz)
#define SKIN_ALPHA  (skin1.w)
#define ALPHA
#include <scHeaderObject>
#include <scObject>




or this way
Code:
BMAP* blood_smear_map1 = "blood1.tga"; // 32bit with alpha channel
...
c_trace
...
if (HIT_TARGET && you){
   if (!ent_getdecal (you, 0, 35)){
      PARTICLE* p = ent_decal (you, blood_smear_map1, 1, random (360));
      if (p){
         p.lifespan  = 5000;
         p.material  = mtl_translucent;
      }
   }
}
...
..
.


material def from above
Code:
MATERIAL* mtl_translucent = {
	effect = "simpTran.fx";
	flags  = ENABLE_RENDER;
	event  = sc_materials_event;
	power  = 200;
}


and the fx file simpTran.fx for the material above
Code:
#define SKIN_ALBEDO       (skin1.xyz)
#define SKIN_ALPHA        (skin1.w)
#define ALPHA
#define TRANSPARENT
#include <scHeaderObject>
#include <scObject>


Dealing with ShadeC and Acknex means to make compromises all the time. wink ... frown
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/04/16 20:41

Thanks! I wouldn't know where I would be without this forum laugh
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/06/16 16:06

Is there a way to make entites very bright regardless if they are in the shadows or not?

I need to make some 3d ui parts white or some other very bright color.

-edit, I came up with an alternative approach. You can use the lightning in your advantage if you only make e.g. the borders non-black (== efffected by lights etc.) and the middle part fully black, possible transparent. This way it doesn't matter much that the colored parts are effected since its only the border (it does not distract) and even makes the border less flat.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/12/16 23:35

I always wondered if theres something like my.ambient = 100; but till now i found no way.

Just found a old shot i wanted to Show again. ShadeC in Action grin


Not much new done btw. Still some models not tested in shadeC...but soon.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/13/16 13:30

Originally Posted By: rayp
Just found a old shot i wanted to Show again. ShadeC in Action grin
, "leave the boobies alone" grin
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/14/16 09:10

But seriously, is that cross on her boob a decal? Looks good than.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/24/16 10:24

Shade-c users dont forget that shade-c dynamic lights have/are an entity, add some no trace flags to it (or use .group) otherwise your traces can be blocked by the shade-c lights!
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/26/16 11:49

Nice info.

Btw: The cross on the boobs i made be4 uploading to avoid nudity Screen shots in the Forum wink
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 08/26/16 12:14

Oh I thought the cross was a decal of the player's hammer, hence the 'leave alone' picture/joke.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 11/14/16 17:30

Hey guys I noticed that for entities pre-placed in e.g. WED or your own level editor that Emissive glow / lightning won't show properly, unless you wait a couple of frames after map load (wait(5);) and than set the material after that wait (my.material = mtl_standard;).
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 12/20/16 20:30

Anyone tried creating sprites and fog entities with shade-c?

I mean with these functions;
ENTITY* sc_ent_softFog(ENTITY* ent, VECTOR* color, int inFadeDist, int inSoftness, int inTexMoveSpeed, VECTOR* noiseScale , int pType)

and
ENTITY* sc_ent_softSprite(ENTITY* ent, VECTOR* color, int inFadeDist, int inSoftness, int pType)

I especially wonder how sc_ent_softFog looks like, but I can't seem to get that one working (only see normal map on my entity and not the chosen fog colors).
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 12/20/16 21:05

Did u setup the fog in main function too?
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 12/21/16 10:51

Setup fog now but still have the same error, maybe I call sc_ent_softFog wrong? (i am trying it on some random models like trees etc):

sc_ent_softFog (my, vector(255, 255, 255), vector(2000, 100, 50), vector(255, 255, 255), 0);
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 12/21/16 14:15

Like that?
Code:
vec_set (ambient_color, vector (2, 1, 1));
	vec_set (sun_color,     vector (55, 55, 55)); //1,1,1
	// fog setting's	
	fog_color            =    1;
	d3d_fogcolor1.red    =    1;
	d3d_fogcolor1.green  =    2;
	d3d_fogcolor1.blue   =    1;
	camera.fog_start     =   20;//20;
	camera.fog_end       =  500;//150; dann 500
	//turn on shade-c's height based fog (for 100% fog set both values very high (default: 9999990 & 9999999)
	sc_screen_default.settings.fogData.x     = -20; //height fog start
	sc_screen_default.settings.fogData.y     = 150; //height fog end //125
	sc_screen_default.settings.fogNoiseScale =   5;
	sc_screen_default.settings.fogData.z     =   6;
   sc_screen_default.settings.fogData.w     =  -3;


Just guessing around here, long time ago i scripted something. frown

Another thing...
I remeber having a hard time to place good looking blood decals / splashes ( on floor for example ). Did u try already ?
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 12/21/16 14:40

Yeah like that, the fog itself seems to work perfectly, just that entity fog function doesn't seem to do anything. I even tried it the shade-c example with the fog. Maybe its an unfinished function?

Quote:

I remeber having a hard time to place good looking blood decals / splashes ( on floor for example ). Did u try already ?
, from what I have gathered there is 2 ways, either get fully transparent options (from 0-100% from texture) but get glitches when decals cross each other (and possible more problems with lightning, cannot enirely remember). Or get limited transparency (0% or 100% from texture) but no glitches. I use the limited transparency (/the latter).
Bullets holes look fairly good, but blood not yet, I quess a darker red and more plain blood texture will look best.

Script:
p.material = mtl_simpleTransparentGloss; //I gave it this name for the fx code below
set(p, TRANSLUCENT);

Fx:
Code:
//------------------------------------------------------------------------------
//----- USER INPUT -------------------------------------------------------------
//------------------------------------------------------------------------------

//assign skins
#define SKIN_ALBEDO (skin1.xyz) //diffusemap
#define SKIN_ALPHA (skin1.w) //alphamap
#define SKIN_NORMAL (skin2.xyz) //normalmap
#define SKIN_GLOSS (skin2.w) //glossmap
//...

#define NORMALMAPPING //do normalmapping?

//#define GLOSSMAP //entity has glossmap?
#define GLOSSSTRENGTH 0.25 //glossmap channel will be set to this value if GLOSSMAP is not defined

#define ALPHA //entity has alphamap?
//#define TRANSPARENT //entity alpha should be interpreted as transparent/translucent?

//------------------------------------------------------------------------------
// ! END OF USER INPUT !
//------------------------------------------------------------------------------

#include <scHeaderObject>

//custom code goes here

#include <scObject>

Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/24/17 10:58

I noticed that when loading maps with low ambient color and/or sun color, Shade-c (evo) emissive shader (/glow shader) on models seems to go buggy (lightning up the whole model even when all emissive textures are black). Anyone know why this is?

Okay it seems to be related to when the textures are loaded. If I wait half a sec before spawning the previously bugged models, it does work correctly. Also if I have already placed some models of the same type, it also seems to work. So I quess there is a period of when shade-c needs to initialize and when you cannot properly create models. I dont entirely get this but anyway it works now.
Posted By: BoH_Havoc

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/24/17 16:54

.


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!
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/24/17 20:16

Quote:
Wow, what can i say....
I feel sorry for you?
, its not that bad! grin Using Shade-C evo now for my current project I would take it everytime over the default gs3d stuff and available normal map shaders etc. Its good for us who are not shader experts but do want to finish their gs3d projects. laugh

Also thanks for answers, most of the stuff I have already found out except for:
1) Changing camera.clip_far in the middle of a map. I want to change it when changing fog values, however it gives visual errors than (weird shadows etc). Any solution to this?

2) The ZNEAR one; in which shader do I need to put the zwriteenable = false and zfunc = always lines? Do I need to put it in the .fx file that I link to an entity material? Here maybe? (I am not so good at shader stuff tongue ):

Code:
#include <scHeaderObject>
// <-
// insert custom code here
// ->
#include <scObject>



Quote:

BONES
Set this flag if you want support for GPU Bones.
, omg I did not know this feature, after adding it to the .fx files I now have twice as much fps in my project... blush
Posted By: 20BN

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/25/17 12:07

Originally Posted By: BoH_Havoc
.
I was nice seeing that people still use ShadeC. Thank you for that.
Cheers!


Hi, BoH_Havoc,

Thanks your support!

There are some questions:
1. How to support 2nd uv LightMap/ShadowMap with ShadeC-EVO? (Target map or skin##)
2. How to support terrain shader with ShadeC-EVO?(Mulit Texture)
3. How to support water shader with ShadeC-EVO?

Cheers!
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/25/17 12:39

Thats a very generous offer of yours! Thank you laugh
Posted By: painkiller

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/25/17 12:44

Originally Posted By: Reconnoiter

Quote:

BONES
Set this flag if you want support for GPU Bones.
, omg I did not know this feature, after adding it to the .fx files I now have twice as much fps in my project... blush


Hmm In my case it didn't make a difference. In my project when having for example four animated characters in the screen fps drop from 60 to around 30. After setting #define BONES in the .fx if got the same performance. Did you make any other thanges? I noticed that when disabling sun shadows fps get way higher, but not sure if gpu bones rendering is used for shadow mapping views too.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/25/17 14:57

Quote:
3. How to support water shader with ShadeC-EVO?
, have you tried using Steempipe's water shader from 2004? After adding a alpha channel to the used skybox texture it looks pretty good. Also somewhat supports shade-c evo's lights and shadows if you make its transparent enough.

Quote:
Hmm In my case it didn't make a difference. In my project when having for example four animated characters in the screen fps drop from 60 to around 30. After setting #define BONES in the .fx if got the same performance. Did you make any other thanges? I noticed that when disabling sun shadows fps get way higher, but not sure if gpu bones rendering is used for shadow mapping views too.
, yes I also set "max_bones = 1;" before the change which already helped a bit, and I must say I am using some high poly models. Like 1 with even ~12500 faces. Also, I only set it for entities like player, enemies, allies etc (entities that move around) cause I noticed it created a visible hole/glitch in a static wall model (not sure if this impacts the speed, probably not).
Posted By: painkiller

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/25/17 16:07

Originally Posted By: Reconnoiter
Quote:
Hmm In my case it didn't make a difference. In my project when having for example four animated characters in the screen fps drop from 60 to around 30. After setting #define BONES in the .fx if got the same performance. Did you make any other thanges? I noticed that when disabling sun shadows fps get way higher, but not sure if gpu bones rendering is used for shadow mapping views too.
, yes I also set "max_bones = 1;" before the change which already helped a bit, and I must say I am using some high poly models. Like 1 with even ~12500 faces. Also, I only set it for entities like player, enemies, allies etc (entities that move around) cause I noticed it created a visible hole/glitch in a static wall model (not sure if this impacts the speed, probably not).


Setting max_bones to 1 improved the performance, but still no difference setting BONES or not. The model I'm using (player and three enemies) has 9616 faces and 5776 vertices, so it should perform okay.
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/26/17 14:26

Damn I just noticed that #define BONES seems to break the shadows of animated entities (it shows them as they were not animated). So there is choice to make; more fps and somewhat lame shadows or worse fps and 'animated' shadows. I quess that is why the fps gain was pretty high and why your fps went higher when you disabled sun shadows.
Originally Posted By: painkiller
Setting max_bones to 1 improved the performance, but still no difference setting BONES or not. The model I'm using (player and three enemies) has 9616 faces and 5776 vertices, so it should perform okay.
, have you set it like this
#define BONES //enable gpu support
in the right .fx file? Also what kind of gpu do you have? (dont know if that matters) Might also has to do with how complex your models' bones setups are.
Posted By: painkiller

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/26/17 20:13

Originally Posted By: Reconnoiter
Damn I just noticed that #define BONES seems to break the shadows of animated entities (it shows them as they were not animated). So there is choice to make; more fps and somewhat lame shadows or worse fps and 'animated' shadows. I quess that is why the fps gain was pretty high and why your fps went higher when you disabled sun shadows.
Originally Posted By: painkiller
Setting max_bones to 1 improved the performance, but still no difference setting BONES or not. The model I'm using (player and three enemies) has 9616 faces and 5776 vertices, so it should perform okay.
, have you set it like this
#define BONES //enable gpu support
in the right .fx file? Also what kind of gpu do you have? (dont know if that matters) Might also has to do with how complex your models' bones setups are.


Yes I set #define BONES on the fx file that uses the character's material. I'm thinking about using a lower poly variant of the model for the shadows to get more performance, like you can do in engine shadows using shadow_lod, but not sure it that would be possible in shade-c.
Posted By: txesmi

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/27/17 15:22

Originally Posted By: painkiller
Originally Posted By: Reconnoiter

Quote:

BONES
Set this flag if you want support for GPU Bones.
, omg I did not know this feature, after adding it to the .fx files I now have twice as much fps in my project... blush


Hmm In my case it didn't make a difference.

I would bet it is a license issue. GPU bones animation is A8Pro only.

Originally Posted By: Reconnoiter
Damn I just noticed that #define BONES seems to break the shadows of animated entities (it shows them as they were not animated).

The shader that records depths from the light source has to animate the models too, so adding #define BONES to it could work.

Just a guess, I never used shadec laugh
Salud!
Posted By: Reconnoiter

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/27/17 21:54

Originally Posted By: txesmi
The shader that records depths from the light source has to animate the models too, so adding #define BONES to it could work.

Just a guess, I never used shadec laugh
Salud!
, I LOVE YOU AND YOUR GENIUS BRAIN! grin
(for others add #define BONES to sc_lights_shadowmap.fx found in shadec/fx folder. Note that is costs you a bit of fps but its still alot better than cpu bones)
Posted By: painkiller

Re: ShadeCEVO simple grass (OVERLAY) ? - 02/28/17 10:14

Originally Posted By: txesmi
Originally Posted By: painkiller
Originally Posted By: Reconnoiter

Quote:

BONES
Set this flag if you want support for GPU Bones.
, omg I did not know this feature, after adding it to the .fx files I now have twice as much fps in my project... blush


Hmm In my case it didn't make a difference.

I would bet it is a license issue. GPU bones animation is A8Pro only.


ah right then that's probably the reason
Posted By: painkiller

Re: ShadeCEVO simple grass (OVERLAY) ? - 07/28/17 15:46

I've been playing last days with shade-c EVO trying to get it working with gamestudio's multitexture terrain shader but got no luck. Tried setting forward rendering for it but didn't work. Has anyone got any sucess getting a multitexture terrain shader to work on shade-c evo?

Getting the gamestudio multiterrain shader to work with it would be nice as it's the one that GED uses so we could paint terrains using it.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 09/13/17 14:55

Just seen Boh_havoc himself posted in our topic. Great. Thanks for taking the time. And thanks for offering a contact btw. Will be usefull for sure.
Greets

Edit: would be cool if you look into this topic from time to time. Then we could collect all questions in here.

@painkiller
Also interested in terrain support. If i remember right we only had bad workarounds or using models instead frown
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/25/18 22:41

Just read this BONES Thing...i cant believe...
177 fps ?!?
AWESOME!!!!
This was a key Moment in my 3dgs life grin
Posted By: Kartoffel

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/26/18 10:26

Well, in general I wouldn't consider 177 fps that fast. But yeah, nowadays gpu accelerated animations are a must.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/26/18 16:48

For me 60fps in Fullscreen are more than ok.

edit:
Of course its not "that" fast. But its smooth looking. Since yesterday most of my acknex "Problems" are gone. For now, iam happy again. Powered all Settings up, added double amount of enemys, increased camera_far and and and...that with 100fps more.

Next Problem will be "ok" looking blood with shadeC evo. Already tryed some stuff, lets see how things are going.
Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/29/18 23:18

I faced a really strange thing. When adding entity Arrays to a shadeC Project, ull be hunted by strange randomly appearing bugs.

Its hard to explain, but already confirmed by 3run ( my example i uploaded ).

I made this example. Its basicly the std. example from shadeC with around 50 new lines.
In this example the c_move call makes the script Crash ( but only if its commented out WTF ). This is just one example of bug with Array in shadeC.
Without Arrays all works fine. And if you take the Array stuff out of shadec Project it also works.


https://www.file-upload.net/download-13105427/arrayBUGshadeC.rar.html

Code:
#define MAX_ENEMY   9999
#define MAX_ENEMY2   9999

var ENEMIES_TOTAL    = 0;
var ENEMIES_TOTAL2    = 0;

ENTITY* enemy_list  [MAX_ENEMY];
ENTITY* enemy_list2  [MAX_ENEMY2];


action actEnemy(){
	// ----------------------------------------------------------------------------------------------------------
	if (ENEMIES_TOTAL >= MAX_ENEMY) { ptr_remove(my); return; }
	enemy_list [ENEMIES_TOTAL] = my;
	ENEMIES_TOTAL++;
}
action actEnemy2(){
	// ----------------------------------------------------------------------------------------------------------
	if (ENEMIES_TOTAL2 >= MAX_ENEMY2) { ptr_remove(my); return; }
	enemy_list2 [ENEMIES_TOTAL2] = my;
	ENEMIES_TOTAL2++;
}

void updateNPC_both(){
	ENTITY* tempEnt;                           // instead of my/me were using tempEnt
	ENTITY* tempEnt2;                           // instead of my/me were using tempEnt
	int i = 0;                                 // the "itemindex" in the for cycle
	// ----------------------------------------------------------------------------------------------------------
	while (1){                                 // handle all enemys as long as... 
	   // -------------------------------------------------------------------------------------------------------


		for (i = 0; i < ENEMIES_TOTAL; i++){    // cycle through all enemys in array now
		   // ----------------------------------------------------------------------------------------------------
			// --- [ fill pointers ] ------------------------------------------------------------------------------
			// ----------------------------------------------------------------------------------------------------
			tempEnt   = enemy_list[i]; 
			tempEnt2  = enemy_list2[i]; 
                        if (tempEnt == NULL) continue;
                        if (tempEnt2 == NULL) continue;
                        if (tempEnt2.skill1 == 0) beep; // baam
                 }
                 wait (1);
           }
}

main.c:

updateNPC_both();
ent_create ("modela.mdl", vector (0,0,0), actEnemy);
ent_create ("modela.mdl", vector (0,0,0), actEnemy2);

This tiny contruct will Crash when u continue adding stuff, hard to explain.

edit:
I know the using of two arrays like i did in this example is shitty...anyway it should work.
Posted By: Kartoffel

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/30/18 08:56

try using dynamic memory allocation
Edit: or try increasing the nexus. to my knowledge the engine doesn't tell you s*** when it's full
Posted By: txesmi

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/30/18 09:11

Hi,
I tried the downloadable example and it crashes because 'pos' and 'ang' are declared as 'VECTOR*' inside the loop of 'updateNPC_both' instead of 'VECTOR'. By the rest, it works fine here.

Posted By: rayp

Re: ShadeCEVO simple grass (OVERLAY) ? - 04/30/18 10:20

Oh man you are right...

edit:
what a stupid typo-mistake caused of the Long break. I cant believe...i rewrote the lines a 100 times...

Thanks for the time man!
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 05/31/20 13:48

Hey guys!

Wanted to ask, was anyone ever able to get shadows for pointlights working? I only could find (get to work) shadows from the sun and spotlights.
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 16:27

Well, I guess this means no... grin Or even if there were users who got it working (somehow) they aren't around anymore...
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 16:57

Hey 3run, I think I got it working before iirc. I can look for it this weekend.
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 17:46

Originally Posted by alibaba
Hey 3run, I think I got it working before iirc. I can look for it this weekend.
Hey, it would be great if you could check it out.

I tried to give it a try, but found out, that even in defines there is no SHADOW for pointlights...
Code
//pointlight
#define SC_LIGHT_P 0
#define SC_LIGHT_P_SPEC 1
#define SC_LIGHT_P_SPEC_PROJ 2
#define SC_LIGHT_P_PROJ 3

//spotlight
#define SC_LIGHT_S 10
#define SC_LIGHT_S_SPEC 11
#define SC_LIGHT_S_SPEC_SHADOW 12
#define SC_LIGHT_S_SHADOW 13

int sc_lpp_getLightType(unsigned int inBitflag)
{
	int bitMask = 0;
	
	//pointlights
	bitMask = (SC_LIGHT_POINT);
	if( inBitflag == bitMask) return SC_LIGHT_P;
	
	bitMask = (SC_LIGHT_POINT | SC_LIGHT_SPECULAR);
	if( inBitflag == bitMask) return SC_LIGHT_P_SPEC;
	
	bitMask = (SC_LIGHT_POINT | SC_LIGHT_PROJECTION);
	if( inBitflag == bitMask) return SC_LIGHT_P_PROJ;
	
	bitMask = SC_LIGHT_POINT | SC_LIGHT_SPECULAR | SC_LIGHT_PROJECTION;
	if( (inBitflag & bitMask) == bitMask) return SC_LIGHT_P_SPEC_PROJ;
	
	
	//spotlights
	bitMask = (SC_LIGHT_SPOT);
	if( inBitflag == bitMask || inBitflag == (bitMask | SC_LIGHT_PROJECTION) ) return SC_LIGHT_S;
	
	bitMask = (SC_LIGHT_SPOT | SC_LIGHT_SPECULAR);
	if( inBitflag == bitMask || inBitflag == (bitMask | SC_LIGHT_PROJECTION) ) return SC_LIGHT_S_SPEC;
	
	bitMask = (SC_LIGHT_SPOT | SC_LIGHT_SHADOW);
	if( inBitflag == bitMask || inBitflag == (bitMask | SC_LIGHT_PROJECTION) ) return SC_LIGHT_S_SHADOW;

	bitMask = (SC_LIGHT_SPOT | SC_LIGHT_SPECULAR | SC_LIGHT_SHADOW);
	if( inBitflag == bitMask || inBitflag == (bitMask | SC_LIGHT_PROJECTION) ) return SC_LIGHT_S_SPEC_SHADOW;

	return SC_LIGHT_P;
}


Posted By: CodeMaster

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 20:01

Like a total noob about this framework, I have two problems with the Shade-C v0.91

How I can add multiterrain shader to my hmp terrain and how add colormap, shadowmap and textures? I found two action fx_terraintex and fx_terraintex3. Which I should use?

Second I have a problem that the grass does not receive shadows from the player and the trees, and also my terrain don't recive shadow from player, only block and some static models.
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 20:11

As far as I know, Shade-C v0.91 was not finished and I wouldn't recommend using it. Unfortunately, I never used it and can't help with your questions... Shade-C EVO has some memory leaks, but who knows, if the pointlight shadow questions will be answered and it indeed supports shadows from pointlights, we could invest some time into finding and fixing memory leaks. Then it will be the best shade-c solution for acknex.
Posted By: CodeMaster

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 20:30

Yes, I've seen a couple of games that use Shade-c and they look amazing.

In the first post rayp write that EVO does not support terains, but later I read that someone still managed to fix it. Is there any example of the Shade-c EVO with terrains?
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/02/20 20:42

Originally Posted by CodeMaster
Is there any example of the Shade-c EVO with terrains?
I know only the one which was made by oliver32 (if I'm not mistaken his nickname), it was a game prototype about trucks, etc, he was even selling the source code. Terrains with EVO should be possible, but I never gave them a try myself.

As BoH_Havoc said:
Quote
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.
Posted By: 3run

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/03/20 10:35

Seems like I was able to remove all memory leaks (at least no leaks in acklog when I run all examples from the latest github version). They mainly were caused by 'sc_skill_', sc_viewEvent_init, sc_materials_init and setupMaterial in example05. If only we could get pointlights to have shadows, this could be some good alternative to boost graphics, yet outdated, but much better than default shaders...

Edit: this is how I'm trying to create a pointlight
Code
sc_light_create(vector(-86, -82, 322), 1000, vector(1024, 512, 0), SC_LIGHT_POINT | SC_LIGHT_SHADOW);
And yet, there are no shadows at all...
[Linked Image]
Posted By: alibaba

Re: ShadeCEVO simple grass (OVERLAY) ? - 06/03/20 12:43

I may be wrong, maybe it was with spotlights.. I'll let you know after I've checked it this weekend
Posted By: 3run

Re: Setting up ShadeC EVO ( vegetation, terrain, publishing etc ) - 06/05/20 08:57

Would be sad it pointlights don't support shadows... And from what I can see in code, they don't :<
I tried to fake the pointlight by creating 6 spotlights and increasing they arc, but it doesn't really look great.
[Linked Image]

Edit: I've uploaded version with memory leak fixes, it can be found here:
https://github.com/3RUN/ShadeC-EVO
Posted By: alibaba

Re: Setting up ShadeC EVO ( vegetation, terrain, publishing etc ) - 06/06/20 22:58

Hey 3run, sorry to disappoint you, but it was a different problem (Spotlight shadows with alpha sprites) that I had solved before. As you said, there is sadly no sign of pointlight shadowmaps.
Posted By: 3run

Re: Setting up ShadeC EVO ( vegetation, terrain, publishing etc ) - 06/07/20 06:53

That's pretty sad... :<
© 2020 lite-C Forums