计算机图形学——OpenGL学习系列之绘制3D下的小桌子
来源:互联网 发布:廖雪峰python教程微盘 编辑:程序博客网 时间:2024/04/30 08:50
计算机图形学——OpenGL学习系列之绘制3D下的小桌子
做的一个小练习,主要用到了几何变换还有gl自带的一个绘制立方体的函数,顺便体会一下glPush和glPop的用法。另外,从2D到3D,开心到飞起明天让他动起来,睡觉
#include <gl\glut.h>void drawTop(){glPushMatrix();glColor3f(0.25,0.25,0.25);glTranslatef(0, 0, 0.6);glScalef(8, 8, 1);glutSolidCube(0.2);glPopMatrix();}void drawLeg(float x, float y){glPushMatrix();glColor3f(0.75,0.75,0.75);glTranslatef(x, y, 0);glScalef(1, 1, 5);glutSolidCube(0.2);glPopMatrix();}void drawDesk(){glPushMatrix();glRotatef(90, -1.0, 0.0, 0.0);glRotatef(10, -1.0, 0.0, 0.0);glRotatef(30,0,1,0);drawTop();drawLeg(0.5, 0.5);drawLeg(-0.5, 0.5);drawLeg(-0.5, -0.5);drawLeg(0.5, -0.5);glPopMatrix();}void display(){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glDisable(GL_DEPTH_TEST);glDisable(GL_LIGHTING); glMatrixMode(GL_MODELVIEW);drawDesk();glFlush();}int main(int argc, char *argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("MyDesk"); glutDisplayFunc(&display); glutMainLoop(); return 0;}
0 0
- 计算机图形学——OpenGL学习系列之绘制3D下的小桌子
- 计算机图形学——OpenGL学习系列之Graphics2D
- 计算机图形学——OpenGL学习系列之Graphics3D
- 计算机图形学——OpenGL之光照
- 计算机图形学-OpenGL-绘制五角星
- 计算机图形学 OPENGL学习
- OPENGL-学习计算机图形学
- OpenGL的计算机图形学
- 计算机图形学-基于OpenGL的绘制空间曲线
- 计算机图形学-基于OpenGL的绘制Bezier曲线
- 3D 图形学 以 OpenGL 为例的学习
- 计算机图形学——OpenGL渲染基础架构二之着色器的使用
- 小桌子.自己设计桌面的小桌子
- OpenGL 绘制长方体 计算机图形学
- OpenGL 绘制字母 计算机图形学
- 计算机图形学——绘制直线
- 计算机图形学——绘制钻石图案
- 学习计算机图形学OpenGL绘图
- poj 2965 The Pilots Brothers' refrigerator(翻转)
- C++——命名规范
- SQLLite数据库创建和使用
- shell脚本mac平台执行sed命令报错
- 最大公约数 poj
- 计算机图形学——OpenGL学习系列之绘制3D下的小桌子
- 多租户过程记录三
- 数据结构常见问题
- java事件处理模型
- Burp suite基本使用(一)
- java基础第一章_运算符_算数运算符
- Longest Symmetric String (25) 与Manacher算法
- Html5 Worker
- 计算机网络错题(2)