0
我使用的是Haskell和OpenGL。 OpenGL的有一個方式來加載變量使用一組統一功能:如何根據參數的類型使用函數?
glUniform1i location intValue
glUniform1f location floatValue
glUniform2i location intValue1 intValue2
... etc.
我想翻譯成更地道哈斯克爾這一點。我想編寫一個函數:
uniform :: String -> a -> IO()
uniform location value = ...
我的問題是,我所說的功能是依賴於a
值。有沒有辦法做到這一點,而不寫n不同的功能?定義這樣的功能
請注意,這與OpenGL Haskell綁定當前的做法非常接近:http://hackage.haskell .org/package/OpenGL-2.9.1.0/docs/Graphics-Rendering-OpenGL-GL-Shaders-Uniform.html#v:uniform –
@ ThomasM.DuBuisson我已經看過一些C界面,圖書館,但我沒有想到要找到這個。謝謝!編輯:並感謝,Odomontois。我不確定自從它開始偏離標準的OpenGL(太多?)以後,是否會走這條路。但我會以其他形式使用這個想法。 – sdasdadas