Fx composer mouse over error

Started by
0 comments, last by dAND3h 11 years, 5 months ago
I get the following error:
fail_error.png

Whenever I mouse over the procedural texture on the left. All I am trying to do is render the scene to a full size 32bit texture(A8R8G8B8). Here is the code currently:

#include "include\\Quad.fxh"
float4x4 WorldViewProj : WorldViewProjection;
uniform float4x4 WorldInverseTranspose : WorldInverseTranspose < string UIWidget="None"; >;
FILE_TEXTURE_2D(diffuseTexture,diffuseTextureSampler,"default_color.dds")
DECLARE_QUAD_TEX(sceneTexture,sceneTextureSampler,"A8B8G8R8")
/*****************************************************************/
/*** SAS ****************************/
/*****************************************************************/
float Script : STANDARDSGLOBAL <
//don't need a widget since nothing can be changed
string UIWidget = "none";
//we are rendering the output to a quad and not as 3D "object"
string ScriptClass = "scene";
//this shader does not have represent a pre-process or post-process stage (i.e. we go from input geometry to final output in this shader)
string ScriptOrder = "standard";
//output will ALWAYS be color (other option is "depth"
string ScriptOutput = "color";
//the order in which to execute the techniques (i.e. if DX9 support on GFX only then dont do DX10
string Script = "Technique=Technique?DeferredLightingDX10;";
> = 0.8; //SAS version 0.8

float4 gClearColor
<
string UIWidget = "Color";
string UIName = "Background";
> = {0,0,0,0};
float gClearDepth
<
string UIWidget = "none";
> = 1.0;
struct VS_INPUT
{
float3 Position : POSITION;
float4 texCoords : TEXCOORD0;
float4 Normal : NORMAL;
};
struct VS_OUTPUT
{
float4 Position : POSITION;
float2 texCoords : TEXCOORD0;
float3 WorldNormal : TEXCOORD1;
float depth : TEXCOORD2;
};
struct PS_OUTPUT
{
float4 colorMap : COLOR0;
//float4 normalMap : COLOR1;
//float4 depthMap : COLOR2;
};

VS_OUTPUT mainVS(VS_INPUT In, uniform float4x4 worldViewProjection)
{
VS_OUTPUT Out = (VS_OUTPUT)0;
//convert position to a 1x4 for purposes of 4x4 wvp multiplication
float4 Position = float4(In.Position.xyz,1);
//convert object -> world -> view -> projection space
Out.Position = mul(Position, worldViewProjection);
//convert normals to world space (remember that the WorldInverseTranspose == World matrix without translation or scale)
Out.WorldNormal = mul(In.Normal,WorldInverseTranspose).xyz;
//do nothing with co-ordinates (may have to flip y-ordinate value for FX Composer and Max)
Out.texCoords = In.texCoords;
//depth from camera perspective
Out.depth = Out.Position.z / Out.Position.w;
return Out;
}
PS_OUTPUT mainPS(VS_OUTPUT In)
{
PS_OUTPUT Out = (PS_OUTPUT)0;
//read texture data to be used wirth object and store color for later use as diffuse color in Color = Ambient + Diffuse
Out.colorMap = float4(tex2D(diffuseTextureSampler,In.texCoords).rgb,1);
//convert from (-1,1) to (0,1)
// Out.normalMap = float4(normalize((0.5f*In.WorldNormal + 0.5f)),1);
//Out.depthMap = float4(In.depth, 0,0,1);
return Out;
}
float4 tempPixelShader(QuadVertexOutput In) : COLOR
{

return tex2D(sceneTextureSampler,In.UV).rgba;
}

/****************************************************/
/********** TECHNIQUES - DX10 *********************/
/****************************************************/
RasterizerState DisableCulling
{
CullMode = NONE;
};
DepthStencilState DepthEnable
{
DepthEnable = true;
};
DepthStencilState DepthDisable
{
DepthEnable = false;
DepthWriteMask = ZERO;
};

BlendState DisableBlend
{
BlendEnable[0] = false;
};
technique10 technique0
<
string Script =
"ClearSetDepth=gClearDepth;"
"ClearSetColor=gClearColor;"
"Clear=Color0;"
"Clear=Depth;"
"Pass=GenerateSceneTexture;"
//"Pass=DrawScene;"
;
>
{
pass GenerateSceneTexture
<
string Script =
"RenderColorTarget0=sceneTexture;"
"ClearSetColor=gClearColor;"
"ClearSetDepth=gClearDepth;"
"Clear=Color0;"
"Clear=Depth;"
"Draw=Geometry;";
>
{
SetPixelShader(CompileShader(ps_4_0,mainPS()));// = compile ps_3_0 mainPS();

SetRasterizerState(DisableCulling);

SetDepthStencilState(DepthEnable, 0);
SetBlendState(DisableBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF);
SetVertexShader(CompileShader(vs_4_0,mainVS(WorldViewProj)));// = compile vs_3_0 mainVS();
}

pass DrawScene
<
string Script =
"ClearSetColor=gClearColor;"
"ClearSetDepth=gClearDepth;"
"Clear=Color0;"
"Clear=Depth;"
"Draw=Buffer;";
>
{
SetVertexShader(CompileShader(vs_4_0,ScreenQuadVS2(QuadTexelOffsets)));
SetRasterizerState(DisableCulling);
SetDepthStencilState(DepthDisable, 0);
SetBlendState(DisableBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF);
//SetBlendState(DisableBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF);

SetPixelShader(CompileShader(ps_4_0,tempPixelShader()));
}
}


Anyone had experience with this error? /Can spot the mistake?

Also asked here: http://stackoverflow.com/questions/13589689/fx-composer-scene-not-clearing the original question in that post I already solved
Advertisement
Solved. There was a problem declaring the texture with 8bit channels. Changing to 16bit made it work.

This topic is closed to new replies.

Advertisement