OpenGL ES 绘制纯色背景

OpenGL ES 绘制纯色背景-猿说编程
OpenGL ES 绘制纯色背景
OpenGL ES 绘制纯色背景
5
限时特惠
19.9
源码为站长亲测可以使用,如果下载地址无效,请直接留言或者联系站长
付费阅读
已售 94
ChatGPT 3.5 国内中文镜像站免费使用啦

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录  >> OpenGL ES 特效

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录  >> OpenGL ES 转场

零基础 OpenGL ES 学习路线推荐 :  OpenGL ES 学习目录 >> OpenGL ES 函数

零基础 OpenGL ES 学习路线推荐 :  OpenGL ES 学习目录 >> OpenGL ES GPUImage 使用

零基础 OpenGL ES 学习路线推荐 :  OpenGL ES 学习目录 >> OpenGL ES GLSL 编程


一.前言

OpenGLES 2.0 则是用于在移动设备上绘制图形的 API 。本文将介绍如何绘制一个纯色背景,并提供完整的代码示例。

1.我们需要安装 OpenGL ESGLSL 着色器语言库。这些库可以通过各种方式获取,例如从官方网站下载或使用包管理器进行安装。


2.我们将创建一个基本的 OpenGL ES 应用程序并添加必要的代码以生成纯色背景,其中关键在于 glClearColor 函数的使用。

/*******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:OpenGL ES 绘制纯色背景
//@Time:2023/03/11 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/*******************************************************************************************/
/*
*描述:设置清屏颜色
*参数:
*    [in] red:红色取值范围 0.0~1.0
*    [in] green:绿色取值范围 0.0~1.0
*    [in] blue:蓝色取值范围 0.0~1.0
*    [in] alpha:透明度取值范围 0.0~1.0
*
*返回值:无
*/
void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

二.完整代码演示

在使用 OpenGL ES glsl 2.0 绘制图形时,我们需要编写着色器程序。在本例中,我们将编写一个简单的着色器程序来绘制任意颜色背景。该着色器程序包括一个顶点着色器和一个片段着色器。

顶点着色器代码如下

/*******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): https://www.codersrc.com/archives/22461.html
//@FileOpenGL ES 绘制纯色背景
//@Time:2023/03/11 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/*******************************************************************************************/

attribute vec4 position;

void main()
{
    gl_Position = position;
}

顶点着色器代码如下:


/*******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): https://www.codersrc.com/archives/22461.html
//@FileOpenGL ES 绘制纯色背景
//@Time:2023/03/11 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/*******************************************************************************************/

precision mediump float;
uniform vec4 color;

void main()
{
    gl_FragColor = color;
}

完整代码如下:


解析:

在本例中,我们定义了一个包含 4 个顶点的矩形,并将其存储在一个 GLfloat 数组中。我们还定义了一个包含6个元素的索引数组,用于绘制这个矩形。

我们创建了一个顶点缓冲对象(VBO)和一个索引缓冲对象(IBO),并将矩形数据存储在这些缓冲区中。我们还使用 glVertexAttribPointer 函数指定了顶点缓冲区的位置属性,并启用了该属性。使用 glUniform4f 函数,我们将颜色向量传递给片段着色器。

接下来,我们设置了背景颜色为黑色,并清除了颜色缓冲区。然后,我们使用 glDrawElements 函数绘制矩形。

最后,我们删除了 VBO、IBO 和着色器程序。

注意,如果在编译时提示找不到头文件或库文件,需要安装相应的开发包。在Windows 系统中可以直接在下面的参考案例中直接获取;在 Ubuntu 系统中,可以使用以下命令安装 OpenGL ES 和 EGL 的开发包:

sudo apt-get install libgles2-mesa-dev libegl1-mesa-dev

三.参考案例

1.Windows OpenGL ES 图像 lookup 色彩调整:源码下载

图片[1]-OpenGL ES 绘制纯色背景 - 猿说编程

2.Windows OpenGL ES 色阶调节:源码下载

Windows OpenGL ES 图像色阶

四.猜你喜欢

  1. OpenGL ES 简介
  2. OpenGL ES 版本介绍
  3. OpenGL ES 2.0 和 3.0区别
  4. OpenGL ES 名词解释(一)
  5. OpenGL ES 名词解释(二)
  6. OpenGL ES GLSL 着色器使用过程
  7. OpenGL ES EGL 简介
  8. OpenGL ES EGL 名词解释
  9. OpenGL ES EGL eglGetDisplay
  10. OpenGL ES EGL eglInitialize
  11. OpenGL ES EGL eglGetConfigs
  12. OpenGL ES EGL eglChooseConfig
  13. OpenGL ES EGL eglGetError
  14. OpenGL ES EGL eglCreateContext
  15. OpenGL ES EGL eglCreateWindowSurface
  16. OpenGL ES EGL eglCreatePbufferSurface
  17. OpenGL ES EGL eglMakeCurrent
  18. OpenGL ES EGL eglSwapBuffer
  19. OpenGL ES EGL eglDestroySurface
  20. OpenGL ES EGL eglDestroyContext
  21. OpenGL ES EGL eglQueryContext
  22. OpenGL ES EAGLContext 和 EGLContext
  23. OpenGL ES OpenGL WebGL EGL WGL 区别
  24. OpenGL ES freeglut 下载和使用
  25. OpenGL ES glew 下载和使用
  26. OpenGL ES glut 下载和使用
  27. OpenGL ES glfw 下载和使用
  28. OpenGL ES glad 下载和使用
  29. OpenGL ES glut glew glfw glad freeglut
  30. OpenGL ES google angle
  31. OpenGL Windows 搭建环境(MFC版本)
  32. OpenGL ES Windows 搭建环境(MFC版本)
  33. OpenGL ES 版本检测
  34. OpenGL GLES 和 GLSL
  35. OpenGL ES 获取最大纹理尺寸 GL_MAX_TEXTURE_SIZE
  36. OpenGL ES 获取最多纹理单元数量 GL_MAX_TEXTURE_IMAGE_UNITS
  37. OpenGL ES 纹理采样的数量限制
  38. OpenGL ES 视口宽高限制 GL_MAX_VIEWPORT_DIMS
  39. OpenGL ES 笛卡尔坐标系之纹理坐标和顶点坐标
  40. OpenGL ES 查看显卡信息
  41. OpenGL ES 正交投影和透视投影
  42. OpenGL ES GLSL 简介
  43. OpenGL ES GLSL 编译
  44. OpenGL ES glDrawArrays 函数
  45. OpenGL ES glDrawArrays 崩溃
  46. OpenGL ES glDrawArray 和 glDrawElements 用法区别
  47. OpenGL 绘制流程
  48. OpenGL ES 绘制流程
  49. OpenGL ES 绘制纯色背景

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容