wpf openGL 16비트 grayscale 관련 질문입니다.

저는 wpf GLControl 화면에 16비트 grayscale 위성영상을 보여지게 하고 싶습니다.

일단, openCV를 통해 해당 위성영상을 writeableBitmap로 만드는데 성공했으며, 그 비트맵을 png로 전환하여 저장한 후, QGIS에 올려봤을때도 문제가 없는 것을 확인했습니다.

문제는 openGL로 텍스쳐를 설정할때입니다. 16비트이기 때문에 픽셀 타입을 unsignedShort로 설정하고 각 포맷을 Luminance로 잡았는데도 GLcontrol 화면에는 검은 창만 나오고 있습니다.

해당 텍스쳐를 설정하는데 사용한 코드는 다음과 같습니다.

public static int GenTextureID(WriteableBitmap bmp)
        {

            int id = GL.GenTexture();
            
            GL.BindTexture(TextureTarget.Texture2D, id);
            
            bmp.Lock();
            try
            {
                GL.TexImage2D(TextureTarget.Texture2D
                    , 0
                    , PixelInternalFormat.Luminance16
                    , (int)bmp.Width
                    , (int)bmp.Height
                    , 0
                    , PixelFormat.Luminance
                    , PixelType.UnsignedShort
                    , bmp.BackBuffer);
            }
            finally
            {
                bmp.Unlock();
            }
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge);
            
            GL.BindTexture(TextureTarget.Texture2D, 0);
            
            return id;
            
        }

해당 비트맵을 매트릭스로 전환하여 올려보거나, 비트맵의 매트릭스가 아니라 원본 매트릭스를 가지고 와서 설정했는데도 똑같은 현상이 일어나고 있습니다.

픽셀 타입을 UnsignedByte로 잡고 올리면 영상은 나오지만, 16비트를 8비트로 쪼개서 그런지 색이 살짝 이상하게 나오긴 합니다.

위의 코드에서 어떤 부분이 잘못됐으며 어떻게 수정해야 하는지 알려주시면 감사하겠습니다.

감사합니다.