3
我想在我的GLSL着色器中執行一些整數運算(除法和模),但它們似乎並不工作,我讀到我需要啓用EXT_GPU_shader4
才能獲得整數運算。然而,我找不到的是如何做到這一點。是線路:啓用OpenGL擴展
#version 330 core
#extension GL_EXT_GPU_SHADER4 : require
夠了嗎?或者我需要以某種方式使用C API來啓用它?目前我在編譯過程中遇到了一個錯誤,那就是不支持該擴展。我在GeForce 670上;一張相當近的牌。
這是有效的,但是是多餘的。版本330已包含整數支持。如果擴展名不可用,使用「require」而不是「enable」會導致錯誤。請注意,如果內核已經支持擴展,則不必支持該擴展(當然,它不需要受到支持,但即使該卡支持整數操作,並且即使支持包含該功能的核心版本,實現並不需要公開該擴展)。 – Damon
糾正我,如果我錯了,但EXT_gpu_shader4的功能已經可用:'#version 150 core'。 –
是的,你們是對的。謝謝!事實證明我的結果都是瘋狂的,因爲LWJGL(或OpenGL?)正在將我的緩衝區從int - > float轉換,並且我有一個綁定到緩衝區的'int int var'。所以我試圖對浮點數的二進制表示進行整數運算,它是從我原來的輸入數據轉換而來的... – atanamir