0
我試圖將我的紋理移動到像素的中心,如OpenGL Texture Coordinates in Pixel Space所述,但我正在努力這樣做。我們試圖在紋理中還是屏幕上放置像素?我們如何訪問它們?這裏是我的頂點着色器:使用頂點着色器將紋理移動到像素中心
"uniform mat4 " + ShaderProgramConstants.UNIFORM_MODELVIEWPROJECTIONMATRIX + ";\n" +
"attribute vec4 " + ShaderProgramConstants.ATTRIBUTE_POSITION + ";\n" +
"attribute vec4 " + ShaderProgramConstants.ATTRIBUTE_COLOR + ";\n" +
"attribute vec2 " + ShaderProgramConstants.ATTRIBUTE_TEXTURECOORDINATES + ";\n" +
"varying vec4 " + ShaderProgramConstants.VARYING_COLOR + ";\n" +
"varying vec2 " + ShaderProgramConstants.VARYING_TEXTURECOORDINATES + ";\n" +
"void main() {\n" +
" " + ShaderProgramConstants.VARYING_COLOR + " = " + ShaderProgramConstants.ATTRIBUTE_COLOR + ";\n" +
" " + ShaderProgramConstants.VARYING_TEXTURECOORDINATES + " = " + ShaderProgramConstants.ATTRIBUTE_TEXTURECOORDINATES + ";\n" +
" gl_Position = " + ShaderProgramConstants.UNIFORM_MODELVIEWPROJECTIONMATRIX + " * " + ShaderProgramConstants.ATTRIBUTE_POSITION + ";\n" +
"}"
我是新來的Open GL和剛開始做的頂點着色器的研究,所以任何建議或提示將不勝感激。
編輯:我遇到的問題是,從我的紋理像素縮放時變形。普通紋理看起來很好,但是當它們在4x4矩陣(模型視圖矩陣)上使用scaleM命令進行縮放時,看起來像隨機行和列中有相同像素的兩列或兩行。
你能給出更多關於實際問題的背景嗎?我不知道爲什麼你認爲你需要在頂點着色器中做到這一點。如果你只是想確保紋理在紋理元素的中心進行採樣,那麼我有一個可以幫助你的描述性圖像的舊帖子:http://stackoverflow.com/a/11458037/1236185 – Tim