`
erikchang
  • 浏览: 50795 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

VC++ OpenGL开发系列 概论

    博客分类:
  • vc
阅读更多

      如何描绘空间上的一个物体,在图形学上有很多方法,OpenGL通过将物体抽象为笛卡尔坐标系下点、线段、多边形的集合,再将点、线段、多边形等通过在函数glBegin()与glEnd()之间的一系列顶点数据,绘制出图形还原物体。

     OpenGL通过glBegin()与glEnd()函数完成点、线、三角形、四边形及多边形的绘制,glBegin(GLenum)函数原型如下:

   

glBegin(GLenum)|
...
glEnd()

 

参数GLenum有以下10个参数:

GL_POINTS:表示将要绘制点

GL_LINES:表示函数开始绘制线

GL_LINE_STRIP:表示函数将开始绘制折线

GL_LINE_LOOP:表示函数将开始绘制闭合曲线

GL_TRIANLES:表示函数开始绘制三角形

GL_TRIANLE_STRIP:表示函数将开始绘制三角形片

GL_TRIANLE_FAN:表示函数将开始绘制三角形扇

GL_QUADS:表示函数开始绘制四边形

GL_QUAD_STRIP:表示函数开始绘制多边形片

GL_POLYGON:表示函数绘制多边形

1、绘制二维的点:

glBegin(GL_POINTS);
glVertex2f(0.0f,0.0f);
glEnd();

 

在初始化OPENGL运行环境后,如上代码,将绘制一个2维的点,点的坐标为(0,0),OpenGL中绘制的二维的点实际和三维点一样,不过二维的点是将笛卡尔坐标的z轴定位在原点,二维点的坐标也就是(x,y,0)

2、绘制线:

glBegin(GL_LINES);
glVertex2f(0.0f,0.0f);
glVertex2f(0.01f,-0.4f);
glEnd();

 

OpenGL的任何图形都是基于点,如上绘制2个点,链接成一个直线,当然绘制以后可能出现锯齿,这样就需要进行一下反走向处理。

GL_LINES:绘制两条线段

GL_LINE_STRIP:绘制连续折线

GL_LINE_LOOP:绘制闭合曲线

3种绘制方式会产生不同的效果,具体在vc环境下测试即可看见。

3、绘制面

绘制三角形:

glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f,0.0f);
glVertex3f(1.0f,0.0f,0.0f);
glVertex3f(0.0f,1.0f,0.0f);
glEnd();

 

如上的代码将会在笛卡尔坐标中根据三个点绘制一个三角形,三角形的三个点坐标分别为(0,0,0)、(1,0,0)、(0,1,0)

分享到:
评论

相关推荐

    vc++OpenGL应用程序开发

    在IT领域,OpenGL是一种强大的图形库,用于渲染2D、3D矢量图形,而VC++(Visual C++)是Microsoft开发的一种集成开发环境,常用于编写Windows平台的应用程序。结合"vc++OpenGL应用程序开发"这个标题和描述,我们可以...

    VC++OpenGL例子下载.rar

    VC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC++OpenGL例子下载.rarVC...

    vc++ OpenGL战斗机

    vc++和OpenGL结合开发出的一个战斗机模型,是学习OpenGL的好的程序案例

    VC++ OpenGL三维地形漫游

    "VC++ OpenGL三维地形漫游"项目就是这样一个例子,它展示了如何在VC++中构建一个能够展示并探索三维地形的应用。 首先,我们需要理解VC++6.0环境。这是一个经典的Microsoft Visual C++版本,用于编写Windows应用...

    VC++ OPENGL应用程序开发

    而VC++(Microsoft Visual C++)是微软公司提供的一个集成开发环境,支持创建Windows应用程序,包括使用OpenGL进行图形渲染。本实例主要探讨如何在VC++环境中利用OpenGL进行程序开发。 在VC++中使用OpenGL,首先...

    VC++OpenGL高级编程与可视化系统开发

    8个源代码,属于Opengl高级编程与可视化系统开发(系统开发篇)的源码,包括:飞行、飞机飞行、三维场景编辑器,三维地形模拟、模拟cs游戏、粒子系统等多个软件

    VC++ OpenGL三维物体建模--雨伞的绘制(含详细注释)

    在"Visual C++ OpenGL应用程序开发第五章"中,你将看到如何结合VC++的IDE和OpenGL库来编写、编译和运行程序。这些注释会指导你了解每一步的目的,帮助理解源码背后的逻辑。 此外,程序可能还包含了错误处理和用户...

    基于vc++的OpenGL编程技术

    基于vc++的OpenGL编程技术.初步认识并了解OpenGL.

    VC++ OpenGL 微软官方例子

    微软官方OpenGL的例子,使用VS2005+MFC。在编译之前需要先下载OpenGL库文件,将glut.lib和glut32.lib放到静态函数库所在文件夹(例如C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib),将glut.dll和...

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

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

    VC++OpenGL源码 详解

    本压缩包“VC++OpenGL源码 详解”显然包含了使用VC++开发OpenGL应用的相关源代码,并且每行代码都有详细的注释,旨在帮助初学者理解并学习OpenGL编程。NeHe教程是一个非常著名的OpenGL教学资源,它提供了很多基础到...

    nurbs 曲面大全 vc++ opengl

    在VC++(Visual C++)编程环境中,开发者可以利用OpenGL库来实现NURBS曲面的渲染和交互。OpenGL是一个跨语言、跨平台的编程接口,专门用于生成2D和3D图形。它提供了一系列的函数调用来控制图形硬件,包括绘制NURBS...

    VC++ OpenGL 轨迹球实现

    OpenGL是一种强大的图形库,常用于...总的来说,VC++结合OpenGL和轨迹球技术,为3D图形编程提供了丰富的交互性,使得用户可以自由地查看和操纵3D模型,这对于3D建模、游戏开发以及科学可视化等领域具有重要的应用价值。

    VC++ opengl画球体

    本篇文章将详细讲解如何在VC++环境下利用OpenGL库来绘制球体,这对于学习计算机图形学的学生来说是非常重要的实践操作。 首先,你需要了解OpenGL的基本概念。OpenGL是一个基于状态机的API,它的核心部分包括顶点...

    贝塞尔曲面 vc++ opengl

    在VC++中结合OpenGL库进行贝塞尔曲面的绘制,可以实现动态的、交互式的3D图形展示。 贝塞尔曲面的基础是贝塞尔曲线,由皮埃尔·贝塞尔(Pierre Bezier)于1962年提出。它是一种参数化的插值曲线,可以通过控制点来...

    VC++opengl 赛车游戏

    【VC++与OpenGL结合开发赛车游戏】 在计算机图形学领域,OpenGL是一个强大的、跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形。它常被用于游戏开发,尤其是对于需要高质量视觉效果的赛车游戏。而Visual C++...

    VC++ OpenGl 应用程序开发 ;一个列子

    在本案例中,我们将探讨如何在Visual C++(简称VC++)环境中使用OpenGL进行应用程序开发。 首先,我们需要设置开发环境。在VC++中,你可以选择使用MFC(Microsoft Foundation Classes)或Win32 API来创建OpenGL应用...

    基于VC++的OpenGL编程.pdf

    本文档主要围绕在VC++环境下使用OpenGL进行编程的主题进行介绍,涵盖了OpenGL的一些基础函数和基本概念,以及如何在VC++中设置OpenGL环境,并进行简单的图形渲染。以下是详细的知识点: 1. OpenGL基础 OpenGL(Open...

    基于VC++ opengl的水波纹模拟系统

    基于VC++ opengl的水波纹模拟系统,实现了鼠标点击出现水波涟漪,场景真实。

    vc++ 和 openGL 做的 3D魔幻场景 非常炫

    VC++(Microsoft Visual C++)则是一款集成开发环境,常被用来编写C++代码,包括与OpenGL接口的程序。将这两者结合,开发者可以利用C++的强大编程能力与OpenGL的高效图形处理功能,打造出令人惊叹的3D魔幻场景。 在...

Global site tag (gtag.js) - Google Analytics