• Advertisement
Sign in to follow this  

ID3DXEffect DX90c_25 ?

This topic is 4614 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all, I was fooling around with the new SDK and have a few questions :) If i call GetPass on a Technique I get the D3DXPASS_DESC. This gets me a pointer to the pVertexShaderFunction and pPixelShaderFunction, BUT it dose not tell me the size of the pointers :( What I want to do, is ::GetPixelShader / ::GetVertexShader , how do I get the Handle of the PS/VS inside a Pass in a Technique ? Its easy to get the Handle if the PS/VS is a top-level parameter, but I would like to be able to extract it from within a Technique.

Share this post


Link to post
Share on other sites
Advertisement
The size of a pointer is always the same.

GetPixelShader() and GetVertexShader() return LPDIRECT3DPIXELSHADER9 LPDIRECT3DVERTEXSHADER9 respectively.

ace

Share this post


Link to post
Share on other sites
Dont think you get what i meen :

When calling GetPass you get a DWORD pointer to the pVertexShaderFunction and the pPixelShaderFunction , I asume this is a pointer to the ShaderFunctionDATA ?
As far as I can see its not a pointer to the Handle.

I want to extract the Handle to the PS/VS from a Pass within a Technique.
I Can't call GetPixelShader() and GetVertexShader() without knowing the Handle.

Share this post


Link to post
Share on other sites
I'm still not 100% on what you mean, sorry:

I'll have another guess.

If you want a handle to the pixel shader do this:

LPDIRECT3DPIXELSHADER9 p;
m_effect->GetPixelShader( "Get1", &p );

Sorry again if this is not what you are after, im new to shaders myself.

ace

Share this post


Link to post
Share on other sites
Mythar - do you want to get the handle of the shader of a certain technique to use or just to find out which ones are used for the technique? All shaders in an effect are top-level; they are shared among the techniques.

Unless of course the shader is compiled in different versions in different techniques. Then I don't know what happens.

Share this post


Link to post
Share on other sites
Quote:
Original post by Drakex
Unless of course the shader is compiled in different versions in different techniques. Then I don't know what happens.


anyone know ?

I'll try to define my question better :

How do I get the Handle of a PS/VS in a Pass within a Technique, WHEN the PS/VS is NOT top-level. ?

Quote:
Mythar
If i call GetPass on a Technique I get the D3DXPASS_DESC.
This gets me a pointer to the pVertexShaderFunction and pPixelShaderFunction,
BUT it dose not tell me the size of the pointers :(


These pointers are pointing at the compiled PS/VS Data ?
Do i need the size or dose the data end when the last 4 bytes are : FF FF 00 00 ?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement