12
首先; OpenGL着色器如何編譯?它們是在CPU還是GPU上編譯的,還是因實現而異?不同的供應商有不同的二進制輸出;如果是這樣,是否可以在另一個GPU上交叉編譯一種GPU類型的二進制文件?我正在開發一款遊戲,我計劃在英特爾GFX芯片,ATI卡和NVidia卡上運行。我寧願只發布着色器的二進制部分,而不必在客戶端計算機上編譯源代碼。這可能嗎?着色器編譯過程如何工作?OpenGL着色器是在GPU或CPU上編譯的嗎?二進制輸出如何因GPU製造商而異?
這是大多數商業遊戲如何做? – IDWMaster
是的。通過混淆着色器的內容(例如,對它進行加密使其不會以明文形式顯示,刪除註釋和重命名局部區域等),可以嘗試使其不那麼明顯,但最終必須具有該源代碼。 – bdonlan