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]); } }
/// <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]); } }