不止一次渲染对象

时间:2013-02-12 19:47:10

标签: c++ object rendering shader directx-11

现在我正面临在Directx 11中多次渲染相同对象的问题,因为对象具有:

  • 漫反射着色器
  • 定向照明着色器
  • 纹理着色器

现在最终的颜色应该是以某种方式放在一起的,也许是这样的:

  • 渲染漫反射
  • 渲染纹理
  • 渲染方向

最终颜色=(漫反射+纹理)*照明//虽然不确定

但是如何才能实现这一目标呢?没有EFFECTS FRAMEWORK!

1 个答案:

答案 0 :(得分:0)

可以通过几种方式在DirectX11中实现。首先是制作一个“超级着色器”。这意味着在同一着色器中进行漫反射,纹理和光照。第二种是在运行时使用动态着色器链接并动态链接唯一的漫反射/纹理/光照着色器。 2010年6月的sdk有一个很好的动态着色器链接示例。通常的颜色组合是:

最终颜色=漫反射*纹理*照明