openGL guide 中文版 |
您所在的位置:网站首页 › 谷歌相机启用opengl › openGL guide 中文版 |
中文版
Document Change History 版本号 日期 责任人 修改 0.9 2007年2月21日 Ehart Beta 版 1.1 2008年1月31 日 Ehart Feb 2008 版
前言 在OpenGL SDK 演示程序中提供了两个方面的帮助。首先,本程序演示了怎么去使用OpenGl API以及如何访问新硬件的功能扩展库。其次,SDK演示程序在于展示一些集成在同一个应用程序中有趣而独特的技术。在本指南中着重介绍了使用API 的方法。此外,本书中介绍的API可以用在更加复杂的效果上,并且为其他的文档提供了如何在OpenGL进行渲染的依据。
更新SDK的版本可在NVIDIA公司的官方网站上面找到:http://developer.nvidia.com
SDK 的结构 SDK的文档分为四个部分。第一部分是对文档下面需要用到的概念进行解释,这个目录提供了SDK中的所有需要用到的词汇,包括:模型,图像,数学以及示例代码。SDK中的第二部分是资源文件,包括共享数据文件(如:模型和纹理)。第三部分是介绍外部的库,包括支持窗口管理和文件访问等功能的常用库。第四章是一些示例代码,所有的代码都可以在一个解决方案文件中实现。 Common Code本节意在将SDK中需要了解基本的概念列出来,并且在下面的大多示例中都会出现的一些名词。这样做的目的是提供一个工具让程序员更容易熟悉不同的代码。这些关键字都会放在nv这个命名空间下,以防止和其他命名的冲突以及方便重用。但是有一部分在旧的SDK中没有使用的关键字被取出来,并没有合并在标准命名空间中。 nvImagenvImage库是一个为图像加载纹理的工具。可支持png、dds、hdr三种图片格式。它提供大量的纹理,如:压缩纹理、立方体贴图、预生成mip贴图、三维贴图、以及位图贴图等。这些贴图的接口会返回一个glTexImage的指针。nvImage库作为一个共享的库可以被所有的代码所用。 nvModel nvModel模型图是用作加载网格数据的工具。当前nvModel只支持obj格式的多边形对象。模型库支持从文件中读取向量坐标(normals 也可以翻译为法线)以及纹理坐标,并且支持自动生成矢量空间图。模型库将网格编译为顶点数组,并且会产生一个索引列表支持点、边、三角形以及四边形等模型。和nvImage一样,nvModel也是一个共享库。 nvMath nvMath是一个头文件库,提供了3D 应用程序所需要的基本数学库,分为:nvMath.h、nvVector.h(向量)、nvMatrix.h,三个文件,这些文件提供了向量模板、矩阵以及四元素的类。这些功能和类按照GLSL和Cg的习惯进行设计, 尽可能地使得源代码和渲染代码相匹配。 nvWidgetsnvWidgets是实时模式用户界面库,为用户减少了启动和交互的代码量,并且使得用户能更轻松地在代码中查看关键部分。nvWidget并不提供复杂的GUI界面工具,只是为简单的界面提供支持,使得简单的程序更容易理解。 GLEWGlew是OpenGL扩展的工具,它的代码不是由NVIDIA公司提供的,但是在附带的SDK版本中有少许修改以支持NVIDIA最新的扩展。GLEW中对该库的头文件有许可和版权的限制。本SDK版本内的Glew的版本是1.5,对glProgramV ertexLimitNV的入口点做了些许修改。 GLEW查询和初始化OpenGL扩展,提供了一个机制和核心以上版本支持平台的ABI定义。GLEW解析扩展到生产E规格的扩展库的来源。SDK只包含生成的源,而不是生成脚本。 要获得更多关于Glew 的信息以及生成的脚本请访问官方网站:ttp://glew.sourceforge.net/ External Libraries (扩展库) 扩展库包括不是有英伟达公司所提供的库资源。对于所有的扩展库在文件的开头都标明了其公司以及版权。这些扩展库被许多项目用作共公库,并可以从SDK中替换为新的版本。这些库的头文件、库、以及dll所有的版本都已经被SDK测试过,并且为它们提供方便的入口,这些在SDK中提供的扩展库有: Libpng – PNG库 Libpng 主页: http://www.libpng.org/pub/png/libpng.html Zlib – 压缩库 Zlib 主页: http://www.zlib.net/ GLUT –OpenGL实用工具包管理的OpenGL窗口 对于zlib 和 libpng ,由the GnuWin32 project 工程 编译好的二进制文件请访问http://gnuwin32.sourceforge.net/.
Media Files(资源文件) 由SDK提供的外部资源如纹理文件等可以在下面提供的清单中找到 Paul Debevec’s Light probe images - http://www.debevec.org/Probes/ rnl_cross.dds grace_new_cross.hdr SpeedTree - http://www.speedtree.com/ FraserFirNeedles_MD_1.dds FraserFirNeedles_MD_1_Normal.dds
Cg 2.0 完整的SDK自带的CG2.0的安装程序。此版本支持GeForce 8000系列GPU(图形处理器)的新功能。此版本已经有资格与此SDK中的样本。 Running the Samples在SDK中的大多数样品需要GeForce 8000系列或更高版本的硬件。在许多情况下, 它们可以运行软件emulati在旧的硬件上(如有必要)。这种支持可以启用由NVemulate工具提供。 http://developer.nvidia.c om/object/nvemulate.html Samples HDR
HDR示例演示了如何使用新的GeForce 8000系列动态场景的渲染和显示功能。该示例使用GL_EXT_packed_float和GL_EXT_texture_shared_exponent扩展优化存储浮点帧缓存和纹理。该示例还演示了如何使用这些和其他动态范围格式GL_EXT_framebuffer_multisample。最后,除了曝光操作中经常使用的HDR渲染,此示例实现的效果接近人们经常会看到明亮的物体发出的光线流。 Features used GL_ARB_vertex_program GL_ARB_fragment_program GL_EXT_framebuffer_object GL_EXT_framebuffer_multisam GL_EXT_framebuffer_blit GL_NV_framebuffer_multis OpenGL version 2.0
控制选项:
Control Action Right Mouse Button Application menu Left Mouse Button ject Rotate ob Shift + Left Mouse But ton t of the camera Pan object in fron Control + Left Mouse Button he camera Dolly the object toward/away from t Escape Quit the sample W Toggle rendering in wireframe A Toggle MSAA 4x CS AA or supersampling F Toggle using a fragment program C CSAA 16x only (FBO size factor = 1 and no kernel filter used) S CSAA 16x with supersampling (FBO size factor = 2x + kernel filter) - Cycle backward through the HW MSAA/CSAA modes for supers ampled FBO + Cycle forward through the HW MSAA/CSAA modes for supersampled FBO 9 Decrease the supersample size factor 0 ctor Increase the supersample size fa 1 Select single bilinear downsample technique 2 Select five bilinear tap downasmple technique 3 Select advanced downsample technique Space Toggle continuous animation of the object
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |