Sign in to follow this  


Recommended Posts

Hey guys,


When using D3DFMT_R16F (or another format that uses one channel) what type should I return from my pixel shader ?


Both of these seem to work the same:


float value;


return float4(value,0,0,0);

return value;


It seems more logical to use the second one but the pixel shader function returns a float4 so I don't know.




Share this post

Link to post
Share on other sites

Your pixel shader doesn't have to return a float4.


If the render target is a single float then the other values will be discarded, but there wont be any error. You can also just return a float if needed.

eg (HLSL):

float myPixelShder() : SV_TARGET0
    return 0.0f;



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this