`
tanzek
  • 浏览: 53000 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

OpenGL in VC++

阅读更多
首先看一个简单的例子:
 1 #include <windows.h>
 2 #include <math.h>
 3 #include <gl/gl.h>
 4 #include <gl/glu.h>
 5 #include <gl/glaux.h>
 6 
 7 const int screenWidth = 640;
 8 const int screenHeight = 480;
 9 GLdouble A, B, C, D;
10 
11 void myInit(void)
12 {
13     glClearColor(1.01.01.00.0);
14     glColor3f(0.0f0.0f0.0f);
15     glPointSize(2.0);
16     glMatrixMode(GL_PROJECTION);
17     glLoadIdentity();
18     gluOrtho2D(0.0, (GLdouble)screenWidth, 0.0, (GLdouble)screenHeight);
19     A = screenWidth / 4.0;
20     B = 0.0;
21     C = D = screenHeight / 2.0;
22 }
23 
24 void myDisplay(void)
25 {
26     glClear(GL_COLOR_BUFFER_BIT);
27     glBegin(GL_POINTS);
28     for(GLdouble x=0; x<4.0; x+=0.005)
29     {
30         GLdouble func = exp(-x) * cos(2 * 3.14159265 * x);
31         glVertex2d(A * x + B, C * func + D);
32     }
33     glEnd();
34     glFlush();
35 }
36 
37 void main(int argc, char** argv)
38 {
39     auxInitDisplayMode(AUX_SINGLE|AUX_RGBA); 
40     auxInitPosition(00500500); 
41     auxInitWindow("simple"); 
42     myInit();
43     auxMainLoop((AUXMAINPROC)myDisplay);
44 }
运行结果如下图所示:
FirstDemo.JPG

在上面的例子,透露着一个简单的OpenGL操作框架:
void main()
{
   InitWindows();  
//OpenGL中初始化窗口
   RegisterFunc(MyFunc);  //注册回调函数
   MyInit();    //自定义初始化过程
   DoDraw();    //画数部分
}

其实以上的例子来自于《计算机图形学——用OpenGL实现(第2版)》的内容,但是在原来的程序中,使用的是glut函数,即来自于OpenGL的实用工具库。但是在VC++中,并不自带此辅助库,但在它的辅助库中,有相应的aux函数,因此,上例使用的都是辅助库中的aux函数。
分享到:
评论

相关推荐

    在Vc下使用OpenGL

    glutCreateWindow("OpenGL in VC++"); // 其他初始化代码... glutDisplayFunc(display); // 设置显示回调函数 glutMainLoop(); return 0; } ``` `display` 函数是你自定义的绘图函数,里面包含你的OpenGL...

    OpenGL在VC++6.0下的设置

    ### OpenGL在VC++6.0下的设置 #### 知识点概述 在开始使用Visual C++ 6.0(简称VC++6.0)进行OpenGL编程之前,需要完成一系列的环境配置工作。这些准备工作包括但不限于将必要的OpenGL库文件放置到正确的路径下、...

    基于VC++的OpenGL编程讲座 刘涛

    OpenGL最初由Silicon Graphics Inc. (SGI) 开发,并自1992年以来不断发展和完善,成为了业界广泛接受的标准之一。 **OpenGL的主要特点**: 1. **平台独立性**:OpenGL是一个开放标准,独立于操作系统和硬件平台,...

    VC++配置OpenGL开发环境-16.06.13

    在Windows系统上,使用Microsoft Visual C++(VC++)作为开发工具时,需要进行一些配置步骤才能搭建起OpenGL的开发环境。本教程将详细介绍如何在VC++中配置OpenGL,并提供64位库文件供您使用。 首先,我们需要安装...

    OpenGL及其在VC_下的开发应用

    OpenGL(全称“开放式图形库”)是一种广泛使用的跨平台图形应用程序接口(API),由Silicon Graphics Inc. (SGI) 开发,并逐渐成为图形编程领域的工业标准。OpenGL提供了一套标准化的命令集合,用于绘制2D和3D图形...

    10_02.rar_fractal_opengl 分形_scenery in opengl_scenery opengl_vc

    在本项目中,我们主要探讨的是如何利用分形算法与OpenGL技术来模拟自然风景,并在VC++6.0集成开发环境中实现这一目标。分形是一种数学概念,它体现了自然界中许多自相似的复杂几何形状,如云朵、山脉、树木等。通过...

    opengl画旋转多边形

    // must/should match the number of strings in argv glutInit(&argc;, argv); //初始化GLUT库; glutInitWindowSize(700,700); //设置显示窗口大小 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); //设置显示...

    OpenGL开发三维CAD源码

    4. `inc`:包含头文件的目录,这些头文件定义了类、函数和常量,为项目的源代码提供接口声明。 5. `glContext`:与OpenGL上下文相关的代码,用于创建和管理OpenGL渲染环境。 6. `DockTool`:可能是一个实现界面...

    OpenGL及其基于VC__6_0的开发

    OpenGL最初由Silicon Graphics Inc.(SGI)开发,作为其图形工作站上的IRIS GL的一种替代方案。随着技术的发展,OpenGL被设计成可以在多种平台上运行,并且与不同的操作系统和硬件兼容。 ##### 1.2 OpenGL与DirectX...

    OpenGL及其基于VC6.0的开发

    它最初由SGI(Silicon Graphics Inc.)为图形工作站开发的IRIS GL发展而来,随后为了实现跨平台移植而被标准化为OpenGL。OpenGL是一种与硬件、窗口系统和操作系统无关的编程接口,这意味着开发者可以在不同的平台上...

    opengl开发

    ### OpenGL开发知识点详解 #### 一、OpenGL概述 ##### 1.1 OpenGL的概念 OpenGL(Open Graphics Library)是一种...通过上述步骤,开发者可以利用VC++6.0开发出高性能的OpenGL应用程序,实现在不同平台上的无缝移植。

    基于VC_的OpenGL三维应用程序的设计

    ### 基于VC++的OpenGL三维应用程序的设计 #### 一、OpenGL概念及工作方式 OpenGL(Open Graphics Library)是一种跨平台的API(Application Programming Interface,应用编程接口),用于渲染二维和三维矢量图形。...

    Programming-Using-OpenGL-in-VCPP.rar_Windows编程_Visual_C++_

    本资源"Programming-Using-OpenGL-in-VCPP.rar"似乎是一个包含教程的压缩包,专门介绍如何在VC++环境下使用OpenGL进行编程。 1. **OpenGL基础知识**:OpenGL是一个跨语言、跨平台的图形库,由Khronos Group维护。它...

    基于VC_的OpenGL三维动画仿真及场景漫游的实现

    综上所述,基于VC++和OpenGL的三维动画仿真及场景漫游系统为用户提供了一种沉浸式的虚拟体验。通过精心设计的场景建模、逼真的蓝天白云模拟、精确的目标靶绘制以及复杂的导弹实体运动控制,再加上流畅的视点漫游技术...

    kukok

    OpenGL是一种强大的图形编程接口,由 Silicon Graphics Inc.(SGI)开发,并且现在由Khronos Group维护。它被广泛用于创建2D和3D图形应用程序,包括游戏、科学可视化和工程设计等领域。在VC++6.0环境下,OpenGL可以...

    视化系统开发与源码精解目录

    它由 Silicon Graphics Inc.(SGI)于1992年创建,现在由 Khronos Group 维护。OpenGL 提供了一套标准的接口,允许程序员绘制复杂的3D图像,并且广泛应用于游戏开发、科学可视化、工程设计等领域。 在OpenGL中,...

Global site tag (gtag.js) - Google Analytics