Archived

This topic is now archived and is closed to further replies.

bojote

DX10 for WinXP

Recommended Posts

There was a news item in the Avsim front page, it was removed already.I'm interested in knowing if there is any kind of improvement installing it.Thanks,

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

There was a news item in the Avsim front page, it was removed already.I'm interested in knowing if there is any kind of improvement installing it.Thanks,
Mee too, anyone know anything about it ?I thought DX10 was just for vista etc.Thanks.

Share this post


Link to post
Share on other sites

It reported that an AVSIM staff member saw 40-60 fps improvement with a WinXP port of DX10 in FS2004. Given that FS2004 was written to use DX9, I can't imagine how that could be the case.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO

Share this post


Link to post
Share on other sites

I glanced at that story eariler with a bucket full of scepticism.I might be willing to try it , but how easy would it be to roll back to DX9I suppose i should have read the review a bit more ,but I got as far as someone dissmissing the screenshots as artists renderings and dropped the review there.But Nothing ventured nothing gained as they say .So!! Who is brave /daft/computer savy enough to give it a shot MarkEDIT just found the linkDX10 for XP

Share this post


Link to post
Share on other sites

this has been discussed before. there WAS a group stating they would 'hack' DX10 to work with winXP. that group failed and i believe their blog/www has closed. my guess is a forum search, and a search of other flightsim related forums, may find details and maybe the old link.VISTA and DX10 share 'new code' that cannot be 'forced back' to work with winXP.--

Share this post


Link to post
Share on other sites

I hear what you are saying ScoobYou can play a dx7 or 8 game on a dx9 machine but I have never noticed an improvement in the way the link i posted has hinted at I loved the Enemy engaged series and that was modded out of recognition from the original , but the thing that holds it back from the modders really letting rip is the fact that it is not dx9 So i really cant see what this would bring to the table !As I said earlier maybe some brave soul will come along and make me eat my wordsMark

Share this post


Link to post
Share on other sites

Search through Phil Taylor's older blog entries. Several months ago he posted a link to a statement by the "developers" that they were throwing in the towel, since they were simply unable to realize their theories.As a result, they dropped the idea completely.

Share this post


Link to post
Share on other sites

Hi,My guess the frontpage was hacked. It was only a 2 line message with a link directly to that website. If it indeed came from one of the AVSIM Staff, it would have been posted in one of the forums, and linked to the forum on the main site.Just a Hoax.

Share this post


Link to post
Share on other sites

I saw it. I was dumb enough to try it. It did nothing. There seemed to be no benefit or disadvantage. The installer was in Russian I believe. I decided to remove it and use the restore point I made before I installed this. My advise for what it's worth is don't mess with it. Anyway. my story and I am sticking to it.Pat Callaghan

Hi,My guess the frontpage was hacked. It was only a 2 line message with a link directly to that website. If it indeed came from one of the AVSIM Staff, it would have been posted in one of the forums, and linked to the forum on the main site.Just a Hoax.

Share this post


Link to post
Share on other sites
I thought it was an early April fool joke.
I am sure it was! I am running FS9 in Vista with DX10 installed. None or no obvious improvement at all!Hugo

Share this post


Link to post
Share on other sites
I saw it too.I copied the link immediately.Have no tecchnical knowledge about it.http://www.techmixer.com/download-directx-10-for-windows-xp/H.
READ THIS:http://alkyproject.blogspot.com/"Sunday, January 06, 2008It is with great sadness that I announce the closing of Falling Leaf Systems, LLC. We set out over a year ago to provide users of both "old and unsupported" as well as "alternative" Operating Systems the ability to run the latest games for the PC. Unfortunately, Falling Leaf Systems was unable to achieve that goal."Over a year ago, the developers of this threw in the towel and admitted their complete failure...

Share this post


Link to post
Share on other sites

Good luck dealing with whatever malware infection this is most certainly putting onto your machine...LOL @ them using the fake promo FSX screenshot as if it's real too.

Share this post


Link to post
Share on other sites
Good luck dealing with whatever malware infection this is most certainly putting onto your machine...
this was also my thought ryan ... and why i didn't click on the hyperlink.--

Share this post


Link to post
Share on other sites
this has been discussed before. there WAS a group stating they would 'hack' DX10 to work with winXP. that group failed and i believe their blog/www has closed. my guess is a forum search, and a search of other flightsim related forums, may find details and maybe the old link.VISTA and DX10 share 'new code' that cannot be 'forced back' to work with winXP.--
Exactly -that link seems to be dated to mid-2007.I believe one the the Microsoft's developers (Phil Taylor?) blogged about this and stated it is impossible and the this claim was dropped by it developers.

Share this post


Link to post
Share on other sites

Well, I couldnt help it. Since I got all my FS9 stuff on a complete image file (after years with lessons learned), I decided to give it a shot (based on a thread in Flightsim.no regarding DX10). I have a pretty good setup with FS9 on its own XP-computer with tons of addons, and had 40-50 fps when lined up at Oslo Airport with Wilco 737 (3d cockpit/track IR and a good portion of AI). After DX10 installation I have 60-70 FPS at the same spot (panning around with track IR smoothly as well). I couldnt belive my eyes. After a couple of days now I have been testing this with all my addons and I am not able to find any flaws what so ever! :( Arvid

Share this post


Link to post
Share on other sites
Well, I couldnt help it. Since I got all my FS9 stuff on a complete image file (after years with lessons learned), I decided to give it a shot (based on a thread in Flightsim.no regarding DX10). I have a pretty good setup with FS9 on its own XP-computer with tons of addons, and had 40-50 fps when lined up at Oslo Airport with Wilco 737 (3d cockpit/track IR and a good portion of AI). After DX10 installation I have 60-70 FPS at the same spot (panning around with track IR smoothly as well). I couldnt belive my eyes. After a couple of days now I have been testing this with all my addons and I am not able to find any flaws what so ever! :( Arvid
...and your point is? You do realize that FS9 has absolutely no support whatever for DX10. Any program (such as FSX) absolutely must have explicitly defined Shader code added to enable any DX10 features.So, while you have this so-called DX10 stuff added, it is not doing a single, solitary thing whatsoever...Here is an example of one of the Shader definitions used by FSX. There are many, many more that're required...
//---------------------------------------------------------------------------// Flight Simulator X - Shader Effect Files// Copyright (c) 2006, Microsoft Corporation//---------------------------------------------------------------------------//// Global shader.  Handles all cases//#include <Common.fxh>#include <MaterialDecl.fxh>#include <D3D9Texture.fxh>#include <FuncLibrary.fxh>string XFile = "sjlcube.x";#if defined(SHD_FRESNEL_DIFFUSE) || defined(SHD_FRESNEL_SPECULAR) || defined(SHD_FRESNEL_ENV)#define PS_USES_FRESNEL true#endif#if defined(PS_USES_FRESNEL) || defined(SHD_ENV) || defined(SHD_SPECULAR)#define PS_NEEDS_EYE_DIR true#endif#if !defined(SHD_BUMP) && !defined(SHD_VERTICAL_NORMAL) && !defined(SHD_PRELIT)#define PS_NEEDS_VERTEX_NORMAL true#endif#if defined(SHD_BUMP) && !defined(SHD_VERTICAL_NORMAL)#define PS_NEEDS_TANSPACE#endif#if defined(SHD_BASE) || defined(SHD_DETAIL) || defined(SHD_SPECULARMAP) || defined(SHD_BLENDENVBYSPECULARMAPALPHA) || defined(SHD_ADDITIVE_EMISSIVEMAP) || defined(SHD_BLENDED_EMISSIVEMAP) || defined(SHD_MULTIPLY_EMISSIVEMAP) || defined(SHD_ALLOW_EMISSIVE_BLOOM)#define PS_NEEDS_BASE_TEXCOORD#endifconst bool EffectDeclaration<	string Name	  = "General";	string Class	 = "Basic";	string Features  = "Bump";	string Fallback  = "Assert";	bool   NewMaterialUsage = true;> = true;#define vLightDir vSunVectorWorld// Declare inputsstruct VS_INPUT{	float4 vPos	   : POSITION;#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)	float3 vNormal	: NORMAL;#endif#if defined(SHD_PRELIT) && !defined(SHD_PRELIT_CONSTANT)	float4 vDiffuse   : COLOR0;#endif#if defined(PS_NEEDS_BASE_TEXCOORD) || (!defined(SHD_PRELIT) && defined(SHD_BUMP))	float2 vTex	   : TEXCOORD0;#endif#ifdef PS_NEEDS_TANSPACE	float3 vBinormal  : BINORMAL;	float3 vTangent   : TANGENT;#endif#if defined(SHD_SKIN)	float4 vBlendWeight   : BLENDWEIGHT;	float4 vBlendIndices  : BLENDINDICES;#endif#if defined(SHD_APPLY_Y_BIAS)	float1 vYBias		: TEXCOORD2;#endif#if defined(SHD_APPLY_VERTEX_ALPHA_FACTOR)	float1 vAlphaFactor  : TEXCOORD3;#endif};// Declare outputsstruct PS_INPUT{#ifdef PS_NEEDS_BASE_TEXCOORD	float2 TexBase  : TEXCOORD0;#endif#ifdef SHD_DETAIL	float2 TexDetail  : TEXCOORD1;#endif	float4 cDiffuse   : COLOR0;#ifndef SHD_PRELIT	#ifdef SHD_BUMP		float2 TexBump  : TEXCOORD2;	#endif	#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)		float3 vNormalWS  : TEXCOORD3;	#endif	#ifdef PS_NEEDS_EYE_DIR		float3 vPosWS	 : TEXCOORD4;		float3 vEyePosWS  : TEXCOORD5;	#endif	#ifdef PS_NEEDS_TANSPACE		float3 vBinormalWS : TEXCOORD6;		float3 vTangentWS  : TEXCOORD7;	#endif#endif};// Declare outputsstruct VS_OUTPUT{	float4 vPos	 : POSITION;	float  fFog	 : FOG;	PS_INPUT ToPix;};struct VS_OUTPUT_SM{	float4 vPos	 : POSITION;	float  fFog	 : FOG;	float3 TexBase  : TEXCOORD0;	float  fBlend   : TEXCOORD1;};// CodeVS_OUTPUTVS(const VS_INPUT v){	VS_OUTPUT o = (VS_OUTPUT)0;	float4 vPos = v.vPos;	#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)	float3 vNormal = v.vNormal;	#endif	#ifdef SHD_SKIN	// Convert D3DCOLOR to UBYTE4. We can't use UBYTE4 types directly because	// most 1.x shader hardware does not support it. As a sollution, we use	// D3DCOLOR and use the D3DCOLORtoUBYTE4 macro to tweak the values back.	float4 vBlendWeight = D3DCOLORtoUBYTE4(v.vBlendWeight) / 255.0f;	float4 vBlendIndices = D3DCOLORtoUBYTE4(v.vBlendIndices);	// Apply skinning on position	vPos = SkinPosition(vPos,						vBlendWeight,						mBones[vBlendIndices.x],						mBones[vBlendIndices.y],						mBones[vBlendIndices.z],						mBones[vBlendIndices.w]);	// Apply skinning on normal (if needed)	#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)	vNormal = SkinNormal(vNormal,						 vBlendWeight,						 mBones[vBlendIndices.x],						 mBones[vBlendIndices.y],						 mBones[vBlendIndices.z],						 mBones[vBlendIndices.w]);	#endif //normal	#endif //skin	// Vertical bias from stream	#ifdef SHD_APPLY_Y_BIAS	{		vPos.y += v.vYBias.x;	}	#endif	// Transform to clip space	o.vPos = mul(vPos, mFullProj);	#ifdef SHD_BASE	// Base texture coordinates	o.ToPix.TexBase.xy = v.vTex;	#endif	#ifdef SHD_DETAIL	{		o.ToPix.TexDetail.xy = v.vTex * DetailScale;	}	#endif	#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)	float3 vNormalWS = TransformVectorToSpace(vNormal, mWorld);	o.ToPix.vNormalWS = vNormalWS;	#endif	#ifdef SHD_PRELIT	{		#ifdef SHD_PRELIT_CONSTANT			o.ToPix.cDiffuse = float4(1,1,1,1);		#else			o.ToPix.cDiffuse = v.vDiffuse;		#endif		#ifndef SHD_BASE		{			o.ToPix.cDiffuse *= MatDiffuse;		}		#endif // !SHD_BASE	}	#else		#ifdef SHD_BUMP		{			o.ToPix.TexBump.xy = v.vTex * BumpScale;			#ifdef PS_NEEDS_TANSPACE			{				#ifdef SHD_SKIN				float3 vTangent = SkinNormal(v.vTangent,											 vBlendWeight,											 mBones[vBlendIndices.x],											 mBones[vBlendIndices.y],											 mBones[vBlendIndices.z],											 mBones[vBlendIndices.w]);				#else				float3 vTangent  = v.vTangent;				#endif				// Transform tangent into worldspace and calculate binormal				o.ToPix.vTangentWS  = TransformVectorToSpace(vTangent,  mWorld);				o.ToPix.vBinormalWS = cross(vNormalWS, o.ToPix.vTangentWS);			}			#endif			// clear the diffuse because the point lights will accumulate here			o.ToPix.cDiffuse = float4(0,0,0,0);		}		#else // !SHD_BUMP		{			float fDot = 0;			#ifdef SHD_VERTICAL_NORMAL			{				fDot = max(vLightDir.y, 0);			}			#else			{				#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)				{					fDot = saturate(dot(vNormalWS, vLightDir));				}				#endif			}			#endif			o.ToPix.cDiffuse = float4( saturate( vSunAmbient + (vSunDirectional * fDot) ), 1.0);			#ifndef SHD_BASE			{				o.ToPix.cDiffuse *= MatDiffuse;			}			#endif // !SHD_BASE		}		#endif // !SHD_BUMP	#endif // !SHD_PRELIT	#ifndef SHD_PRELIT	{		// calculate point lights		float3 vWorldPos = mul(vPos, mWorld);		for(dword i=0; i < iPointLightCount; i++)		{			float dist = distance(vWorldPos, vPointLightWorldSpace[i]);			if (dist < vPointLightRangeAttenuation[i].x)			{				float3 vPointLightDir = normalize(vPointLightWorldSpace[i] - vWorldPos);				// all our point lights have attenuation coeffs set to (1,0,0) so we can simplify the attenuation equation				float attenuation = 1;				float fDot = 0;				#ifdef SHD_VERTICAL_NORMAL				{					fDot = max(vPointLightDir.y, 0);				}				#else				{					#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)					{						fDot = saturate(dot(vNormalWS, vPointLightDir));					}					#endif				}				#endif				o.ToPix.cDiffuse += float4(saturate(vPointLightDiffuse[i] * attenuation * fDot), 0.0f);			}		}		#ifdef PS_NEEDS_EYE_DIR		{			o.ToPix.vPosWS	= mul(vPos, mWorld);			o.ToPix.vEyePosWS = vEyePoint;		}		#endif	}	#endif	// Alpha blend from stream	#ifdef	SHD_APPLY_VERTEX_ALPHA_FACTOR	{	o.ToPix.cDiffuse.a *= v.vAlphaFactor.x;	}	#endif	// Compute fog	o.fFog = ComputeFog(o.vPos.w, FOG_END, FOG_RECIP, FOG_SELECT_VERTEX, FOG_SELECT_TABLE);	return o;}VS_OUTPUT_SMVS_ShadowMap(const VS_INPUT v){	VS_OUTPUT_SM o = (VS_OUTPUT_SM)0;	float4 vPos = v.vPos;	#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)	float3 vNormal = v.vNormal;	#endif	#ifdef SHD_SKIN	{		// Convert D3DCOLOR to UBYTE4. We can't use UBYTE4 types directly because		// most 1.x shader hardware does not support it. As a sollution, we use		// D3DCOLOR and use the D3DCOLORtoUBYTE4 macro to tweak the values back.		float4 vBlendWeight = D3DCOLORtoUBYTE4(v.vBlendWeight) / 255.0f;		float4 vBlendIndices = D3DCOLORtoUBYTE4(v.vBlendIndices);		// Apply skinning on position		vPos = SkinPosition(vPos,							vBlendWeight,							mBones[vBlendIndices.x],							mBones[vBlendIndices.y],							mBones[vBlendIndices.z],							mBones[vBlendIndices.w]);		#if defined(PS_NEEDS_VERTEX_NORMAL) || defined(PS_NEEDS_TANSPACE)		// Apply skinning on normal		vNormal = SkinNormal(vNormal,							 vBlendWeight,							 mBones[vBlendIndices.x],							 mBones[vBlendIndices.y],							 mBones[vBlendIndices.z],							 mBones[vBlendIndices.w]);		#endif	}	#endif //skin	// Transform to clip space	o.vPos = mul(vPos, mFullProj);	#ifdef SHD_PRELIT	{		o.fBlend = 1.0f;	}	#else	{		float fDot;		#ifdef SHD_VERTICAL_NORMAL		{			fDot = max(vLightDir.y, 0);		}		#else		{			fDot = saturate(dot(TransformVectorToSpace(vNormal, mWorld), vLightDir));		}		#endif		o.fBlend = fDot;	}	#endif // !SHD_PRELIT	// Base texture coordinates	float4 ShadowPos = mul(mul(vPos,mWorld)+vShadowOffset, mShadowMtx);	o.TexBase.xy = ShadowPos.xy;	float4 ShadowViewPos = mul(mul(vPos,mWorld)+vShadowOffset, mShadowViewMtx);	o.TexBase.z = ShadowViewPos.z / fShadowRange;	return o;}float4PS(PS_INPUT Input) : COLOR{	//	// Base texture and detail	//	float4 cBase;	#ifdef SHD_BASE	{		cBase = tex2D(BaseSampler, Input.TexBase);	}	#else	{		cBase = float4(1, 1, 1, 1);	}	#endif	#ifdef SHD_DETAIL	{		float3 cDetail = tex2D(DetailSampler, Input.TexDetail);		cBase *= float4(2 * cDetail, 1);	}	#endif	//	// Build all terms	//	float4 cColor, cDiffuse, cFresnel;	// Need to have the specular color here in case the alpha is needed to modulate the diffuse	#if defined(SHD_SPECULARMAP) || defined(SHD_BLENDENVBYSPECULARMAPALPHA)	float4 cSpecularMap = tex2D(SpecularSampler, Input.TexBase);	#endif	float3 vEyeDirWS;	float3 vNormalWS, vVtxNormalWS;	#if defined(SHD_PRELIT)	{		#if defined(SHD_PRELIT_CONSTANT)			cDiffuse = cBase;		#else			cDiffuse = cBase * Input.cDiffuse;		#endif		cColor = cDiffuse;		#if defined(SHD_BLENDENVBYINVBASEALPHA)		{			cDiffuse.a = MatDiffuse.a;		}		#endif	}	#else	{		// Get required normals		vVtxNormalWS = vNormalWS = float3(0, 1, 0);		#if defined(SHD_BUMP)		{			float3 vNormalSurface = SampleBump(Input.TexBump);			#if !defined(SHD_VERTICAL_NORMAL)			{				vVtxNormalWS = normalize(Input.vNormalWS);				// Transform surface normal into world space				vNormalWS = TransformVectorByColumnMatrix(vNormalSurface, normalize(Input.vBinormalWS), -normalize(Input.vTangentWS), vVtxNormalWS);			}			#else			{				vNormalWS = TransformVectorToSpace(float3(vNormalSurface.r, vNormalSurface.b, -vNormalSurface.g), mWorld);			}			#endif		}		#else  // !SHD_BUMP		{			#if !defined(SHD_VERTICAL_NORMAL) && (defined(PS_USES_FRESNEL) || defined(SHD_SPECULAR) || defined(SHD_ENV))			{				float3 vNorm = normalize(Input.vNormalWS);				#if defined(PS_USES_FRESNEL)				{					vVtxNormalWS = vNorm;				}				#endif				#if defined(SHD_SPECULAR) || defined(SHD_ENV)				{					vNormalWS = vNorm;				}				#endif			}			#endif		}		#endif // !SHD_BUMP		#if defined(PS_NEEDS_EYE_DIR)		{			vEyeDirWS = normalize(Input.vEyePosWS - Input.vPosWS);		}		#endif		#if defined(PS_USES_FRESNEL)		{			//			// Fresnel term			//			// We will not bump the fresnel term as it is cheaper			// not to and avoids sparklies			cFresnel = CalculateFresnel(vEyeDirWS, vVtxNormalWS);		}		#endif		//		// Diffuse term		//		#if defined(SHD_BUMP)		{			// Perform diffuse calculation			float fDot = saturate(dot(vNormalWS, vLightDir));			cDiffuse = cBase * float4( saturate(vSunAmbient + (vSunDirectional * fDot) ), 1) + Input.cDiffuse;		}		#else		{			// Not bumpmapping, so diffuse comes from the vertex			cDiffuse = cBase * Input.cDiffuse;		}		#endif		#if defined(SHD_BLENDDIFFUSEVBYBASEALPHA)		{		  cDiffuse *= cBase.a;		}		#else		{			#if defined(SHD_BLENDDIFFUSEBYINVSPECULARMAPALPHA)			{				cDiffuse *= (1 - cSpecularMap.a);			}			#endif		}		#endif		#if defined(SHD_FRESNEL_DIFFUSE)		{			cDiffuse *= 1 - cFresnel;		}		#endif		#if defined(SHD_BLENDENVBYINVBASEALPHA)		{			cDiffuse.a = MatDiffuse.a;		}		#endif		cColor = cDiffuse;		#if defined(SHD_SPECULAR)		{			//			// Specular term			//			// Specular:  S = N.H ^ Power			float3 cSpecular;			#if defined(SHD_SPECULARMAP)			{				cSpecular = CalculateSpecularFromMap(vEyeDirWS, vLightDir, vNormalWS, cSpecularMap, MatSpecMapPowerScale, vSunDirectional);			}			#else			{				cSpecular = CalculateSpecular(vEyeDirWS, vLightDir, vNormalWS, SpecularPower, vSunDirectional, SpecularColor);			}			#endif			#if defined(SHD_FRESNEL_SPECULAR)			{				cSpecular *= cFresnel;			}			#endif			cColor += float4(cSpecular, 0);		}		#endif		#if defined(SHD_ENV)		{			//			// Environment term			//			float3 cReflection = CalculateEnv(vEyeDirWS, vNormalWS, vSunDirectional);			#if defined(SHD_BLENDENVBYINVBASEALPHA)			{				cReflection *= (1 - cBase.a);			}			#else			{				#if defined(SHD_BLENDENVBYSPECULARMAPALPHA)				{					cReflection *= cSpecularMap.a;				}				#endif			}			#endif			#if defined(SHD_FRESNEL_ENV)			{				cReflection *= cFresnel;			}			#endif			#if defined(SHD_PRECIP_BLEND)			{				#if defined(SHD_PRECIP_OFFSET)				{					cReflection = lerp(cReflection * MatPrecipOffset, cReflection, GlobalPrecipLevel);				}				#else				{					cReflection *= GlobalPrecipLevel;				}				#endif			}			#endif			cColor += float4(cReflection, 0) * EnvLevelScale;		}		#endif	}	#endif // PRELIT	#if defined( SHD_ADDITIVE_EMISSIVEMAP ) || defined( SHD_BLENDED_EMISSIVEMAP ) || defined( SHD_MULTIPLY_EMISSIVEMAP )	{		float4 cEmissive = tex2D(EmissiveSampler, Input.TexBase);		#if defined( SHD_ADDITIVE_EMISSIVEMAP )		{			cColor += float4(cEmissive.r, cEmissive.g, cEmissive.b, 0);		}		#elif defined( SHD_BLENDED_EMISSIVEMAP )		{			cColor = lerp(cEmissive, cColor, State_BlendedEmissiveFactor);		}		#elif defined( SHD_MULTIPLY_EMISSIVEMAP )		{			float fDayNightRatio = 1 - State_BlendedEmissiveFactor;	 // 1 is night, 0 is day			float4 cEmissiveMapped = (cDiffuse + (fDayNightRatio * cEmissive)) * cBase;			cColor = float4(cEmissiveMapped.r, cEmissiveMapped.g, cEmissiveMapped.b, cColor.a);		}		#endif	}	#endif	#if defined(SHD_FINAL_ALPHA_BLEND)	{		cColor.a *= State_FinalAlphaBlendFactor;	}	#endif	#if defined(SHD_BLEND_CONSTANT)	{		cColor *= State_BlendConstant;	}	#endif	// Bloom	#ifdef SHD_BLOOM	{		float fBloom = 0;		#if defined(SHD_SPECULAR) && !defined(SHD_NOSPECULARBLOOM) && !defined(SHD_PRELIT)		{			float fPower;			#if defined(SHD_SPECULARMAP)			{				fPower = cSpecularMap.a * MatSpecMapPowerScale;			}			#else			{				fPower = SpecularPower;			}			#endif			if (fPower > 0)			{				#if !defined(SHD_VERTICAL_NORMAL)				{					fBloom = CalculateSpecularBloom(vEyeDirWS, vLightDir, vNormalWS, fPower, MatSpecBloomFloor);				}				#else				{					fBloom = CalculateSpecularBloom(vEyeDirWS, vLightDir, fPower, MatSpecBloomFloor);				}				#endif			}		}		#else		{			#if defined(SHD_BLOOM_COPY) || defined(SHD_BLOOM_MODALPHA)			{				#if defined(SHD_BLOOM_MODALPHA)				{					fBloom = cBase.a;				}				#else				{					fBloom = 1;				}				#endif			}			#endif		}		#endif		// Add in emissive bloom if it's active		{			#if defined(SHD_ALLOW_EMISSIVE_BLOOM)			{				float fEmissiveBloomAlpha = tex2D(EmissiveSampler, Input.TexBase).a;			fBloom += fEmissiveBloomAlpha;			}			#endif		}		cColor.rgb *= fBloom;	}	#endif	return (cColor);}float4PS_ShadowMap(float3 TexBase:TEXCOORD0, float fBlend:TEXCOORD1) : COLOR{	//	// Base texture and detail	//	float2 baseCoord = (((float2(1.0,-1.0)*TexBase)+1.0f)/2.0f) * 2048.0f;	float2 fFrac = float2(frac(baseCoord.x),frac(baseCoord.y));	baseCoord.x = ((round(baseCoord.x-0.5f))-0.0f)/2048.0f;	baseCoord.y = ((round(baseCoord.y-0.5f))+0.0f)/2048.0f;	float fDistanceFromSceneCamera = TexBase.z + fShadowBias;	// Sample the current depth sample	float fDepth = (fDistanceFromSceneCamera > tex2D(ShadowMapSampler, baseCoord).x);	// We sample the neighbor samples that form a cross (up, down, left, right) and lerp them together based on the	// sample fraction that is determined from the position of the curent pixel within the sample	float4 Depth = fDistanceFromSceneCamera > float4(						tex2D(ShadowMapSampler, baseCoord + float2(-1.0f/2048.0f,0.0f/2048.0f)).x,						tex2D(ShadowMapSampler, baseCoord + float2(1.0f/2048.0f,0.0f/2048.0f)).x,						tex2D(ShadowMapSampler, baseCoord + float2(0.0f/2048.0f,-1.0f/2048.0f)).x,						tex2D(ShadowMapSampler, baseCoord + float2(0.0f/2048.0f,1.0f/2048.0f)).x);	fDepth += lerp( Depth.x, Depth.y, fFrac.x) + lerp( Depth.z, Depth.w, fFrac.y);	#ifdef SHD_SHADOWMAP_HIGH		// For the high quality filter, we also sample the corner samples to get a full 3x3 filter		float2 fDepthLerp;		float4 Depth2 = fDistanceFromSceneCamera > float4(							tex2D(ShadowMapSampler, baseCoord + float2(-1.0f/2048.0f,-1.0f/2048.0f)).x,							tex2D(ShadowMapSampler, baseCoord + float2(-1.0f/2048.0f,1.0f/2048.0f)).x,							tex2D(ShadowMapSampler, baseCoord + float2(1.0f/2048.0f,-1.0f/2048.0f)).x,							tex2D(ShadowMapSampler, baseCoord + float2(1.0f/2048.0f,1.0f/2048.0f)).x);		fDepthLerp.xy = lerp( Depth2.xy, Depth2.zw, fFrac.x);		fDepth += lerp( fDepthLerp.x, fDepthLerp.y, fFrac.y);	#endif	// Finish off by factoring the "kick-in factor"	fDepth = saturate(fShadowKickIn * 0.1 * fDepth);	return float4(0,0,0,(min(fDepth,fShadowIntensity))*fBlend);	// Debug/Test code to quickly output the shadow result as a simple color	//return float4(fDepth*fBlend,0,0,1);}technique T0<	int	Performance = EffectPerfLevel_MaxShader20;>{	pass P0	{		#include <DefaultStates.fxh>#ifdef SHD_BLOOM		FogColor = 0;#endif		VertexShader = compile vs_2_0 VS();		PixelShader  = compile ps_2_0 PS();		AlphaBlendEnable = (State_AlphaBlendEnable);		SrcBlend		 = (State_SrcBlend);		DestBlend		= (State_DstBlend);	}#ifdef SHD_SHADOWMAP	pass ShadowMap	{		#include <DefaultStates.fxh>		VertexShader = compile vs_2_0 VS_ShadowMap();		PixelShader  = compile ps_2_0 PS_ShadowMap();		AlphaBlendEnable = (State_ShadowAlphaBlendEnable);		SrcBlend			 = SrcAlpha;		DestBlend			= InvSrcAlpha;	}#endif}

Share this post


Link to post
Share on other sites

Well thanks for that n4gix my scroll button just fell off! :( Maybe you could use codebox next time .But I have to say that is a hell of a way to state that it will not work.I am impressed !!Though i have to confess i did'nt read all of it :( Mark

Share this post


Link to post
Share on other sites
...and your point is? You do realize that FS9 has absolutely no support whatever for DX10. Any program (such as FSX) absolutely must have explicitly defined Shader code added to enable any DX10 features.So, while you have this so-called DX10 stuff added, it is not doing a single, solitary thing whatsoever...Here is an example of one of the Shader definitions used by FSX. There are many, many more that're required...
//---------------------------------------------------------------------------// Flight Simulator X - Shader Effect Files// Copyright (c) 2006, Microsoft Corporation//---------------------------------------------------------------------------//// Global shader.  Handles all cases//#include <Common.fxh>#include <MaterialDecl.fxh>#include <D3D9Texture.fxh>#include <FuncLibrary.fxh>string XFile = "sjlcube.x";#if defined(SHD_FRESNEL_DIFFUSE) || defined(SHD_FRESNEL_SPECULAR) || defined(SHD_FRESNEL_ENV)#define PS_USES_FRESNEL true#endif#if defined(PS_USES_FRESNEL) || defined(SHD_ENV) || defined(SHD_SPECULAR)#define PS_NEEDS_EYE_DIR true#endif...	{		#include <DefaultStates.fxh>		VertexShader = compile vs_2_0 VS_ShadowMap();		PixelShader  = compile ps_2_0 PS_ShadowMap();		AlphaBlendEnable = (State_ShadowAlphaBlendEnable);		SrcBlend			 = SrcAlpha;		DestBlend			= InvSrcAlpha;	}#endif...}

Boy, I wish I'd said that!Simply put, DX10 for XP is snake oil of the finest variety. It doesn't work and it would gain you nothing if it did.DJ

Share this post


Link to post
Share on other sites

Well, like it or not! Whatever this DX10-###### is, it did 1 ting for me: Fs9 boost big time. Try it yourself, or just forget about it Batting%20Eyelashes.gif Arvid

Share this post


Link to post
Share on other sites