OpenGL 第一个三角形
2015-06-25 16:26
357 查看
1、第三方库文件
freeglut:http://freeglut.sourceforge.net/glew:http://glew.sourceforge.net/
gltools:https://github.com/HazimGazov/GLTools
2、代码
#include <GL/glew.h> #include <GL/freeglut.h> #include <GLShaderManager.h> #include <GLBatch.h> GLShaderManager shaderManager; GLBatch triangle; GLfloat vRed[] = {1.0, 0.0, 0.0, 1.0}; void init() { glClearColor(0.5, 0.5, 0.5, 1.0); shaderManager.InitializeStockShaders(); GLfloat vVex[] = {-0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0}; triangle.Begin(GL_TRIANGLES, 3); triangle.CopyVertexData3f(vVex); triangle.End(); } void reshape(int pWidth, int pHeight) { glViewport(0, 0, pWidth, pHeight); } void render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed); triangle.Draw(); glutSwapBuffers(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(800, 600); glutInitWindowPosition(50, 50); glutCreateWindow("Chp02 freeglut"); glutReshapeFunc(reshape); glutDisplayFunc(render); if (glewInit()) { return -1; } init(); glutMainLoop(); return 0; }
3、问题
3.1、崩溃1
继续跟进glCreateShader,发现glCreateShader是glew中的接口!需要初始化glewinit3.2、崩溃2
编译正常,运行异常根据错误点,发现
int main(char *argv[], int argc)正确的应该为
int main(int argc, char *argv[])晕死,这个地方居然会出错!!!
相关文章推荐
- linux 信号量
- 一台电脑同时运行多个tomcat配置方法
- Tips & Tricks:Apache log4j简明教程(二)
- Apache log4net™ 手册——介绍【翻译】
- CloudXNS首次使用体验
- mac boot2docker certs not valid with 1.7
- 使用监控宝监控CentOS主机
- Linux下php-cgi占内存100%电脑变的很卡的解决方法
- shell学习二十六天----变量与算数
- Dockerfile指令总结
- 在windows下面调试linux代码
- Linux如何禁止系统内核Kernel自动升级避免不必要的麻烦
- 自助Linux之问题诊断工具strace
- 关于企业网站
- centos下jdk安装
- 面向对象 oop
- git is not in the sudoers file.This incident will be reported
- ngnix反向代理配置
- -Dmaven.multiModuleProjectDirectory system propery is not set.
- 解决问题:eclipse启动tomcat后 可以访问项目,但进入不了localhost:8080首页