Я разрабатываю программу GUI, используя Golang.
И я использую im gui - go framework для моего GUI.
Теперь я возникла проблема с отображением цветовой текстуры.
Я загрузил изображение из файла и сделал изображение в виде текстуры, а затем прикрепил его к GUI.
Изображение определенно цветное, но оно отображает оттенки серого gui.
Есть ли лучшее решение для этой проблемы?
Спасибо.
Фрагментный шейдер OpenGL:
uniform int ImageType;
uniform sampler2D Texture;
uniform sampler2D Palette;
in vec2 Frag_UV;
in vec4 Frag_Color;
out vec4 Out_Color;
void main()
{
Out_Color = vec4(Frag_Color.rgb, Frag_Color.a * texture( Texture, Frag_UV.st).r);
}
Текстура изображения:
gl.BindTexture(gl.TEXTURE_2D, texture)
width := int32(bm.W)
height := int32(bm.H)
dataPtr := gl.Ptr(bm.Data)
gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR)
gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR)
gl.PixelStorei(gl.UNPACK_ROW_LENGTH, 0)
gl.TexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, int32(width), int32(height),
0, gl.RGBA, gl.UNSIGNED_BYTE, dataPtr)
введите описание изображения здесь