在學習OpenGL時,我在尋找可以評估各種圖像類型的圖像閱讀器,如".png", ".bmp", ".tga", ".dds", ...
。我的計劃是提取PARAMS像height
,width
,type
圖像文件,並與下面樣的功能設置:OpenGL通用圖像閱讀器和GLFW(glfwReadImage,glfwLoadTexture2D)支持各種圖像格式
glTexImage2D(GL_TEXTURE_2D, 0, <color format>, <width>, <height>,
0, <color orientation>, <data type>, <actual data>);
我通過CImg library和stb_image.c去了。但是,我無法得到如widhth
,height
,type
等參數。
這似乎是<GL/glfw.h>
一個很好的框架。我有一個印象是,它只是用來加載使用以下功能".tga"
格式:
int glfwLoadTexture2D(const char *name, int flags);
它支持所有格式?
另外,我在附近看到下面的函數。如果有人能夠介紹,那麼這將是一個獎金。
int glfwReadImage(const char *name, GLFWimage *img, int flags);
void glfwFreeImage(GLFWimage *img);
其中:
typedef struct {
int Width, Height;
int Format;
int BytesPerPixel;
unsigned char *Data;
} GLFWimage;
如果GLFW不支持所有格式,那麼有沒有剛剛得到上述GLFWimage
像PARAMS任何庫,並允許我們單獨設置它通過glTexImage2D
。
GLFW呢,這個問題中提到的函數有用嗎? – iammilind
你是正確的,glfwReadImage()只加載TGA文件。再一次,只支持一種圖像格式不是世界末日;離線圖像格式轉換工具是一毛錢一打。但是如果你只支持一種格式,我仍然推薦使用TGA的DDS。 – postgoodism