【问题标题】:directx9, can i use only vertex shader without pixel shader?directx9,我可以只使用没有像素着色器的顶点着色器吗?
【发布时间】:2016-06-11 00:50:11
【问题描述】:

我的游戏程序使用 directx9。

出于某种原因,我尝试关闭像素着色器,但我仍想使用顶点着色器。它适用于我的计算机,但我不确定是否适用于所有计算机。

有可能吗?

有些玩家对我的游戏有延迟,他们的显卡不如我推荐的那么好。我认为我使用像素着色器的着色器效果是一个原因。

【问题讨论】:

    标签: shader directx-9


    【解决方案1】:

    对于 Direct3D 9,如果您“没有设置像素着色器”,那么您使用的是旧版固定功能管道(也称为“纹理阶段状态”)。在具有 Direct3D 9 的旧着色器模型中,您可以将传统管道与可编程管道混合使用。

    Shader Model 3.0 更加严格。您不能将旧的固定功能管道与 Shader Model 3.0 shader 混合使用。

    使用 Direct3D 10 或更高版本,没有传统的固定功能管道,您必须至少提供 VS 和 PS 进行渲染。

    现代 GPU 没有任何硬件来实现传统的固定功能管道。相反,它们从状态中即时创建顶点和像素着色器,因为它们是纯可编程硬件。

    【讨论】:

    • 不正确,像素着色器可以省略(例如,对于仅深度通道)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多