主题:实验1——OpenGL初识(计算机图形学(OpenGL版))

代码1:

 1 #include <GL/glut.h>
 2
 3 void myDisplay(void){
 4
 5 glClearColor(0.0,0.0,0.0,0.0);
 6 glClear(GL_COLOR_BUFFER_BIT);
 7
 8 glColor3f(1.0f,1.0f,1.0f);
 9 glRectf(-0.5f,-0.5f,0.5f,0.5f);
10
11 glBegin (GL_TRIANGLES);
12 glColor3f(1.0f,0.0f,0.0f);glVertex2f(0.0f,1.0f);
13 glColor3f(0.0f,1.0f,0.0f);glVertex2f(0.8f,-0.5f);
14 glColor3f(0.0f,0.0f,1.0f);glVertex2f(-0.8f,-0.5f);
15 glEnd();
16
17 glPointSize(3);
18
19 glBegin(GL_POINTS);
20
21 glColor3f(1.0f,0.0f,0.0f);glVertex2f(-0.4f,-0.4f);
22 glColor3f(0.0f,1.0f,0.0f);glVertex2f(0.0f,0.0f);
23 glColor3f(0.0f,0.0f,1.0f);glVertex2f(0.4f,0.4f);
24
25 glEnd();
26
27
28 glFlush();
29
30
31 }
32
33 int main(int argc,char *argv[]){
34     glutInit(&argc,argv);
35     glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
36     glutInitWindowPosition(100,100);
37     glutInitWindowSize(400,400);
38     glutCreateWindow("Hello World!");
39     glutDisplayFunc(&myDisplay);
40     glutMainLoop();
41     return 0;
42
43 }

运行结果:

代码2:

 1 #include <GL/glut.h>
 2
 3 void myDisplay(void){
 4
 5 glClearColor(0.0,0.0,0.0,0.0);
 6 glClear(GL_COLOR_BUFFER_BIT);
 7
 8 glColor3f(1.0f,1.0f,1.0f);
 9 glRectf(-0.5f,-0.5f,0.5f,0.5f);
10
11 glBegin (GL_TRIANGLES);
12 glColor3f(1.0f,0.0f,0.0f);glVertex2f(0.0f,1.0f);
13 glColor3f(0.0f,1.0f,0.0f);glVertex2f(0.8f,-0.5f);
14 glColor3f(0.0f,0.0f,1.0f);glVertex2f(-0.8f,-0.5f);
15 glEnd();
16
17 glPointSize(3);
18
19 glBegin(GL_POINTS);
20
21 glColor3f(1.0f,0.0f,0.0f);glVertex2f(-0.4f,-0.4f);
22 glColor3f(0.0f,1.0f,0.0f);glVertex2f(0.0f,0.0f);
23 glColor3f(0.0f,0.0f,1.0f);glVertex2f(0.4f,0.4f);
24
25 glEnd();
26
27
28 glBegin(GL_LINE_LOOP);
29
30 glColor3f(1.0f,1.0f,1.0f);glVertex2f(0.4f,0.25f);
31 glColor3f(1.0f,1.0f,1.0f);glVertex2f(0.0f,-0.5f);
32 glColor3f(1.0f,1.0f,1.0f);glVertex2f(-0.4f,0.25f);
33
34 glEnd();
35
36 glFlush();
37
38
39 }
40
41 int main(int argc,char *argv[]){
42     glutInit(&argc,argv);
43     glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
44     glutInitWindowPosition(100,100);
45     glutInitWindowSize(400,400);
46     glutCreateWindow("Hello World!");
47     glutDisplayFunc(&myDisplay);
48     glutMainLoop();
49     return 0;
50
51 }

运行结果:

转载于:https://www.cnblogs.com/mallocxw/p/5366623.html

实验一 OpenGL初识相关推荐

  1. 实验1 OpenGL初识

    一.实验目的 熟悉编程环境:了解光栅图形显示器的特点:了解计算机绘图的特点: 利用VC+OpenGL作为开发平台设计程序,以能够在屏幕上生成任意一个像素点作为本实验的目标. 二.实验内容 了解和使用V ...

  2. 实验一OpenGL图形编程入门

    实验一OpenGL图形编程入门 一. 实验目的 1.了解和掌握OpenGL的安装. 2.掌握一个简单的基于OpenGL的C++程序结构. 3.掌握Win32程序框架. 4.掌握OpenGL中若干基本图 ...

  3. 实验5 OpenGL模型视图变换

    1.实验目的: 理解掌握OpenGL程序的模型视图变换. 2.实验内容: (1)阅读实验原理,运行示范实验代码,理解掌握OpenGL程序的模型视图变换: (2)根据示范代码,尝试完成实验作业: 3.实 ...

  4. 实验3 OpenGL几何变换

    转自:http://www.cnblogs.com/opengl/archive/2012/10/30/2747130.html 1.实验目的: 理解掌握一个OpenGL程序平移.旋转.缩放变换的方法 ...

  5. 计算机图形学实验四 OpenGL的鼠标交互绘制

    一.实验目的 1.掌握OpenGL的鼠标按钮响应函数. 2.掌握OpenGL的鼠标移动响应函数. 3.进一步巩固OpenGL的基本图元绘制基础. 二.实验内容 1.鼠标画草图--实现鼠标点到哪,线就画 ...

  6. 计算机图形学:实验二——OpenGL绘制基本图形

    1. 实验目的 练习OpenGL基础编程,实现OpenGL的颜色混合和渐变效果. 2. 实验内容和要求 按要求完成以下两个绘图,提交纸质实验报告,同时提交实验报告和代码的电子版. I). 利用Open ...

  7. 深圳大学计算机图形学实验一——OpenGL绘制布布头像

    尝试利用OpenGL绘制一些可爱的表情包. 一二布布是较为流行的一套萌系表情包.我选择绘制一二布布系列的一张表情包.这张表情包描绘了趴在窗户上的一只小棕熊布布. 表情包印在手机壳的样例如下: 头的绘制 ...

  8. 计算机图形学实验(OpenGL实现):Spinning Pinwheel

    实验要求: 构建且渲染一个3D风车模型(如下图所例示).其中,三个叶片(包括中间的黄色三角形)在一个2D平面上,手柄在另外一个离相机更近的2D平面上.三个叶片.中心的三角形.手柄分别用不同的颜色显示. ...

  9. 计算机图形学基础:实验5 OpenGL二维几何变换

    1.实验目的: 理解并掌握OpenGL二维平移.旋转.缩放变换的方法. 2.实验内容: 阅读实验原理,掌握OpenGL程序平移.旋转.缩放变换的方法. 根据示范代码,完成实验作业. 3.实验原理: ( ...

最新文章

  1. php字符串处理函数相关操作
  2. docker dockerfile 映射端口范围 批量映射端口
  3. 部门名称部门结构叠用_DYT|部门名称创意设计比赛,你pick哪一个?
  4. java自学难点_java学习重难点
  5. .NET获取根目录方法
  6. 5下载的demo在哪_归类专业能力水平评价练习盘!快来下载呀
  7. mysql 全文索引 权重_MySQL中的全文索引
  8. JS的条形码和二维码生成
  9. SSLRobot:适用于HttpWatch的免费SSL / TLS测试工具
  10. 最好用的数据可视化神器,没有之一
  11. 如何使用给定的部分名称杀死所有进程?
  12. flask常用内容:
  13. ORA-01157报错cannot identify/lock data file
  14. android手表微信运动,华为手表(华为运动健康APP)终于能绑定微信运动
  15. volatile能保持线程安全吗_volatile变量能保证线程安全性吗?为什么?
  16. 以太网未识别的网络win10_win10系统遇到以太网无法识别网络如何解决
  17. C语言编写的学生考勤信息管理系统
  18. kail详细安装教程
  19. 使用python进行视频地址的获取,下载
  20. 微信的url服务器接收微信信息的配置

热门文章

  1. SpringMVC 理论与实用技术(一) 简单、实用、易懂的几个实例
  2. 解读谷歌事件中的失语症现象
  3. Adobe Acrobat Reader 快捷键
  4. nas servers
  5. 剑桥大学eap入学测试准备!!!救命稻草
  6. r shiny内部支持的输入函数
  7. 李开复:非常看好移动互联网的未来 --记CSDNCTO俱乐部李开复交流会
  8. Dubbo自定义日志拦截器
  9. Tower-web 0.3.1/2 发布,类型完善和修复更新
  10. sql server的远程连接