fragment-shader

    4熱度

    2回答

    我有一個NV21(YUV420)的攝像頭,我在申請上有一個片段着色器,以獲得視頻一些濾鏡效果和YUV到RGB轉換。 除了糟糕的表現之外,一切都在起作用。 我的片段着色器有點沉重,因爲它有很多textur2D()調用。 原始幀分辨率爲480×640像素,並且我發現,如果我視口設置爲這種原始大小(而非全屏大小),這是工作好流利。 所以基本上我需要先渲染幀並在frameBuffer(FBO)中用原始大小

    0熱度

    1回答

    我收到以下錯誤,當我嘗試鏈接到我的片段着色器, QGLShader ::編譯(片段):0(4):錯誤C0000:語法錯誤,意外 '' ,期待在標記「::」處出現「。」。 我只是想實現一個簡單的片段着色器,將顏色設置爲綠色。 我的頂點着色器的代碼(這是工作的)文件名shader.vert #version 430 in layout(location=0) vec2 position; vo

    0熱度

    1回答

    我試圖讓我的GUI可以在遊戲中更改顏色,而無需加載新紋理。這是我現在如何實施的。 我得到的片段着色器使用Sampler2D,然後用一些統一的變量的幫助紋理的顏色, uniform int maxSwapColors; uniform bool colorSwap; uniform vec3 textureColors[3]; uniform vec3 toBeColors[3]; 我檢查

    1熱度

    1回答

    我想過濾一個紋理(沒有mipmapping),並將過濾後的關卡寫入3D紋理。我已經創建了一個三維紋理與下面的代碼: glGenTextures(1, &outTexture); glBindTexture(GL_TEXTURE_3D, outTexture); glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

    0熱度

    1回答

    我想繪製一個使用2個三角形的紅色矩形。我可以清除屏幕,但我無法讓我的三角形呈現。我究竟做錯了什麼? Solid.vert着色器: #ifndef STRINGIFY #define STRINGIFY(a) #a #endif char *vsSolid = STRINGIFY( uniform mat4 Projection; uniform mat4 ModelView; at

    0熱度

    1回答

    我寫了一個着色器程序,它並沒有在屏幕上畫任何東西,我想這是因爲我可能錯過了一些東西,我不知道如何將頂點的位置傳遞給它。 我的頂點着色器: #version 130 in vec2 vertexPosition; void main() { gl_Position.xy=vertexPosition; gl_Position.z=-1.0; gl_Positi

    1熱度

    1回答

    我有一個場景,渲染到屏幕沒有問題,但是當我嘗試渲染紋理時,它將全部爲黑色。我想我在準備紋理時錯過了一些階段。 代碼: int[] FBO_main = new int[1]; int[] textureId = new int[1]; int[] renderBufferId = new int[1]; // create framebuffers GLE

    4熱度

    2回答

    我正在使用2D中的延遲照明技術,使用幀緩衝區來使用GL_MAX混合等式累積光源。 這是我得到的渲染一個光源時(幾何是一個沒有質感四,我只使用了着色片段着色器)到我的緩衝區: 這正是我想要的 - 從光源衰減。然而,當兩個光源相互靠近,當它們重疊,他們似乎在那裏它們滿足以產生較低的RGB值,如下所示: 爲什麼會有兩者之間的暗線?我期待與GL_MAX混合方程,他們將平滑融入彼此,使用每個位置的片段的最大

    0熱度

    1回答

    我在使用OpenGL片段着色器試圖計算Perlin噪聲時遇到了一個問題。 結果是塊狀,根本不連續。 我試圖使用這種實現的: 我想不通的問題,這裏是我的片段着色器代碼: #version 330 core out vec3 color; in vec4 p; in vec2 uv; // random value for x gradiant coordinate float randx

    0熱度

    1回答

    我有一個綁定到gl_texture_external_oes格式的表面紋理。它在直接渲染方面效果很好。 現在我想將我的 片段着色器拆分爲2,並在屏幕之間渲染2D紋理。 我可以做到這一點;但有一個問題。 假設我想在第一個着色器中執行RGB-YUV轉換,然後在第二個着色器中執行YUV-RGB轉換。 (只是一個例子) 我的2通道着色器看起來像這樣。 private final String mFragm