Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


Fx composer mouse over error


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 dAND3h   Members   -  Reputation: 214

Like
0Likes
Like

Posted 27 November 2012 - 11:50 AM

I get the following error:
Posted Image

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

Sponsor:

#2 dAND3h   Members   -  Reputation: 214

Like
0Likes
Like

Posted 28 November 2012 - 11:11 AM

Solved. There was a problem declaring the texture with 8bit channels. Changing to 16bit made it work.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS