SetTechnique does more then I want...

Started by
0 comments, last by cozzie 11 years, 2 months ago

Hi,

Through profiling with PIX, I found out that a specific techniqe in my shader is executed, although I don't call it from my code.

I have a function in my code that sets a technique:


bool CD3d::SetShaderTechnique(CD3dscene *pD3dscene, int pEffectIndex, char *pTechnique)
{
	if(D3DERR_INVALIDCALL == pD3dscene->mEffect[pEffectIndex]->SetTechnique(pTechnique)) return false;
	return true;
}

Searched through whole source if I use SetTechnique somewhere else, not the case.

When I run my code and debug on this line, it's only called with technique 'OpaqueShader', but in PIX I see the render states, settechnique etc. of my 2nd technique in the shader. I also overwritten 'pTechnique' but 'OpaqueShader' to test, no difference. Filling in 'testbla' I get correct error handling that the technique doesn't exist.

Am I overseeing something, is D3DX effect doing somethin I don't know?

Here are the 2 techniques:


/***********************************************************/
/**          OPAUQE SHADER, REGULAR MESHES         *********/
/***********************************************************/

technique OpaqueShader
{
    pass P0              
    {
        AlphaBlendEnable    = FALSE;
                              
        VertexShader = compile vs_2_0 VS_function();
        PixelShader = compile ps_2_0 PS_function();
    }  
}

/***********************************************************/
/**   BLENDING SHADER, MESHES WITH BLENDED TEXTURES  *******/
/***********************************************************/

technique BlendingShader
{
    pass P0              
    {
        AlphaBlendEnable    = TRUE;
        SrcBlend            = SRCALPHA;
        DestBlend           = INVSRCALPHA;
        AlphaOp[0]          = SelectArg1;
        AlphaArg1[0]        = Texture;
                               
        VertexShader = compile vs_2_0 VS_function();
        PixelShader = compile ps_2_0 PS_function();
    }  
}

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

Advertisement
Found it, i was running a 2nd effect which had one of the similar states as the technique i didn't expect in the initial/1st one

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

This topic is closed to new replies.

Advertisement