使用OpenGLEs for Android绘制Pixel

使用OpenGLEs for Android绘制Pixel,第1张

概述如何使用OpenGlEs为Android绘制像素(2D视图)?在用于绘画的时候很简单draw(Canvascanvas){...}所以使用它我们绘制canvas.drawPoint(i,j,paint);但是在OpenGlEs中,我还没有任何类似的功能.请回复预先感谢解决方法:GLES20Renderer.programLight=GLES20.gl

如何使用OpenGlEs为Android绘制像素(2D视图)?

在用于绘画的时候很简单

draw(Canvas canvas){   ...} 

所以使用它我们绘制

canvas.drawPoint(i, j, paint);

但是在OpenGlEs中,我还没有任何类似的功能.

请回复
预先感谢

解决方法:

    GLES20Renderer.programlight = GLES20.glCreateProgram();    int vertexShaderlight       = GLES20Renderer.loadShader(GLES20.GL_VERTEX_SHADER, GLES20Renderer.vertexshadercodelight);    int fragmentShaderlight     = GLES20Renderer.loadShader(GLES20.GL_FRAGMENT_SHADER, GLES20Renderer.fragmentshadercodelight);    GLES20.glAttachShader(GLES20Renderer.programlight, vertexShaderlight);    GLES20.glAttachShader(GLES20Renderer.programlight, fragmentShaderlight);    GLES20.gllinkProgram(GLES20Renderer.programlight);    uPLocationlight             = GLES20.glGetUniformlocation(GLES20Renderer.programlight, "uP");    uVpositionLocationlight     = GLES20.glGetUniformlocation(GLES20Renderer.programlight, "uVposition");    GLES20.gluseProgram(GLES20Renderer.programlight);    GLES20.gluniform4f(uVpositionLocationlight, lightPosInEyeSpace[0], lightPosInEyeSpace[1], lightPosInEyeSpace[2], lightPosInEyeSpace[3]);    GLES20.gluniformMatrix4fv(uPLocationlight, 1, false, ProjectionMatrix, 0);    GLES20.glDrawArrays(GLES20.GL_POINTS, 0, 1);private static final String vertexshadercodelight =         "uniform vec4 uVposition;                   \n"    +   "uniform mat4 uP;                           \n"    +   "voID main(){                               \n"    +   " gl_PointSize = 15.0;                      \n"    +   " gl_position = uP * uVposition;            \n"    +   "}                                          \n";private static final String fragmentshadercodelight =         "#ifdef GL_FRAGMENT_PRECISION_HIGH          \n"    +   "precision highp float;                     \n"    +   "#else                                      \n"    +   "precision mediump float;                   \n"    +   "#endif                                     \n"    +   "voID main(){                               \n"    +   " gl_Fragcolor = vec4(1.0,1.0,1.0,1.0);     \n"    +   "}                                          \n";

总结

以上是内存溢出为你收集整理的使用OpenGLEs for Android绘制Pixel全部内容,希望文章能够帮你解决使用OpenGLEs for Android绘制Pixel所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存