【OpenGL】OpenGL系列——02坐标转换
来源:互联网 发布:澳洲工作 知乎 编辑:程序博客网 时间:2024/06/07 05:36
void myinit(void){ glClearColor(0.8, 0.8, 0.8, 1.0); glShadeModel(GL_FLAT); glPointSize(20.0); } void drawTriangle(void){ //glLineWidth(5.0); //glColor3f(1.0, 1.0, 0.0); //glBegin(GL_LINE_LOOP); // glVertex2f(50.0, 10.0); // glVertex2f(150.0, 10.0); // glVertex2f(10.0, 50.0); //glEnd(); glColor3f(0.5, 0.6, 0.2); glRectf(100.0, 100.0, 200.0, 300.0); } void display(void){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 0.0); glLineWidth(20.0); glEnable(GL_LINE_SMOOTH); glBegin(GL_LINES); glVertex2f(50.0, 100.0); glVertex2f(150.0, 150.0); glEnd(); glDisable(GL_LINE_SMOOTH); glLineWidth(100.0); glBegin(GL_LINES); glVertex2f(50.0, 150.0); glVertex2f(150.0, 200.0); glEnd(); glLineWidth(5.0); glColor3f(1.0, 0.0, 1.0); glEnable(GL_LINE_STIPPLE); glLineStipple(1, 0x1C47); glBegin(GL_LINES); glVertex2f(250.0, 100.0); glVertex2f(150.0, 250.0); glEnd(); glDisable(GL_LINE_STIPPLE); glColor3f(0.5, 0.6, 0.2); glRectf(10.0, 30.0, 100.0, 80.0); drawTriangle(); glTranslatef(200.0, 200.0, 0.0); //glRotatef(180.0, 0.0, 0.0, 1.0); glScalef(0.5, 0.5, 0.0); drawTriangle(); glFlush(); } void myReshape(GLsizei w, GLsizei h){ glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, (GLfloat)w, 0, (GLfloat)h); glMatrixMode(GL_MODELVIEW); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(400, 400); glutInitWindowPosition(700, 500); glutCreateWindow("color"); myinit(); glutReshapeFunc(myReshape); glutDisplayFunc(display); glutMainLoop(); return 0; }
void myinit(void){glClearColor(0.8, 0.8, 0.8, 1.0);glShadeModel(GL_FLAT); }void display(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0, 1.0, 0.0);glutWireTeapot(1.0);glFlush();}void myReshape(GLsizei w, GLsizei h){glViewport(0, 0, w, h);glMatrixMode(GL_PROJECTION);glLoadIdentity();glFrustum(-1.0, 1.0, -1.0, 1.0, 1.0, 10.0);glMatrixMode(GL_MODELVIEW);glTranslatef(0.0, 0.0, -2.0);}int main(int argc, char *argv[]) {glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(400, 400);glutInitWindowPosition(700, 500);glutCreateWindow("color");myinit();glutReshapeFunc(myReshape);glutDisplayFunc(display);glutMainLoop();return 0;}
void myinit(void){glClearColor(0.8, 0.8, 0.8, 1.0);glShadeModel(GL_FLAT); }void display(void){GLdouble equ0[4] = { 1.0, 0.0, 0.0, 0.0 };GLdouble equ1[4] = { 1.0, 1.0, 0.0, 0.0 };glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0, 1.0, 0.0);glClipPlane(GL_CLIP_PLANE0, equ0); //指定切割几何物体平面glEnable(GL_CLIP_PLANE0);glClipPlane(GL_CLIP_PLANE1, equ1);glEnable(GL_CLIP_PLANE1);glutWireTeapot(1.0);glFlush();}void myReshape(GLsizei w, GLsizei h){glViewport(0, 0, w, h);glMatrixMode(GL_PROJECTION);glLoadIdentity();//glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); //透视矩阵gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 1.0, 20.0);glMatrixMode(GL_MODELVIEW);glTranslatef(0.0, 0.0, -3.0);}int main(int argc, char *argv[]) {glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(400, 400);glutInitWindowPosition(700, 500);glutCreateWindow("color");myinit();glutReshapeFunc(myReshape);glutDisplayFunc(display);glutMainLoop();return 0;}
0 0
- 【OpenGL】OpenGL系列——02坐标转换
- OpenGL—坐标变换
- OpenGL: 屏幕坐标向OpenGL坐标转换
- OpenGl 坐标转换
- OpenGL 坐标转换
- opengl坐标转换
- OpenGL之坐标转换
- OpenGL坐标转换
- OpenGl 坐标转换
- OpenGL坐标转换总结
- OpenGl 坐标转换
- [OpenGL]OpenGL坐标系及坐标转换
- opengl坐标转换的问题
- Opengl 坐标转换\视图变换
- 屏幕坐标向OpenGL坐标转换
- 屏幕坐标向OpenGL坐标转换
- 屏幕坐标向OpenGL坐标转换
- opengl 窗口坐标转换为物体坐标
- Swift autoLayout 下的UILabel 换行问题
- Android listview多选模式ChoiceMode
- VSCode快捷键介绍
- boost noncopyable实现禁止类拷贝
- Android事件分发机制
- 【OpenGL】OpenGL系列——02坐标转换
- checkbox表格全选
- SetupDiGetClassDevs函数详解
- LeetCode算法题目:Same Tree(两种方法解决)
- 液晶显示屏的坏点
- 117. Populating Next Right Pointers in Each Node II
- 服务端开发指南与最佳实战 | 数据存储技术 | MySQL(04) 索引使用的注意事项
- Mysql中limit的用法
- Java多线程探究-死锁例子