Bonjour à tous.

Avec OpentTK, Visual 2015 et en C# je tente de charger une texture avec un tableau de ushort.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 
private void CreateTextureData()
        {
            int W = 512;
            int H = 512;
 
            ushort[] Data = new ushort[ W * H  ];
 
            ushort Color = 32768;
            int Index = 0;
            for ( int l = 0; l < H; l++ ) {
                Color = 0;
                for ( int p = 0; p < W; p++ ) {
                    Data[ Index++ ] = Color;
                    Color++;
                }
            }
 
            GL.Enable( EnableCap.Texture2D );
 
            GL.TexParameter( TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, ( int )TextureMinFilter.Nearest );
            GL.TexParameter( TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, ( int )TextureMinFilter.Nearest );
 
 
            GL.GenTextures( 1, out m_TextureData );
            GL.BindTexture( TextureTarget.Texture2D, m_TextureData );
 
            GL.TexImage2D( TextureTarget.Texture2D, 0, PixelInternalFormat.R16f, W, H, 0, OpenTK.Graphics.OpenGL.PixelFormat.Luminance, PixelType.UnsignedShort, Data );
            Console.WriteLine( "Err : " + GL.GetError().ToString() ); ;
 
            GL.BindTexture( TextureTarget.Texture2D, 0 );
        }
Malheureusement je n'obtiens qu'une image noire !!!! (mais pas d'erreur)

A noter que si je remplace PixelType.UnsignedShort par PixelType.UnsignedByte j'obtiens un affichage. Un dégradé de rouge avec des bandes noires (logique) mais une image quand même.


Je tourne en rond depuis des heures....

Merci pour vos idées.

Lionel