簡體   English   中英

通過資源文件獲取opengl的紋理圖片(C ++ / Visual Studio 2008)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM