实验1 OpenGL图形编程入门(visualstudio2010)

这篇具有很好参考价值的文章主要介绍了实验1 OpenGL图形编程入门(visualstudio2010)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

1、了解和掌握OpenGL的安装。
2、掌握一个简单的基于OpenGL的C++程序结构。
3.掌握win32程序框架。
4、掌握OpenGL中若干基本图形的绘制。

二、实验环境

硬件要求:
PC机,主流配置,最好为独立显卡,显存512M以上。
软件环境:
操作系统:Windows 7/Windows8
语言开发工具:Microsoft Visual studio 2010,Visual C++。
程序框架:
win32应用程序

三、实验内容与要求

要求: 实验所有步骤所生成的效果截图拷贝到实验报告文档里备查,并附上相应的代码。WORD文档命名方式:学号姓名-实验序号-实验名称。
内容:(注:便于打印,将背景黑色设置了透明色)
1、准备好OpenGL库文件。如下图:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
(1)Glut32.dll 路径 %system root%\ SysWOW64。 如下图:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++

(2)Glut32.lib in PATH\lib。
vs2010怎么用opengl,计算机图形学实验报告,windows,c++

(3)Glut.h in PATH\Include。如下图:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++

system root为windows7或windows8安装路径。
path为 Visual studio 2010的安装路径。
2.建立一个工程文件,并运行样本程序my_first_program.cpp,观看结果。
1)启动Microsoft Visual Studio 2010,在菜单栏中点击“文件”->“新建”->“项目”,如下图:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
2)在“新建项目”对话框Visual C++的Win32项目,然后输入项目名称(例如lab1-basis),选择项目的保存位置(),如下图,单击“确认”按钮。
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
3)将工程文件的“源文件”中的C++源文件(lab1-basis.cpp)替换成以下样本程序:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
以上样本程序的运行结果是创建一个名为“hello”的窗口,如下图所示:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
3.认真阅读以上样本程序,理解每个函数的作用,并修改窗口标题,让其显示为“我的第一个OpenGL程序”,修改代码及其运行结果如下:
(1)修改代码:

char *argv[]={"我的第一个OpenGL程序"," "};  
glutCreateWindow("我的第一个OpenGL程序"); 

(2)运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
4.窗口的设置
在默认情况下,窗口的位置出现在屏幕的左上角,大小为300*300.
要求:
1)修改窗口位置,使之处于屏幕正中央
修改代码如下:

int cx = glutGet(GLUT_SCREEN_WIDTH);  
int cy = glutGet(GLUT_SCREEN_HEIGHT);  
glutInitWindowPosition((cx-500)/2,(cy-500)/2); 

运行结果如下:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
2)将窗口大小改为整个屏幕大小
如下图为代码修改和运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
3)修改窗口大小为其他尺寸
修改代码:

glutInitWindowSize(350,350);

运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
5.背景色的设置
在默认情况下,背景色是黑色
1)将窗口背景设置为白色,如下图:
代码修改:

glClearColor(1.0f,1.0f,1.0f,1.0f);

运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
1)将窗口背景设置为其他颜色,如下图:
代码修改:

glClearColor(7.0,-7.0,5.0,1.0f);

运行结果:(紫背景)
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
6.基本图形绘制
矩形绘制:
1)在display绘图函数的“glClear(GL_COLOR_BUFFER_BIT);”语句后面增加“glRectf(0,0,1,1);”,运行程序查看效果,代码修改和运行结果如下图:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
2)修改矩形的对角坐标,看看有什么变化和问题,运行结果如下图:
注:glRectf函数:画一个矩形,四个参数分别表示了位于对角线(左下到右上)上的两个点的横纵坐标(并且以窗口的中心点为原点,相当于以它为原点建立了一个二维坐标系)
修改代码:

glRectf(-0.8f,-0.8f,0.5f,0.5f);

运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
3)根据给出的函数,试画出直线和三角形等基本图形
(1)直线:
代码修改:

void display(void)
{

    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);    //设置清屏颜色 
    glClear(GL_COLOR_BUFFER_BIT);           //刷新颜色缓存区
    glBegin(GL_LINES);  
    glVertex2f(0,0);  
    glVertex2f(0.8,0.8);  
    glEnd();  
    glFlush();                                //用于刷新命令队列和缓存区,使所有尚未被执行的OpenGL命令得到执行

}

运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
(3)三角形:
代码修改:

void display(void)
{

    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);    //设置清屏颜色 
    glClear(GL_COLOR_BUFFER_BIT);           //刷新颜色缓存区
    glBegin(GL_TRIANGLES);  
    glVertex2f(0,0);  
    glVertex2f(0.5,0.5);  
    glVertex2f(0.0,0.8);  
    glEnd();  
    glFlush();                           //用于刷新命令队列和缓存区,使所有尚未被执行的OpenGL命令得到执行
}

运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++
7.绘图色的设置
1)将绘制的图形修改成红色
代码修改:

glColor3f(1.0f, 0.0f, 0.0f);                 //设置为红色
glRectf(-0.1f, -0.1f, -0.2f, -0.2f);        //矩形

vs2010怎么用opengl,计算机图形学实验报告,windows,c++
2)将绘制的不同基本图元设为不同的颜色
代码修改:

glColor3f(0.5f, 0.6f, 0.2f);                 //设置为草绿色
    glBegin(GL_TRIANGLES);
    glVertex2f(0.0f,0.0f);
    glVertex2f(0.2f, 0.2f);
    glVertex2f(0.0f, 0.2f);
    glEnd();

运行结果:

vs2010怎么用opengl,计算机图形学实验报告,windows,c++

8.绘制几何图形
1 )更改标题栏,加上学号、姓名。
2)绘制两个以上基本几何形状。
3 )设置三种颜色。
代码修改:

#include <windows.h>
#include <gl/glut.h>
void display(void)
{

    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);    //设置清屏颜色 
    glClear(GL_COLOR_BUFFER_BIT);           //刷新颜色缓存区
    glColor3f(1.0f, 0.0f, 0.0f);                 //设置为红色
    glRectf(-0.1f, -0.1f, -0.2f, -0.2f);        //矩形
    //绘制直线
    glColor3f(0.0f, 1.0f, 0.0f);                 //设置为绿色
    glBegin(GL_LINES);
    glVertex2f(0.0f,0.0f);
    glVertex2f(0.3f, -0.2f);
    glEnd();
    //画三角形,x1、y1、x2、y2、x3、y3为三角形顶点坐标
    glColor3f(0.5f, 0.6f, 0.2f);                 //设置为草绿色
    glBegin(GL_TRIANGLES);
    glVertex2f(0.0f,0.0f);
    glVertex2f(0.2f, 0.2f);
    glVertex2f(0.0f, 0.2f);
    glEnd();
    glFlush();                              //用于刷新命令队列和缓存区,使所有尚未被执行的OpenGL命令得到执行
}
int WINAPI wWinMain(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(350,350);
	glutInitWindowPosition((glutGet(GLUT_SCREEN_WIDTH)-640)/2,
                       (glutGet(GLUT_SCREEN_HEIGHT)-480)/2);
	glutCreateWindow("学号 姓名");
	glutDisplayFunc(display);
	glutMainLoop();
	return 0;
}

运行结果:
vs2010怎么用opengl,计算机图形学实验报告,windows,c++

四、思考题

1.默认窗口在屏幕的什么位置?如果要改变窗口在屏幕的位置应该如何处理?如何调整窗口的大小?

答:默认窗口在屏幕的左上角,改变窗口的位置使用glutInitWindowPosition函数,传入目标窗口位置的左上角坐标;调整窗口大小使用glutInitWindowSize函数,传入窗口的长宽。

2.本实验中默认的绘图坐标原点在窗口中的什么位置?

答:在窗口的右上角。

3.如何修改背景颜色和绘图颜色?绘图颜色的顺序和位置有什么要求?

答:修改背景颜色使用glClearColor函数,此函数放在display()中,并且放在glClear()语句前面。绘图颜色修改使用glColor3f函数,放在glBegin()之前。

4.对于“#include <gl/glut.h>”,头文件应当放在哪个文件夹下?

这答:应当放在D:\vs2010\VC\include\gl\(根据自己的存放位置写)文章来源地址https://www.toymoban.com/news/detail-789055.html

到了这里,关于实验1 OpenGL图形编程入门(visualstudio2010)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenGL:VisualStudio2022配置OpenGL环境

    OpenGL撸了有一段时间了,一直没空好好捋一捋总结一下,尤其是OpenGL的环境配置,换个开发环境就要重新配一遍,其实也没多复杂,就是繁琐了点,做个说明文档方便以后配置。 这个不需要多讲解了,微软官网下VisualStudio自行安装,安装的时候注意勾选下面几项: SDK貌似是

    2024年02月07日
    浏览(44)
  • [Python从零到壹] 七十二.图像识别及经典案例篇之OpenGL入门及绘制基本图形和3D图

    十月太忙,还是写一篇吧!祝大家1024节日快乐O(∩_∩)O 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家

    2024年02月06日
    浏览(58)
  • vs2010旗舰版安装教程

    一、安装包链接 通过百度网盘分享的文件:VS2010 链接:https://pan.baidu.com/s/1vJWIRdJMqE7TgfBYGRrERQ 提取码:13tt 复制这段内容打开「百度网盘APP 即可获取」 (安装前请关闭电脑防火墙,杀毒软件) 1、解压VisualStudio2010安装包(没有解压缩软件的推荐用7-Zip) 2.找到 setup 文件,选择s

    2024年02月08日
    浏览(35)
  • VS2010命令行编译MFC

    运行cl,提示找不到mspdb.dll,如下图 找到mspdb100.dll的位置,拷贝到cl.exe同目录下,即 E:Program FilesVS2010VCbin 再次执行cl问题解决。 编译时要用到 链接时要用到 编译上面的MFC程序 执行命令 cl /c /D;_MBCS /EHsc MFC.cpp /c 只编译,不链接 D字符集 /EHsc捕获异常 Debug定义宏:_DEBUG Releas

    2024年02月05日
    浏览(38)
  • VisualStudio2022 Enterprise(vs2022)离线安装包下载

    官网下载地址 Create an offline installation - Visual Studio (Windows) | Microsoft Docs 下载文件后创建一个文件夹把“vs_Enterprise.exe”文件拷贝至目录下 管理员身份运行打开CMD、DOS命令窗口 Visual Studio Enterprise 组件目录链接: Visual Studio Community 工作负载和组件 ID | Microsoft Docs 切换至刚刚创建

    2024年02月06日
    浏览(65)
  • VS2008 VS2010 VS2015 VS2019不同版本的.sln 和 .csproj的区别

    1、 VS2008 .sln 文件 .csproj 文件 2、VS2010 .sln 文件 .csproj 文件 3、VS2015 .sln 文件 .csproj 文件 4、VS2019 .sln 文件 .csproj 文件

    2024年02月13日
    浏览(42)
  • VS2022 和 VS2010 C#控制台输出 Hello World

    最后,一定将【 ✔ 】将解决方案和项目放在同一个目录中(D)的对勾点上,如上图。这个小习惯,对于以后程序的维护有好处。 Console.WriteLine(\\\"Hello World\\\");   代码输入完成以后,可以通过以下3种方法来运行。 1 、在菜单栏上选择 “ 调试 ”-“ 开始执行(不调试) ” 命令。

    2024年02月06日
    浏览(50)
  • VS 2010编译Wireshark1.10.14

    说明 1. 为确保编译成功,最好让路径,目录名称,程序版本跟文中一样。 2. 选择 较低的1.10.14版来编译的原因是本版不需安装QT。 3. 选择VS2010来编译的原因是,官方的发行版也是用VS2010来编译的,为确保成功编译,选择与官方保持一致。 1.编译环境    1.1 Windows 7 Ultimate,

    2024年02月11日
    浏览(33)
  • VS2010 及以上版本如何设置 Fixedsys 字体?

    工作中需要使用 Visual Studio 2010(或以上版本) 的朋友,可能发现如果想设置以往版本中经典的 Fixedsys 字体(等宽字体),已经不能在字体设置中找到了,那么怎么才能让怀旧或习惯偏好的用户设置 Fixedsys 字体呢? 方法/步骤 在百度中搜索:fixedsys excelsior(fixedsys 字体的 T

    2024年02月12日
    浏览(64)
  • VS2010解决Microsoft Communications Control插件问题

    VS2010 解决 Microsoft Communications Control 插件问题 今天使用VS2010编写串口调试软件时苦苦寻找 Microsoft Communications Control 的插件,最后找到了,现做教程教大家如何安装。 下载 Active X 控件 下载站 https://www.ocxme.com/ 搜索MSCOMM32.OCX下载解压; 32位 存放在 C:WindowsSystem32 目录下; 64位

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包