一个OpenGL样板程序,环境为VS2010

// Test_OpenGL.cpp : 定义控制台应用程序的入口点。
///** 1、OpenGL工具函数库(GLU),GLU函数实用glu前缀** 2、窗口系统,以支持OpenGL渲染,对于X窗口系统是GLX函数,以glX开头,* 对于Windows而言是是WGL函数库,使用wgl前缀* 对于Mac OS系统而言AGL(前缀agl)、CGL(前缀cgl)和Cocoa(NSOpenGL类)** 3、OpenGL实用工具库(Open Utility Toolkit,GLUT),使用glut前缀**/#include "stdafx.h"
#include <Windows.h>
#include <GL/glut.h>static GLfloat spin = 0.0;
static GLfloat clr_array[]={1.0, 1.23, 0.20};void init()
{glClearColor(0.0, 0.0, 0.0, 0.0);glShadeModel(GL_FLAT);
}void display(void)
{glClear(GL_COLOR_BUFFER_BIT);glPushMatrix();glRotatef(spin,0.0, 0.0, 1.0);glColor3fv(clr_array);glRectf(-25.0f, -25.0f, 25.0f, 25.0f);  //画矩形glPopMatrix();glutSwapBuffers();}void spinDisplay()
{spin += 2.0;if(spin > 360.0f){spin = spin - 360.0f;}glutPostRedisplay();}void reshape(int w, int h)
{glViewport(0, 0, (GLsizei)w, (GLsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);glMatrixMode(GL_MODELVIEW);
}void mouse(int button, int state, int x, int y)
{switch(button){case GLUT_LEFT_BUTTON:if (state == GLUT_DOWN){glutIdleFunc(spinDisplay);}break;case GLUT_RIGHT_BUTTON:if (state == GLUT_DOWN){glutIdleFunc(NULL);}break;default:break;}}
/***********************************************************************/
/* 第一个OpenGL程序, 动画=重绘+交换                                    */
/***********************************************************************/
int main(int argc, char* argv[])
{/*初始化*/glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);glutInitWindowPosition(100, 100);glutInitWindowSize(250, 250);glutCreateWindow(argv[0]);init();/*画图*/glutDisplayFunc(display);glutReshapeFunc(reshape);glutMouseFunc(mouse);glutMainLoop();return 0;
}

OpenGL样板程序,会转动的正方形相关推荐

  1. linux 不能运行程序代码,linux-无法在Ubuntu上运行我自己的OpenGL 3程序

    我正在尝试OpenGL 2.x和3.x教程.程序进行编译和链接,然后在看似无害的行上进行段错误处理,例如 glGenBuffers (1, &m_buffer); 我的main()以glewI ...

  2. Android 第一个OpenGL ES程序

    Android 第一个OpenGL ES程序 在你的Android应用中用OpenGL ES绘制图形,首先需要有一个容器,最直接的方法是实现GLSurfaceView 和  GLSurfaceView ...

  3. nvidia 3d vision kit + opengl + 立体视觉程序开发

    近来一周一直在看opengl + 3d vision kit 的编程开发方法,国内基本没有,因为3d vision kit只支持d3d的全屏的程序.只有满足是D3D+FULLSCREEN,才会由红外发 ...

  4. 昆仑通态(MCGS)样板程序,包含历史实时报表查询导出、画面动画风扇转动

    昆仑通态(MCGS)样板程序,包含历史实时报表查询导出.画面动画风扇转动.历史实时报警查询导出.U盘导出.各种通信样板程序.工程上应用样板程序(污水厂.泵站.增压站.锅炉.产线.搅拌站).各种触摸屏独 ...

  5. 三菱FX5U plc个人学习时写的功能样板程序 有定位,高速脉冲编码器输入,高速脉冲输出,表格定位

    三菱FX5U plc个人学习时写的功能样板程序. 注释全. 合适新入5U朋友掌握应用知识快速上手. 有通讯,MODBUS-TCP MODBUS_RTU. Sockets.与触摸屏宏指令MC通讯高级玩法 ...

  6. 【愚公系列】2022年09月 微信小程序-WebGL画渐变色正方形

    文章目录 前言 一.webgl的使用 1.画正方形 二.相关包源码 三.总结 前言 WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScri ...

  7. OpenGL基础5:第一个正方形

    绘制一个正方形真的很简单,很显然,两个三角形铺在一起就可以了 一.绘制正方形 其实如果完全理解了前面的知识, 那么理论上不需要任何参考就可以绘制正方形,就如上所说,两个三角形只有顶点的位置不同而已-- ...

  8. OpenGL 应用程序无法正常启动0xc000007b

         关于这个问题,网上有很多人也遇到过,但基本上使用别人的解决方法都解决不了自己的问题.出现这样的情况的原因是依赖库出错,而每个人出错的依赖库又不一样.这里写上自己遇到的情况:      首先, ...

  9. OpenGL学习笔记(2) 画一个正方形

    画一个正方形 其实,画正方形就是画两个三角形,用四个顶点以及使用索引来实现 完整代码在Square项目的Application.cpp里 先贴上窗口初始化代码 void BaseInit() {glf ...

最新文章

  1. chrome 不记录填写值_【转载】禁用自动填表'autocomplete=off'在Chrome 中不起作用...
  2. Office 2010 与搜狗输入法兼容问题
  3. django 不包括字段 序列化器_手写一个Django序列化功能
  4. 数据结构之求二叉树的所有叶子和以及叶子总数
  5. MySQL分布式ID_分布式唯一ID系列(3)——数据库自增ID机制适合做分布式ID吗
  6. Docker 方式 部署 vue 项目 (docker + vue + nginx)
  7. 抓取图像像素到int数组
  8. 2个css特效冲突了怎么办_学生打扫卫生不积极怎么办?改变自己的观念,从2个方面影响学生...
  9. [Cocoa]深入浅出Cocoa之Bonjour网络编程
  10. 黑苹果 - 图形卡 显示器 7MB
  11. 《视觉SLAM十四讲-第二版-ch8,OpenCV4报错及解决》
  12. 用turtle绘图做一个钟表时钟
  13. 视觉SLAM十四讲 第7讲 (3) 相机运动估计 2D-2D/3D-2D/3D-3D
  14. Linux内核和传统Unix内核的比较
  15. pycharm清华镜像源使用
  16. 太实用了!Excel VBA常用代码!
  17. 【Mysql进阶-3】大量实例悟透EXPLAIN与慢查询
  18. Arai2自动添加tracker链接的方法
  19. python 操作redis集群
  20. 不切换 Git 分支,却能同时在多个分支上工作,我是怎么做到的?

热门文章

  1. 自定义的OnFileSaveAs函数无法响应
  2. mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
  3. 电脑硬盘是干什么用的_电脑存储空间不够用?让金士顿固态硬盘拯救你
  4. android theme 使用方法,Android入门之Style与Theme用法实例解析
  5. [蓝桥杯][2018年第九届真题]倍数问题(贪心+思维)
  6. qt 不显示 mysql 数据表中的内容_qt 数据库操作总结
  7. 公众号知道我浏览他吗_公众号可以看到访客吗,公众号怎么看到访客
  8. python中的栈结构_Python可以实现栈的结构吗
  9. 如何选择python书籍_如何选择一本优质的数据科学书籍
  10. arggis怎么修改上下标_京东自营是怎么操作的?有什么要求?