Exemplo n.º 1
0
        protected virtual void BindBillboardTexture(DeviceContext context, ShaderBase shader)
        {
            var buffer = GeometryBuffer as IBillboardBufferModel;

            shader.BindTexture(context, shaderTextureSlot, buffer.TextureView);
            shader.BindSampler(context, textureSamplerSlot, textureSampler);
        }
        /// <summary>
        /// Actual bindings
        /// </summary>
        /// <param name="context"></param>
        /// <param name="shader"></param>
        private void OnBindMaterialTextures(DeviceContext context, ShaderBase shader)
        {
            int idx = shader.ShaderType.ToIndex();

            for (int i = 0; i < NUMTEXTURES; ++i)
            {
                if (TextureResources[i] == null)
                {
                    continue;
                }
                shader.BindTexture(context, TextureBindingMap[idx][i], TextureResources[i]);
                shader.BindSampler(context, SamplerBindingMap[idx][i], SamplerResources[i]);
            }
            if (RenderShadowMap)
            {
                shader.BindSampler(context, SamplerBindingMap[idx][NUMSAMPLERS - 1], SamplerResources[NUMSAMPLERS - 1]);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Actual bindings
        /// </summary>
        /// <param name="context"></param>
        /// <param name="shader"></param>
        private void OnBindMaterialTextures(DeviceContext context, ShaderBase shader)
        {
            if (shader.IsNULL)
            {
                return;
            }
            int idx = shader.ShaderType.ToIndex();

            for (int i = 0; i < NUMTEXTURES; ++i)
            {
                if (TextureResources[i].TextureView == null)
                {
                    continue;
                }
                shader.BindTexture(context, TextureBindingMap[idx][i], TextureResources[i]);
                shader.BindSampler(context, SamplerBindingMap[idx][i], SamplerResources[i]);
            }
        }