[英]getting texture picture for opengl through resource file(c++/visual studio 2008)
在Visual Studio 2008中創建新的opengl項目時,將獲得三個文件夾:一個用於頭文件,一個用於源文件,一個用於資源文件。
將jpg圖片放入資源文件中,然后鏈接到該圖片以將其加載為紋理是否可行? 我想將jpg圖片作為紋理加載,但是我想通過資源文件來實現,以便調試exe包含那些文件。
如何鏈接到放入資源文件中的圖片?
在項目的resource view
,右鍵單擊yourproject.rc
。 單擊Import...
按鈕。 選擇要插入的JPEG文件。 當要求您命名類型時,將其命名為“ JPEG”。 從那里,JPEG將被編譯為可執行文件。
要加載它,可以使用FindResource
獲取該資源的句柄,然后使用LoadResource
將其加載到內存中,然后使用LockResource
獲取其地址。 從那里,您可以使用普通的JPEG解碼器將其轉換為可以用作紋理的形式。 或者,您可以下載DevIL來為您處理幾乎所有這些。
我相信,如果將紋理鏈接為資源,它將存儲在.exe
文件中 。 這不是一個常用的解決方案-通常您希望將資源存儲在.exe
旁邊的單獨文件夾(或存檔/ VFS文件)中-然后在運行程序后將從該文件中加載紋理。 這也意味着,只要替換或修改紋理,就不必重新編譯大的.exe文件。 因此,我對第一個問題的回答是-不,這實際上是不可行的,除非您需要在單個.exe
中包含整個資源的應用程序。
如果您喜歡文件的后一種選項(我建議),那么使用文件中紋理的最簡單方法是使用諸如SOIL之類的加載器庫,該庫將OpenGL紋理從任何格式的加載簡化為一行代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.