/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="effectName">effectName</param>
        protected ShadedPointCloudEffect(string effectName)
            : base(effectName)
        {
            // Set default values
            PointSize     = 1;
            DiffuseColor  = Color4.White;
            SpecularColor = Color3.White;
            SpecularPower = 0;

            _vertexShaderConstantBufferData   = new VertexShaderConstantBuffer();
            _geometryShaderConstantBufferData = new GeometryShaderConstantBuffer();
        }
        private void EnsureConstantBuffers(DXDevice dxDevice)
        {
            if (_vertexShaderConstantBuffer == null)
            {
                _vertexShaderConstantBufferData = new VertexShaderConstantBuffer();
                _vertexShaderConstantBuffer     = dxDevice.CreateConstantBuffer(VertexShaderConstantBuffer.SizeInBytes, "PointCloud_VertexShaderConstantBuffer");
            }

            if (_geometryShaderConstantBuffer == null)
            {
                _geometryShaderConstantBufferData = new GeometryShaderConstantBuffer();
                _geometryShaderConstantBuffer     = dxDevice.CreateConstantBuffer(GeometryShaderConstantBuffer.SizeInBytes, "PointCloud_GeometryShaderConstantBuffer");
            }
        }