- 2024-09-30OpenGL ES 着色器(5)
OpenGLES着色器(5)简述着色器是在GPU上运行的程序,它会对每一个点都执行一次程序,并且计算出每个像素需要渲染的颜色,我们主要关注着色器的怎么传递数据,在OpenGLES中,着色器传递数据分几种场景,一种是Cpu传递数据给GPU,一种是顶点缓冲区的数据传递到着色器,还有一种是顶点着色
- 2024-09-09OpenGL ES通过缩小GLSurfaceView来解决纹理贴图变形的问题
一、概述在使用OpenGLES做纹理贴图的时候,图片有小有大。默认情况下纹理是撑满整个屏幕的。这就导致大图会被压扁、小图会被拉伸。这种体验相当不好。解决此问题的其中一种方式是:通过缩小GLSurfaceView的宽或高来解决问题。ps:公式可以看做是固定的,直接使用即可。
- 2024-09-09OpenGL ES使用正交投影来解决图像变形的问题
一、概述上一节实践了,通过改变GLSurfaceView的宽高来解决图像变形的问题。本节将通过正交投影的方式解决图像变形的问题。分三步:1.计算屏幕的宽高比及图像的宽高比varscreenRatio=screenWidth.toFloat()/screenHeightvarimgRat
- 2024-08-13OpenGL ES->GLSurfaceView着色器程序中传递顶点数组和颜色数组绘制渐变三角形
自定义View代码classMyGLSurfaceView(context:Context,attrs:AttributeSet):GLSurfaceView(context,attrs){init{//设置OpenGLES3.0版本setEGLContextClientVersion(3)//设置当前类为渲染器,注册回调接口的实现类