Opengl学习程序之红色三角形
来源:互联网 发布:物业管理app源码 编辑:程序博客网 时间:2024/04/28 16:25
看了Opengl编程指南后,再去看Opengl超级宝典,觉得不是一般的友好。
#include "stdafx.h"#include "GLTools.h"#include "GLShaderManager.h"#ifdef _APPLE_#include <glut/glut.h>#else#define FREEGLUT_STATIC#include<GL/glut.h>#endifGLBatch triangleBatch;GLShaderManager shaderManager;void ChangeSize(int w, int h){ glViewport(0, 0, w, h);}void SetupRC(){ glClearColor(0.0f, 0.0f, 1.0f, 1.0f); shaderManager.InitializeStockShaders(); GLfloat vVerts[] = { -0.5, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f }; triangleBatch.Begin(GL_TRIANGLES, 3); triangleBatch.CopyVertexData3f(vVerts); triangleBatch.End();}void RenderScene(void){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f }; shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed); triangleBatch.Draw(); glutSwapBuffers();}int main(int argc, char* argv[]){ gltSetWorkingDirectory(argv[0]); glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL); glutInitWindowSize(800, 600); glutCreateWindow("Triangle"); glutReshapeFunc(ChangeSize); glutDisplayFunc(RenderScene); GLenum err = glewInit(); if (GLEW_OK != err) { fprintf(stderr, "GLEW Error: %s\n",glewGetErrorString(err)); return 1; } SetupRC(); glutMainLoop(); return 0;}
代码工程:
http://download.csdn.net/detail/shiyuedyx/9778936
0 0
- Opengl学习程序之红色三角形
- Opengl学习程序之三角形
- openGL学习之三角形等分
- OpenGL学习笔记之绘制三角形
- opengl 画三角形 程序
- 用OpenGL ES绘制一个红色的三角形(一)
- 用OpenGL ES绘制一个红色三角形(二)
- Opengl学习程序之uniform
- Opengl学习程序之纹理
- Android OpenGL学习笔记(二)之----三角形的绘制.
- Android OpenGL学习笔记(二)之----三角形的绘制.
- 学习OpenGL入门第一步之画三角形详解
- Opengl学习程序之绘制命令
- Opengl学习程序之渲染缓存
- Opengl学习程序之移动的矩形
- OpenGL编程学习之《一个简单的OpenGL程序》
- C#+OpenGL3编程之第一个红色三角形(Shade)
- OpenGL程序:绘制正方形和三角形
- linux关闭防火墙
- Building Android for Qemu: A Step-by-Step Guide
- CentOS7挂载windows下的共享文件夹
- Precompiling APK Files During Android AOSP Build
- 再谈网游同步技术:实时动作游戏同步方式和传输协议选择
- Opengl学习程序之红色三角形
- 389. Find the Difference
- hdu 1297children_queue
- 二叉树遍历非递归实现
- session清理缓存的理解和如何清空缓存中的数据
- 解决Ubuntu下Sublime Text 3无法输入中文
- 在Atom下配置并使用MarkDown全教程
- 多线程执行过程
- 409. Longest Palindrome