glsl

    1熱度

    1回答

    我在寫圖形着色器程序。除了顏色變化之外,我寫了所需的一切。在循環中,有一些計數器變量傳遞給着色器,我必須將其顏色從白色改變爲橙色。我有什麼改變來實現這個?

    0熱度

    1回答

    我正在試驗渲染器。我想要的是寫一個顏色緩衝區和一個正常的緩衝區到兩個單獨的紋理。我弄清楚了這一部分。 但是,顏色緩衝區應該是兩個紋理的組合。這應該做的伎倆: glActiveTexture(GL_TEXTURE0_ARB); glEnable(GL_TEXTURE_2D); g_Tex->Bind(); glActiveTexture(GL_TEXTURE1_ARB); glEnable

    0熱度

    2回答

    我在GLSL紋理地獄:我在片段着色器中加載統一sampler2D變量中相同大小的4種不同紋理,並嘗試使用不同的紋理座標訪問它們: uniform sampler2D image0, image1, image2, image3; varying highp vec2 texCoord; void main() { highp vec2 tc = vec2(texCoord.x, mod(

    12熱度

    4回答

    是否可以使用着色器來計算某些值,然後將它們返回以供進一步使用? 例如,我將網格向下發送到GPU,並提供一些有關如何修改它的參數(更改頂點的位置),並收回生成的網格?我認爲這是不可能的,因爲我沒有看到從着色器到CPU的通信變量。我使用GLSL,因此只有統一的屬性和不同的屬性。我應該使用屬性還是制服,它們在渲染後是否仍然有效?我可以更改這些變量的值並將它們讀回CPU中嗎?有在GPU中映射數據的方法,但

    1熱度

    1回答

    將現有深度緩衝區轉換爲深度紋理或GLSL可以使用的任何東西的最簡單方法是什麼? 是否可以製作一個使用深度緩衝區的glsl着色器,並且可以「按原樣」使用它,而無需修改原始渲染的完成方式(例如,修改幀緩衝區對象以渲染到另外的深度緩衝區等)

    1熱度

    1回答

    我目前有一個R8G8B8浮點渲染目標,並希望將其用作R24目標。該代碼 //cg out = float4(v, v, v, v); 似乎0和1 什麼是寫的正確方法/讀取到CG浮點紋理之間夾住了呢?

    2熱度

    2回答

    是否有任何快速(用於性能)的方式來檢測glsl中是否多段採樣碎片,但是在第二遍(淺)通過使用第一遍渲染後的紋理。或者opengl如何存儲關於多重採樣的信息?

    1熱度

    1回答

    我不明白爲什麼當我繪製x座標等於零的頂點緩衝區時,以下兩個着色器會產生不同的結果: 第一: attribute vec3 position; void main() { gl_Position = vec4(position.x, position.y, 0.0, 1.0); } 第二: attribute vec3 position; void main() {

    4熱度

    1回答

    我剛剛學習OpenGL並遇到一些問題。我正在使用OpenGL 3.0和GLSL 1.2。 我有一個矩陣數組,我想選擇性地應用到不同的頂點。每次我想指示一個索引時,我都不想複製一個矩陣,而是希望傳入一個整數作爲索引並使用該整數來選擇我想要的矩陣。然而,當我嘗試編譯我着色器,我得到以下錯誤: ERROR: 0:5: 'attribute' : cannot be bool or int 我會很感激

    2熱度

    1回答

    最好的方法是什麼? 我試圖用一個片段着色器看起來像這樣幼稚地做到這一點: varying lowp vec4 color; void main() { lowp vec4 alpha = colorVarying.wwww; const lowp vec4 one = vec4(1.0, 1.0, 1.0, 1.0); lowp vec4 oneMinusAlph