Как вернуться к ffp после использования шейдера? В OpenGL вы просто связываете шейдер 0 и то же самое для текстур, это не делается очевидным в DX, независимо от того, насколько я не могу различить.Direct3D 9.0 Возврат к линии с фиксированной функцией
ответ
Если вы используете эффекты, соответствующие вызовы effect->Begin()
и effect->End()
должны сохранять и восстанавливать состояние трубопровода. Если вы используете FFP до Begin()
, это состояние должно быть восстановлено после End()
.
Если вы не используете эффекты, вы можете установить нулевые шейдеры. От MSDN:
Для установки фиксированной функции вершинного шейдера (после того, как установить программируемый вершинный шейдер), вызовите IDirect3DDevice9 :: SetVertexShader (NULL), чтобы освободить программируемые шейдер, а затем вызвать IDirect3DDevice9 :: SetFVF с формат вершин фиксированной функции.
Спасибо, так что это то же самое, что и OpenGL, как я и предполагал! – Goombert
Что вы подразумеваете под обращением? вы никогда не уходите, зачем возвращаться? – zdd