计算机图形学实验 实验一 OpenGL 图形编程入门

实验一 OpenGL图形编程入门

  • 实验目的
  1. 了解和掌握OpenGL的安装。
  2. 掌握一个简单的基于OpenGL的C++程序结构。
  3. 掌握Win32程序框架。
  4. 掌握OpenGL中若干基本图形的绘制。
  • 实验环境
  1. 硬件要求:

PC:主流配置,最好为独立显卡,显存为512MB以上

  1. 软件环境

操作系统: Windows7/Windows8

语言开发工具:Microsoft Visual Studio 2010,Visual C++

  1. 程序框架:

Win32应用程序。

  • 实验要求与内容

要求:将所有实验步骤生成的效果截图拷贝到实验报告文档里备查,并附上相应的代码。

内容:

  1. 准备并配置好OpenGL库文件
  2. 建立一个工程文件,并运行样本程序my_first_program.cpp,观看结果。

(1)启动Microsoft Visual Sudio 2010,在菜单栏中单击“文件-新建-项目”,截图如下。

(2)在“新建项目”对话框创建中选择Visual C++的Win32项目,然后输入项目名称,选择项目的保存位置,单击确定。截图如下。 

(3)将工程文件中的源文件中C++源文件替换成如下样本程序。截图以及代码如下:

  1. // GraphicExperment.cpp : 定义应用程序的入口点。  
  2. //  
  3.   
  4. #include "stdafx.h"  
  5. #include "GraphicExperment.h"  
  6. #include <glut.h>  
  7.   
  8. void display(void){  
  9.     glClearColor(0.0f,0.0f,0.0f,1.0f);  
  10.     glClear(GL_COLOR_BUFFER_BIT);  
  11.     glFlush();  
  12. }  
  13. int APIENTRY _tWinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow){  
  14.     UNREFERENCED_PARAMETER(hPrevInstance);  
  15.     UNREFERENCED_PARAMETER(lpCmdLine);  
  16.     char *argv[]={ "hello"," "};  
  17.     int argc = 2;  
  18.     glutInit(&argc,argv);  
  19.     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);  
  20.     glutInitWindowSize(500,500);  
  21.     glutInitWindowPosition(1024/2-250,768/2-250);  
  22.     glutCreateWindow("hello");  
  23.     glutDisplayFunc(display);  
  24.     glutMainLoop();  
  25.     return 0;  
  26. }  

 以上样本程序的运行结果是创建一个名为“hello”的窗口,截图如下:

  1. 认真阅读以上样本程序,理解每个函数的作用,并修改窗口标题,让其显示为“我的第一个OpenGL程序”,实验代码和运行结果截图如下所示。
  1. // GraphicExperment.cpp : 定义应用程序的入口点。  
  2. //  
  3.   
  4. #include "stdafx.h"  
  5. #include "GraphicExperiment1.h"  
  6. #include <glut.h>  
  7.   
  8. void display(void){  
  9.     glClearColor(0.0f,0.0f,0.0f,1.0f);  
  10.     glClear(GL_COLOR_BUFFER_BIT);  
  11.     glFlush();  
  12. }  
  13. int APIENTRY _tWinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow){  
  14.     UNREFERENCED_PARAMETER(hPrevInstance);  
  15.     UNREFERENCED_PARAMETER(lpCmdLine);  
  16.     char *argv[]={ "我的第一个OpenGL程序"," "};  
  17.     int argc = 2;  
  18.     glutInit(&argc,argv);  
  19.     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);  
  20.     glutInitWindowSize(500,500);  
  21.     glutInitWindowPosition(1024/2-250,768/2-250);  
  22.     glutCreateWindow("我的第一个OpenGL程序");  
  23.     glutDisplayFunc(display);  
  24.     glutMainLoop();  
  25.     return 0;  

 

  1. 窗口的设置

(1)修改窗口位置,使之位于屏幕正中央。实验代码和运行截图如下

  1. // GraphicExperment.cpp : 定义应用程序的入口点。  
  2. //  
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值