• Advertisement
Sign in to follow this  

[D3D10] Fixed function is gone but...

This topic is 3381 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

...having ported most of my engine to D3D10 I was wondering how would I deal with alpha channels and such, and found out - as I expected - that I need to code my own alpha functions in the pixel shader. So goodbye BLEND_FUNCs, ONE_MINUS, SRC_DEST etc. etc. Then I wondered: What about culling? And the depth test? And I found this:
typedef struct D3D10_RASTERIZER_DESC {
    D3D10_FILL_MODE FillMode;
    D3D10_CULL_MODE CullMode;
    BOOL FrontCounterClockwise;
    INT DepthBias;
    FLOAT DepthBiasClamp;
    FLOAT SlopeScaledDepthBias;
    BOOL DepthClipEnable;
    BOOL ScissorEnable;
    BOOL MultisampleEnable;
    BOOL AntialiasedLineEnable;
} D3D10_RASTERIZER_DESC;

So in the end some stage of the pipeline IS still "fixed", or am I wrong? I thought that finally I could have grouped renderings by shader technique only, but it seems I have to take into account different rasterizer states too. Am I right? And by the way: what about Depth test and Z-writes? How should I deal with those? Plese help me shedding some light on my confusion and... thanks again.

Share this post


Link to post
Share on other sites
Advertisement
When one speaks of a "fixed function pipeline", one is generally referring to the vertex processing and fragment shading stages. Certain portions of the pipeline are still implemented with dedicated circuitry, or otherwise are not exposed in a text-programmable manner by the API. See the description of the "Output merger" in the paper covering the design of D3D10.

Share this post


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

  • Advertisement