OpenGl ES 绘制一个动态时钟

OpenGl ES 绘制一个动态时钟

   试着自己用OpenGl ES 画了一个时钟,指针是可以运动的,如下图所示。(画的比较简陋,但是具备基本功能)欢迎补充和讨论~~

在这里插入图片描述
这是静态效果图,实际指针是可以动起来的

下面是完整代码.

#include "esUtil.h"
#include <math.h>

#define PI 3.1415926
typedef struct
{
   // Handle to a program object
   GLuint programObject;
   GLuint programObject2;
   // GLuint programObject3;


} UserData;

///
// Create a shader object, load the shader source, and
// compile the shader.
//
GLuint LoadShader ( GLenum type, const char *shaderSrc )
{
   GLuint shader;   // GLuint is typedefed as unsigned int
   GLint compiled;  // GLint is typedefed as int

   // Create the shader object
   shader = glCreateShader ( type )

   glShaderSource ( shader, 1, &shaderSrc, NULL );// Load the shader source
   glCompileShader ( shader );// Compile the shader
   glGetShaderiv ( shader, GL_COMPILE_STATUS, &compiled ); // Check the compile status

   return shader;

}

///
// Initialize the shader and program object
//
int Init ( ESContext *esContext )
{
   UserData *userData = esContext->userData;
   char vShaderStr[] =                                   //顶点着色器
      "#version 300 es                          \n"      //声明着色器版本
      "layout(location = 0) in vec4 vPosition;  \n"      //输入一个属性数组
      "void main()                              \n"
      "{                                        \n"
      "   gl_Position = vPosition;              \n"      //将属性数组拷贝到gl_Position的特殊输出变量中
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值