fragment-shader

    1熱度

    1回答

    我試圖在亮度值介於0和4000之間的情況下在畫布上呈現亮度值的矩陣作爲圖像。我使用2D浮點紋理這樣做,因爲我聽說他們提供了[-inf,inf]之間的範圍。 gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, ct.columns, ct.rows, 0, gl.LUMINANCE, gl.FLOAT, new Float32Array(ct.grid[i])

    2熱度

    2回答

    我試圖「讀取」附加到第一個FBO(fboA)的紋理,修改它(使用片段着色器)並渲染到第二FBO(fboB)。 我無法弄清楚,所有我得到的是黑色或白色的紋理。 下面是代碼: glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboB); glEnable(GL_TEXTURE_RECTANGLE_ARB); glActiveTexture(GL_TEXTURE0)

    0熱度

    1回答

    爲了說明這一點,我試圖複製本文中描述的水渲染算法http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter19.html。部分算法需要將alpha蒙板渲染到幀緩衝區中,以便稍後用於從最初渲染的場景進行紋理採樣。總之,算法看起來像這樣: 渲染場景幾何圖形到紋理小號,跳過折射網格和與α-取代它掩蓋 通過與擾動IF採樣紋理小號渲染折射目這是阿爾法

    0熱度

    1回答

    我試圖創建一個片段着色器,它將完成與photoshop級別輸出滑塊相同的工作。我想在特定頻道上進行此操作(在這種情況下爲藍色)。 我有如下代碼: varying highp vec2 textureCoordinate; uniform sampler2D inputImageTexture; #define GammaCorrection(color, gamma) pow(color

    0熱度

    1回答

    我使用我的alpha通道作爲8位整數索引來處理與混合無關的事情,所以我想仔細控制位值。特別是,我需要一個具有特定Alpha值的FBO渲染紋理中的所有像素來匹配着色器中具有相同Alpha值的所有像素。經驗教會我在比較浮點值的時候要格外小心...... 雖然使用浮點數設置顏色值vec4可能不會引起我的問​​題,我的理解是即使是半精度的16位浮點數也會能夠區分所有8位整數(0-255)值。但我寧願在片段

    7熱度

    1回答

    我正在嘗試爲Three.js製作最簡單的自定義着色器,但我還沒弄清楚如何使其工作。我使用着色器的對象完全不出現。 在我的網頁HTML我有: <script id="simplefs" type="x-shader/x-fragment"> void main(void) { gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); } <

    0熱度

    1回答

    的我有一個邊緣檢測着色器上都呈現猴子和我的HTC Desire HD,其工作完全正常。但是,它不適用於我的LG 3D P920。這裏是着色器: 總之,我將中央像素和它周圍減去8個值。紋理是512x512。 precision highp float; varying vec2 vTextureCoord; uniform sampler2D sTexture; vec4 edges(v

    5熱度

    1回答

    我想在Unity中創建一個線框頂點/片段着色器。根據this paper似乎是可能的。一般的想法似乎是,您將頂點着色器中計算的距離向量傳遞給片段着色器中的每個片段,根據其在多邊形內的位置確定用什麼亮度繪製線框線。 從我讀過的其他東西看,雖然看起來您只能訪問頂點着色器中的單個頂點。我需要訪問頂點的多邊形中的所有相鄰頂點。這篇文章似乎意味着幾何着色器不是必需的,這很好,因爲Unity目前還不支持它們。

    5熱度

    1回答

    我試圖在片段着色器中創建超級簡單的Perlin噪聲雲,使用發現的噪聲函數here。 在低八度我的輸出是,因爲缺乏一個更好的詞,'blobby'。我只是想平滑這些骯髒的區域,並且有平滑的噪音,但它比一個八度音程更細一些。 片段着色器: #ifdef GL_ES precision mediump float; #endif uniform float time; uniform vec2

    0熱度

    1回答

    所以我有一種Z字形圖案,如下所示。 ,其由下面的片段着色器創建的: uniform float time; varying vec2 texture_coord; void main() { float wav[10] = float[10](0,.1,.2,.1,0,-.1,-.2,-.1,0,.1); //gl_FragColor = gl_Color; f