根据IndexBuffer的具体类型获取一个PickableRenderer
Example #1
0
        /// <summary>
        /// 支持"拾取"的渲染器
        /// </summary>
        /// <param name="bufferable">一种渲染方式</param>
        /// <param name="shaderCodes">各种类型的shader代码</param>
        /// <param name="propertyNameMap">关联<paramref name="bufferable"/>和<paramref name="shaderCodes"/>中的属性</param>
        /// <param name="positionNameInIBufferable">描述顶点位置信息的buffer的名字</param>
        ///<param name="switches"></param>
        public PickableRenderer(IBufferable bufferable, ShaderCode[] shaderCodes,
                                PropertyNameMap propertyNameMap, string positionNameInIBufferable,
                                params GLSwitch[] switches)
            : base(bufferable, shaderCodes, propertyNameMap, switches)
        {
            var innerPickableRenderer = InnerPickableRendererFactory.GetRenderer(
                bufferable, propertyNameMap, positionNameInIBufferable);

            this.innerPickableRenderer = innerPickableRenderer;
        }
Example #2
0
        /// <summary>
        /// 支持"拾取"的渲染器
        /// </summary>
        /// <param name="model">一种渲染方式</param>
        /// <param name="shaderCodes">各种类型的shader代码</param>
        /// <param name="attributeMap">关联<paramref name="model"/>和<paramref name="shaderCodes"/>中的属性</param>
        /// <param name="positionNameInIBufferable">描述顶点位置信息的buffer的名字</param>
        ///<param name="switches"></param>
        public PickableRenderer(IBufferable model, ShaderCode[] shaderCodes,
                                AttributeMap attributeMap, string positionNameInIBufferable,
                                params GLSwitch[] switches)
            : base(model, shaderCodes, attributeMap, switches)
        {
            var innerPickableRenderer = InnerPickableRendererFactory.GetRenderer(
                model, attributeMap, positionNameInIBufferable);

            this.innerPickableRenderer = innerPickableRenderer;
        }
Example #3
0
        /// <summary>
        /// 支持"拾取"的渲染器
        /// </summary>
        /// <param name="model">一种渲染方式</param>
        /// <param name="shaderProgramProvider">各种类型的shader代码</param>
        /// <param name="attributeMap">关联<paramref name="model"/>和<paramref name="shaderProgramProvider"/>中的属性</param>
        /// <param name="positionNameInIBufferable">描述顶点位置信息的buffer的名字</param>
        ///<param name="switches"></param>
        public PickableRenderer(IBufferable model, IShaderProgramProvider shaderProgramProvider,
                                AttributeMap attributeMap, string positionNameInIBufferable,
                                params GLState[] switches)
            : base(model, shaderProgramProvider, attributeMap, switches)
        {
            var innerPickableRenderer = InnerPickableRendererFactory.GetRenderer(
                model, attributeMap, positionNameInIBufferable);

            this.innerPickableRenderer = innerPickableRenderer;
        }