实验一 OpenGL图形编程入门
- 实验目的
- 了解和掌握OpenGL的安装。
- 掌握一个简单的基于OpenGL的C++程序结构。
- 掌握Win32程序框架。
- 掌握OpenGL中若干基本图形的绘制。
- 实验环境
- 硬件要求:
PC:主流配置,最好为独立显卡,显存为512MB以上
- 软件环境
操作系统: Windows7/Windows8
语言开发工具:Microsoft Visual Studio 2010,Visual C++
- 程序框架:
Win32应用程序。
- 实验要求与内容
要求:将所有实验步骤生成的效果截图拷贝到实验报告文档里备查,并附上相应的代码。
内容:
- 准备并配置好OpenGL库文件
- 建立一个工程文件,并运行样本程序my_first_program.cpp,观看结果。
(1)启动Microsoft Visual Sudio 2010,在菜单栏中单击“文件-新建-项目”,截图如下。
(2)在“新建项目”对话框创建中选择Visual C++的Win32项目,然后输入项目名称,选择项目的保存位置,单击确定。截图如下。
(3)将工程文件中的源文件中C++源文件替换成如下样本程序。截图以及代码如下:
- // GraphicExperment.cpp : 定义应用程序的入口点。
- //
- #include "stdafx.h"
- #include "GraphicExperment.h"
- #include <glut.h>
- void display(void){
- glClearColor(0.0f,0.0f,0.0f,1.0f);
- glClear(GL_COLOR_BUFFER_BIT);
- glFlush();
- }
- int APIENTRY _tWinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow){
- UNREFERENCED_PARAMETER(hPrevInstance);
- UNREFERENCED_PARAMETER(lpCmdLine);
- char *argv[]={ "hello"," "};
- int argc = 2;
- glutInit(&argc,argv);
- glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize(500,500);
- glutInitWindowPosition(1024/2-250,768/2-250);
- glutCreateWindow("hello");
- glutDisplayFunc(display);
- glutMainLoop();
- return 0;
- }
以上样本程序的运行结果是创建一个名为“hello”的窗口,截图如下:
- 认真阅读以上样本程序,理解每个函数的作用,并修改窗口标题,让其显示为“我的第一个OpenGL程序”,实验代码和运行结果截图如下所示。
- // GraphicExperment.cpp : 定义应用程序的入口点。
- //
- #include "stdafx.h"
- #include "GraphicExperiment1.h"
- #include <glut.h>
- void display(void){
- glClearColor(0.0f,0.0f,0.0f,1.0f);
- glClear(GL_COLOR_BUFFER_BIT);
- glFlush();
- }
- int APIENTRY _tWinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow){
- UNREFERENCED_PARAMETER(hPrevInstance);
- UNREFERENCED_PARAMETER(lpCmdLine);
- char *argv[]={ "我的第一个OpenGL程序"," "};
- int argc = 2;
- glutInit(&argc,argv);
- glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize(500,500);
- glutInitWindowPosition(1024/2-250,768/2-250);
- glutCreateWindow("我的第一个OpenGL程序");
- glutDisplayFunc(display);
- glutMainLoop();
- return 0;
- }
- 窗口的设置
(1)修改窗口位置,使之位于屏幕正中央。实验代码和运行截图如下
- // GraphicExperment.cpp : 定义应用程序的入口点。