OpenGL(二)第一个OpenGL程序绘制三角形
来源:互联网 发布:淘宝买东西有质量问题 编辑:程序博客网 时间:2024/05/01 04:32
一、代码
#include <GLTools.h>#include <GLShaderManager.h>#include <GL/glut.h>GLBatch batch; //批处理GLShaderManager shaderManager; //着色器管理void ChangeSize(int width, int height){glViewport(0, 0, width, height); //改变窗口大小}void SetupRc(void){glClearColor(0.0f, 0.0f, 1.0f, 1.0f); //背景颜色shaderManager.InitializeStockShaders(); //初始化着色器//定义顶点数据GLfloat vVertex[] = {-0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.5f, 0.0f};batch.Begin(GL_TRIANGLES, 3);batch.CopyVertexData3f(vVertex); //复制顶点数据到批处理中batch.End();}void MyDisplay(void){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); //清除特定的缓冲区GLfloat vRed[] = { 0.0f, 1.0f, 0.0f, 1.0f }; //RGBAshaderManager.UseStockShader(GLT_SHADER_IDENTITY ,vRed); //颜色传递到存储着色器中batch.Draw(); //绘制glutSwapBuffers(); //交换buffer,双缓冲}int main(int argc, char * argv[]){gltSetWorkingDirectory(argv[0]); //设置工作目录glutInit(&argc, argv); //初始化glutglutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL); //显示类型模式glutInitWindowSize(800, 600); //窗口大小glutCreateWindow("第一个OpenGL"); //创建窗口glutReshapeFunc(ChangeSize); //改变窗口大小glutDisplayFunc(MyDisplay); //显示绘制回调GLenum err = glewInit(); //驱动程序初始化过程是否出错if (err != GLEW_OK){return 1;}SetupRc(); glutMainLoop(); //调用之后才能显示return 0;}
二、运行效果
0 0
- OpenGL(二)第一个OpenGL程序绘制三角形
- OpenGL 第一个三角形
- OpenGL入门(二):第一个OpenGL程序
- OpenGL学习(2)-第一个三角形
- OpenGL学习(三)第一个三角形
- OpenGL--第一个OpenGL程序
- [OpenGL]第一个OpenGL程序
- 第一个OpenGL ES三角形
- 【Modern OpenGL】第一个三角形
- 【Modern OpenGL】第一个三角形
- Android 中使用OpenGL ES进行2D开发(绘制第一个三角形)
- Android 中使用OpenGL ES进行2D开发(绘制第一个三角形番外篇)
- 第一个OpenGL程序
- 第一个OpenGL程序
- 第一个OpenGL程序
- 第一个OpenGL程序
- 第一个opengl程序
- OpenGL 第一个程序
- 使用gdb调试段错误
- Maven使用
- mtk驱动
- 简单面试题--值传递还是引用传递
- Sphinx 使用手册
- OpenGL(二)第一个OpenGL程序绘制三角形
- C#调用C++的Dll(参数和返回值為char* TCHAR*)
- uboot流程
- rtl8169网卡驱动
- tomcat的参数配置
- ubantu安装JDK
- ubantu搭建android编译平台
- List与数组 之间的转换
- ubuntu常用工具安装