VC++6.0中OpenGL应用程序开发

VC++6.0下的C++图形界面程序设计基础 MFC程序例子     为了完成一个作业,需要学c++的MFC(虽然它年事已高……)在学java前我是学过 照着书(当年学C++的教材)(清华大学出版社 邵兰洁主编的《C++面向对象程序设计》)写了第一个Demo出来: 书上介绍的很详细:步骤如图所示: 1.设计长方形类 构建这两个文件 MyRectangle.cpp  #include"StdAfx.h" #include"MyRectan... 阅读详情

 

1. Win32控制台方式

建立Win32 控制台程序,在头文件中加入

         #include <windows.h> 

         #include <wingdi.h> 

         #include <GL/gl.h> 

         #include <GL/glu.h >  

         #include <GL/glaux.h>

2. MFC方式

(1)采用VC AppWizard向导创建空的MFC(EXE)工程框架,整个过程总共6步,值得指出的是一般情况下在向导的第1步选择创建工程的模式都为单文档,以下的步骤中假设创建的工程名为First.

(2)设置所创建工程的Link属性。打开工程/设置/连接,在对象/库模块中加入opengl32.lib glu32.lib glaux.lib.

(3)在视图类(View)的头文件(Firstview.h)中加上:

        #include <GL/gl.h>

        #include <GL/glu.h>

        #include <GL/glaux.h>

(4)在视图类的实现文件Firstview.cpp中处理成员函数PreCreatWindow(),加上如下代码:

      cs.style |=WS_CLIPISBLINGS|WS_CLIPCHILDREN|CS_OWNDC;

     用来设置OpenGL绘图窗口的风格

(5)在视图类的实现文件Firstview.cpp中处理成员函数OnCreate(),来创建OpenGL的绘  图设备。OpenGL绘图的机制是:先用OpenGL的绘图上下文Rendering Context(简称为    RC)把图画好,再把所绘结果通过SwapBuffers()函数传给Window的绘图上下文Device    Context(简称为DC)。要注意的是,程序运行过程中,可以有多个DC,但只能有一个       RC。因此当一个DC画完图后,要立即释放RC,以便其他的DC也使用。在后面的代  码中将有详细解释。

int CFirstView::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

       if (CView::OnCreate(lpCreateStruct) == -1)

           return -1;

      // TODO: Add your specialized creation code here

       InitializeOpenGL();

       return 0;

 }

void CFirstView::InitializeOpenGL()

{

       m_pDC=new CClientDC(this);       // 创建OpenGL设备描述表

       ASSERT(m_pDC!=NULL);

超精简vc++6.0配置OPENGL 详细讲解了如何从下载、安装VC 直到配置OPENGL并测试 同时里面掺杂了对于这些过程中中常见问题的解决,希望对大家有用处。 阅读详情

相关推荐

vc++6.0 配置opengl

vc++6.0 配置opengl 坑:解决安装OpenGL时程序运行提示glut32.dll丢失的问题 在安装OpenGL的时候,很多同学都出现了一个问题,在按照教程配置好OpenGL后运行测试程序,编译通过,但运行时出现”计算机丢失glut32.dll文件“,可C:\WINDOWS\system 32中有这个文件。找了很多解决方法都不行,后来发现是与电脑系统有关,有的同学是64位操作系统,所以应...

weixin_46037153的博客 3570

VC++6.0玩OpenGL(一)

OpenGL环境配置

天命王子的博客 5971

为VC++ 6.0 配置OpenGL 环境 [图形学]

一、下载并安装glut库        opengl的glut库 GLUT不是OpenGL所必须的,但它会给学习带来一定的方便,推荐安装。     Windows环境下的GLUT下载地址:(大小约为150k)     http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip     Windows环境下安装

11:00 啦 2111

在VC++6.0中使用OpenGL读取STL文件的步骤

OpenGL(Open Graphics Library)是一个跨语言、跨平台的编程接口,用于渲染2D和3D矢量图形。其设计兼容多种计算机环境,从个人计算机到工作站,都能提供高性能的图形处理能力。STL(Stereolithography)文件格式最初与立体光固化快速成型技术一起被发明,后来被广泛用于3D打印和计算机辅助设计(CAD)。它是一种标准的数据交换格式,用于描述三维对象的几何形状。STL文件描述了表面的三角形网格,这些三角形网格可以近似地表示物体的表面。

weixin_33308579的博客 1084

VC++ 6.0与OpenGL实现的四视窗三维动态图

OpenGL(Open Graphics Library)是一个跨语言、跨平台的应用程序编程接口(API),用于渲染2D和3D矢量图形。自1992年发布以来,它已成为图形编程领域中最重要的标准之一。OpenGL作为硬件抽象层,使得开发者可以使用一致的方法访问各种图形硬件的功能。VC++ 6.0(Visual C++ 6.0),是微软公司在1998年发布的集成开发环境(IDE),它不仅是Visual Studio家族的一个重要成员,而且在Windows应用和系统开发领域有着举足轻重的地位。

weixin_42103128的博客 848

基于VC++6.0的OpenGL三维变换与投影实验

OpenGL(Open Graphics Library)是一种跨平台、开放标准的图形编程接口,广泛应用于三维图形渲染、游戏开发、虚拟现实、科学可视化等领域。它提供了一组与硬件无关的底层图形操作函数,使开发者能够直接控制GPU进行高效图形渲染。自1992年发布以来,OpenGL不断演进,支持现代图形硬件特性,如着色器(Shader)、纹理映射、帧缓冲等。其跨平台优势使其可在Windows、Linux、macOS甚至嵌入式系统中运行,成为行业标准之一。

weixin_36288992的博客 1197

基于vc6.0的OpenGL小动画代码

实现彩虹,小船移动,星星闪烁和流星的小动画

vc 6.0 OPENGL例程

vc 6.0 OPENGL例程,CUBE的动画实现

OPEN gl小程序代码

做程序的时候做的,OPENGL小程序,控制小棍转动

STM32H750实战:如何用CubeMX配置NAND Flash时序(附常见问题排查)

本文详细解析了STM32H750通过CubeMX配置NAND Flash时序的实战技巧,包括硬件连接、时序参数计算与优化策略,以及常见问题如RGB屏幕干扰、多片选冲突的解决方案。特别针对NAND Flash的时序配置和抗干扰设计提供了实用代码示例和优化建议,帮助开发者提升系统稳定性和性能。

weixin_29176179的博客 363

Zemax非序列模式微透镜阵列仿真:从建模到优化完整指南

光线追迹是光学系统仿真的核心技术,其原理基于几何光学与物理光学的光线传播模型,通过精确计算光线在光学元件中的折射、反射与散射路径,实现对系统性能的预测与评估。在微透镜阵列等复杂多通道光学系统中,传统序列模式因光线路径受限而难以准确模拟串扰与杂散光,非序列光线追迹技术则凭借其灵活的空间传播机制成为关键手段。该技术广泛应用于激光整形、光束匀化、3D传感及光场成像等领域,能够有效支持阵列结构设计与优化。Zemax非序列模式为微透镜阵列仿真提供了完整的建模、优化与公差分析流程,是光学工程师进行复杂系统设计的核心工具

weixin_29967003的博客 324

雷达原理习题答案【西电】

  目前教材用的是陈老师新版的,但是,我发现课后题有一部分是之前某本书里的。答案如下【建议参看原题→查阅答案】 【原题点这里!!点这里!!】 目录跳转功能目前好像只支持网页版 文章目录% 第一章、第二章% 第三章% 第四章% 第五章% 第六章% 第七章% 第八章 % 第一章、第二章 % 第三章 % 第四章 % 第五章 % 第六章 % 第七章 % 第八章 ...

薛定谔的壳的博客 1万+

Coze工作流实战:Coze一键生成沉浸式历史故事视频

【coze工作流实战】一键生成火爆的沉浸式历史故事视频!短短3分钟,顶替你3天的工作量!

bickys的博客 1004

AI智能体赋能Cypress:自动化前端测试的新范式

自动化测试是现代软件工程保障质量的核心实践,其原理是通过脚本模拟用户操作,对软件功能进行验证。随着大语言模型(LLM)和智能体(Agent)技术的发展,测试自动化正迈向智能化新阶段。智能体能够理解自然语言描述的测试需求,并自主规划、执行测试步骤,这为应对前端UI频繁变更、测试用例维护成本高等挑战提供了新思路。在工程实践中,将Cypress这一流行的前端测试框架封装为智能体可调用的标准化技能(Skill),是实现这一愿景的关键。通过设计清晰的交互协议和状态管理机制,智能体可以像人类测试工程师一样“感知”页面状

weixin_33726318的博客 686

MATLAB实战:手把手教你实现Gardner环路位同步(附完整代码)

本文通过MATLAB实战,详细讲解了Gardner环路位同步算法的原理与实现。内容涵盖插值滤波器、定时误差检测、环路滤波器与数控振荡器等核心模块,并提供完整代码和调试技巧,帮助读者掌握数字通信中关键的符号定时同步技术。

weixin_29048775的博客 174

(实战)[re:Invent 2018]-001:赛道分析-(致敬1024)

打印log

Rainbow 2778

AUTOSAR OS Counter讲解

Counter(计数器)以tick为单位记录操作系统中发生了多少“事情”。tick(滴答)是一个抽象的单位。时间,例如毫秒,微妙,分钟等,然后计数器计算过去了多少时间旋转,例如以度或分钟为单位,计数器计算物体旋转了多少按钮按下,计数器计算按钮按下多少次错误,计数器计算错误发生的频次中断(有时是任务)用于驱动一个计数器。该驱动程序负责进行正确的OS API调用来滴答计数器,或者告诉OS计数器已经滴答到一个所需的值。

酒无忧的博客 1068

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 测试jsp+servlet+javaBean
下一篇: 在apache http server中配置虚拟机和虚拟路径的方法
skilledprogrammer
博客等级 码龄19年 78粉丝 53原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值