将几何着色器片段添加到MShaderInstance

时间:2016-12-14 09:17:23

标签: c++ maya maya-api

Maya(MRenderItem)中的渲染项目由着色器(MShaderInstance)绘制,其中包含在绘制之前编译为一个大着色器的片段(gpu着色器片段)。 MShaderInstance允许您添加自己的片段,首先通过xml声明它们。 我的问题是,如何将几何着色器插入MShaderInstance? 我知道它们是受支持的,因为xml架构有一个元素geometryShader,但是没有关于如何实际定义自己的示例。 例如,我有这个简单的几何着色器,仅用于测试,实际上甚至不生成任何东西:

    layout (points) in;
    layout (points) out;
    layout (max_vertices = 1) out;

    void main()
    {
        gl_Position = gl_in[0].gl_Position;
    }

MShaderInstance的相关方法是addOutputFragmentaddInputFragment。它们都不适用于我的情况(都返回失败代码)。

我也找不到sdk中这个特殊情况(geom着色器)的任何例子。 任何帮助表示赞赏。

0 个答案:

没有答案